[Updated 05/08/2011] Adventure Game Demo

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
[Updated 05/08/2011] Adventure Game Demo
by on (#75769)
Update
I have tightened up the controls, redone several of the tiles, added zombies, AI, damage, player attacks and enemy deaths. Give it a try :D

Also updated the screenshot.

ROM Download (iNES 1 Format)

Original Post
I'm back again with another demo! Yay! I really learned a *lot* from my attempt at a side-scrolling space shooter. I have now started work on a side-scrolling platformer adventure / RPG type thingy (think Zelda II, Faxanadu).

Don't look now Tokumaru, it's a flip-screen game :D

The map tool chain and graphics content pipeline are just about complete. Object-to-background collision is implemented, as is jumping. Use the D-Pad to move, A to jump. When you hit the edge of the screen you will go to the next room.

All graphics, tile definitions and everything else for each screen is loaded between screens (after the pallet fade), so there is a ton of flexibility in the engine graphically. The map itself is edited with a generic GUI application (TilEd) and a Python script builds the data ROM banks from that. The map is 32x32 screens (the size of the Metroid map) and will take about 128KB of ROM if half of the screens are used (which is higher than Metroid's ratio, I think). I am really excited about this project!

I would really like some input on how the controls of the character feel, especially acceleration, deceleration and jumping. Note that the room layouts are not final or anything, just for testing.

ROM Download (iNES 1 Format)
Image

by on (#75770)
playing using a real nes controller... the character feels too heavy imo.
Nice job on the graphics! :)
Re: Adventure Game Demo
by on (#75772)
If you can, I suggest that you let scroll between (horizontally contiguous) screens that share the same tileset/palette (like Faxanadu). It would really add a lot to the game's sense of place/visual continuity. (If you're clever you could have flip-scrolling between areas with marginally different tilesets/palettes.)

qbradq wrote:
I would really like some input on how the controls of the character feel, especially acceleration, deceleration and jumping. Note that the room layouts are not final or anything, just for testing.

The character does have a nice inertial feel, but this is ruined by the fact you can turn around on a dime without the slightest bit of skidding.

Also, you may want to consider not having ceilings affect the character's y-velocity (like Zelda 2 and Contra). This would make platform easier when ceilings get in the way. For instance, in that screenshot right there, jumping to that top platforming from the one two blocks lower is a bit annoying because of the ceiling.

Also, silly complaint, but I noticed that when the character hits the bottom edge of the screen he starts standing on it:

Image

by on (#75773)
Wow, thanks for all the feedback!

Quote:
unregistered
Posted: Thu Mar 24, 2011 3:22 pm    Post subject:
playing using a real nes controller... the character feels too heavy imo.
Nice job on the graphics!


Do you mean when walking or jumping?


Quote:
The character does have a nice inertial feel, but this is ruined by the fact you can turn around on a dime without the slightest bit of skidding.

Also, you may want to consider not having ceilings affect the character's y-velocity (like Zelda 2 and Contra). This would make platform easier when ceilings get in the way. For instance, in that screenshot right there, jumping to that top platforming from the one two blocks lower is a bit annoying because of the ceiling.


That's funny, those are "features" I put in because I thought thry would feel more responsive. They are getting on my nerves too. I got the ideas from TMNT, but now that I think about it those things annoyed me in tuat game too :oops:

Quote:
Also, silly complaint, but I noticed that when the character hits the bottom edge of the screen he starts standing on it:


That's a bug. Thanks foe pointing it out! I should not be setting the "standing" flag when I hit the bottom on the screen.

by on (#75785)
I really like the feeling when jumping around. I played the demo for like 10 minutes! Perhaps some small amount of "skidding" when turning around like RT-55J said. But not much at all, that would be annoying.

The only thing that can be annoying is that when jumping up, and when you miss the platform on the screen up, and you fall down again, there are much palettefading/black. But still it feels much better than in Battle Kid! Perhaps it's beacuse you added some gravity to the game. I have always had problem with BK and it's non-gravity gameplay.

Yeah, and the graphics looks really nice (even though much of the backgrounds are Zelda II?). This could definitly be a cool game. Just add some music and sfx's, some cool enemies, cool weapons, and some really awesome bosses! Drooling!

by on (#75793)
Quote:
Perhaps some small amount of "skidding" when turning around like RT-55J said. But not much at all, that would be annoying.


Working on this now :D

Quote:
The only thing that can be annoying is that when jumping up, and when you miss the platform on the screen up, and you fall down again, there are much palettefading/black


I know. I am going to add ladders soon for vertical movement. This will make the level design much less convoluted and should help mitigate this issue.

Quote:
Yeah, and the graphics looks really nice (even though much of the backgrounds are Zelda II?). This could definitly be a cool game. Just add some music and sfx's, some cool enemies, cool weapons, and some really awesome bosses! Drooling!


Thank you for the encouragement! That means a lot to me. I will need help with the music I am afraid. I am not much of a composer. I am using several games as reference on how to create the graphics. The bricks and columns were based on Zelda II, the windows and recessed areas were inspired by CV / CVIII, the player sprite was based on the main character from Battle of Olympus and Faxanadu.

When I say "based on" I don't mean I ripped the patterns and modified them. I mean I studied the patterns in detail to see how they were structured, then created my own patterns using a similar structure.

Except the columns, those are almost pixel-for-pixel. There's only so many ways you can arrange vertical stripes with a depth-of-field effect using three colors :D

by on (#75795)
Congratulations on that, but I think you should increase the initial speed of jumps. Rignt now it feels "sluggish". Just a suggestion.

by on (#75796)
Bregalad wrote:
Congratulations on that, but I think you should increase the initial speed of jumps. Rignt now it feels "sluggish". Just a suggestion.


I feel that too, but right now it's a trade-off between how controllable the jump height is and how fast the initial jump is. I'll be tweaking on this a bit too, but not until next week.

Thanks for the feedback! I really appreciate it!

by on (#75802)
qbradq wrote:
Wow, thanks for all the feedback!

Quote:
unregistered
Posted: Thu Mar 24, 2011 3:22 pm    Post subject:
playing using a real nes controller... the character feels too heavy imo.
Nice job on the graphics!


Do you mean when walking or jumping?

um. Well, after much jumping and rethinking... he's jumping with a shield and sword... that's pretty good! :) But, while playing Link in Zelda... on one of the post-super-nintendos I was jumping just up and down in beat with the game, like you can in your's too :) , and i noticed that Link seemed to jump a tad bit higher when the jump was perfectly in sync with the game... and I thought COOL! HES GOT SOME MAGICALNESS IN HIS JUMPING WITH A SWORD AND SHIELD! And so your game gave the same impression, before i tried to judge if it was really happening. It seemed not to happen. Nintendo's games are awesome because there is a little part somewhere where a character impresses you! :shock: :)

by on (#75822)
this is REALLY cool! i wish there were hundreds of rooms in this demo. i just want to run around this place!

also, homeboy's head is really skinny!

by on (#75825)
Quote:
also, homeboy's head is really skinny!


Yea, I need to fix that :D Thank you for the feedback! This is very encouraging!

by on (#75830)
you doing all of this by yourself? i really like the columns. this stuff looks great

edit: the stained glass windows kind of "move" or something when i run around them. it's an optical illusion, but sometimes when i am jumping around that room, i seem to perceive the red and blue to be switching places. does anyone else get this? i am using nintendulator, by the way.

and another: i want to make it clear that i think this effect is awesome. the colors are vibrating.

by on (#75842)
Nice demo!

One very small thing: the player sprite isn't visible during fade in. :)

by on (#75858)
nub question from total nub: are those fade outs done via code instructing pallette changes or via code instructing "saturation" changes in the ppu register? ..or is it something else totally?

by on (#75860)
Really nice demo here!
The character movement is really well done already!
I like how he jumps, but the acceleration is a little slow. It feels too much like Mario Bros. ^^
Good thing, you don't slide around like the Italian plumber with his slippery rubber boots.
Ok, back to topic, the movement is really neat! A little tweaking on the acceleration wouldn't hurt thought (my opinion).Jumping around really works nice! Stopping on small blocks to climb up inside the castle is no problem which is good.
Also leaving the screen and landing safely on the new screen is easy to do which is another good point. However, this depends on your map design as well...
Don't let the player jump into something deadly right when he leaves the screen in the final game.(I know, that sounds like common sense ^^')
I know, you said the graphics and the design are not final, but I just wanted to say, that the outside world's tiles are really not that great. Inside the castle, it is not too bad, but everything looks the same.
You'll need some changes in there (If you have enough memory left for more tiles), like broken rocks and maybe some different sizes of rocks or something. Also some ripped curtains always look good. Like in Castlevania ;3
To me your demo looks a lot like a mixture of Zelda 2 and Castlevania and I like it ^^
Keep it up!

by on (#75861)
This demo looks (and plays) really nice. I look forward to seeing how this progresses. It really seems like there is a lot of games being developed for the NES homebrew scene now, and that makes me happy.

by on (#75868)
Quote:
One very small thing: the player sprite isn't visible during fade in.


Right, I hadn't thought about that... I guess I could wait until I have all objects created, then run the sprite generator once before fade-in. Thanks!

Quote:
nub question from total nub: are those fade outs done via code instructing pallette changes or via code instructing "saturation" changes in the ppu register? ..or is it something else totally?


This is done by darkening the pallet once every other frame. To darken a pallet entry you subtract 16 from it. If the result is negative, set it to $0D (Black).

by on (#75871)
What I didn't liked is the acceleration in the air. Like, I make a jump from a stand, and the character suddenly accelerates while in the air, before touching the ground. It is impossible to increase acceleration in jump in real life (if you don't have a jetpac), so it look and feels not natural. SMB actually has acceleration in jump too, but there it is not so noticeable, and does not feels not natual, probably because of other values of speed and acceleration.

by on (#75872)
Yeah personally I don't like controlling the hero by it's acceleration (SMB) but rather by it's speed (Mega Man). I find it much more comfortable to do things such as timed jumps and dodge attacks etc...

by on (#75873)
Until I started this thread I never really thought about how Mega Man handled movement. I am going to implement the combat system before I do any big changes to the controls though. I think I will have a better feel for how the controls impact game play then.

Thanks for your input!

by on (#75875)
qbradq wrote:
This is done by darkening the pallet once every other frame. To darken a pallet entry you subtract 16 from it. If the result is negative, set it to $0D (Black).
Wait a moment... $0D isn't black. It's darker than black, about halfway between sync and black. You should use $xE, $xF, or $1D for black.

by on (#75879)
I checked it out. The whole acceleration thing would seem more fitting to a game with a huge, wide open area like Sonic or Mario as others have said. This is more confined.

It kinds reminds me of Faxanadu without the scrolling. I think if you're going this route that might be a good game to check and reference.

lidnariq wrote:
qbradq wrote:
This is done by darkening the pallet once every other frame. To darken a pallet entry you subtract 16 from it. If the result is negative, set it to $0D (Black).
Wait a moment... $0D isn't black. It's darker than black, about halfway between sync and black. You should use $xE, $xF, or $1D for black.


$0F I think is the defacto black color. I use it for everything black, as do most licensed games. I can see in the PPU he is using $0D, which is the "evil" black. So yeah, fix that.

by on (#77860)
I have updated the first post with the new ROM. I have added several features including enemies and some combat elements.

I think I know enough now to actually design a game like this. I know now that I do not want to stick to a single-screen game. I figured out that it works for Faxanadu because the platforming elements of that game are slow. It does not work for a game with fast platforming.

Anyway, I just wanted you all to be able to try what I've come up with.

by on (#77880)
Not sure how I didn't notice this thread before, but it looks really good!

Your first post says it's a side-scrolling game, but also says it's a flip-screen game, so I'm a little confused there. Horizontal scrolling would look really good with this, though I guess it depends on the level design. Having it flip is like going around blind corners on every screen, guess it depends on what's more fun to design and play. It'd also could be easy to load areas as a 1x2 screen area by using both nametables and scroll within that, and flip to the next section. That brings up other fun stuff like tracking off-screen enemies though (just to not to have Ninja-Gaiden style enemy respawning, at least, heheh).

Looks great though.

And yeah I can confirm that $0D is a bad color. The first batch of Garage Cart #1 I built had that in the palette, I knew about that already but it creeped in somehow. Had one person (out of, I dunno, 8) that had it not work right with their TV. Was easy to revise the ROM, that's some real-time testing during production there, heheh.

by on (#77895)
Memblers wrote:
And yeah I can confirm that $0D is a bad color. The first batch of Garage Cart #1 I built had that in the palette, I knew about that already but it creeped in somehow. Had one person (out of, I dunno, 8) that had it not work right with their TV. Was easy to revise the ROM, that's some real-time testing during production there, heheh.

Yeah I thought the modern TVs wouldn't care about but it turns out couple of weeks ago I was playing Immortal on my PAL NES + HDTV and it glitched like hell. Quick look in Nintendulator revealed the $0D was the culprit, so I patched it in ~8 places and the problem went away.

by on (#78011)
It's pretty much ONLY modern tvs that care.

by on (#78230)
Very nice work! But is the background graphics ripped from Zelda2? :)

by on (#78232)
Edit: OK, I updated the screen shot to how it looks now. Might help some of these comments :D

oRBIT2002 wrote:
Very nice work! But is the background graphics ripped from Zelda2? :)


:evil: NO! :evil:

All of the background tiles are original. The bricks that you can stand on are very similar to Zelda II in that is uses an 8x16 masonry pattern. The darker bricks (this ones you can't stand on) use a 4x8 masonry pattern, which never appeared in Zelda II. The columns also look a lot like Zelda II, because there is only one way to really represent a flitted column lit from the left in 16 pixels.

All other tiles also never appear in Zelda II. The column tops are of a different design, the drapes actually look like drapes rather than stacks of eggplant, there are recesses and stained glass windows, good looking grass, terrible looking dirt and even shaded clouds. None of these graphical elements were in Zelda II (its grass was bad and its dirt was good :D)

But yea, that's the most frequent comment I get about the graphics. I guess it would help if I updated the screenshot :D

Anyhow this is a work in progress. I think I've hit the technical limitations of the design before I achieved my game-play goals, but in the process I think I have learned enough to overcome those technical limitations. The next update will likely use the same graphics and 100% new code.

by on (#78234)
I think you've done an amazing job and I am very jealous.. :)

by on (#83717)
qbradq wrote:
I think I've hit the technical limitations of the design before I achieved my game-play goals, but in the process I think I have learned enough to overcome those technical limitations. The next update will likely use the same graphics and 100% new code.
Hope this is going well for you. :) Wish you were around here; miss you. : )

by on (#86716)
qbradq: Have you done anything new? I thought your ideas where really promising. I really hope that this will be continued...

Good luck!