Ninja Platformers: Small test games

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

Post Reply
HLorenzi
Posts: 23
Joined: Thu Jun 28, 2012 9:10 pm
Location: São Paulo, Brazil

Ninja Platformers: Small test games

Post by HLorenzi »

Just thought I would rather post them here instead of letting them die in my hard drive without them ever seeing the light of day. :o

These are small test games I made a while back, when learning to program for the NES. They kind of show my progress in learning better ways to program a game engine on 6502.

Ninja1
Download link
Image
My first attempt at making a platformer. The idea is that this little cute ninja found a secret path through the sewers, that would eventually lead him to the inside of a corrupt shogun's palace, where he would fight to save his people.

- Object engine is based on a dynamic table that accomodates newly created instances, which is something that I found to be nice, and stuck with me to the later games.
- Stage engine based on fixed-screen rooms, since I hadn't given much thought about a scrolling engine.
- Player starts at the top of the screen for whatever reason. You can attack with the B Button. Lots of enemies on the first screen, as a kind of stress test. There is a room of an even older version to the left. Other rooms are empty.

Ninja2
Download link
Image
My second attempt. I finally understood how to program a scrolling level: dealing with column tile loading and updating nametables (figuring out how to update the tile attribute table dynamically was quite a chore).
- Metatile engine actually uses meta-meta-tiles (they describe entire elements, such as those pink walls with the little roofs).
- Object engine is still the same, but dynamically loading enemies that enter the camera view, and destroying those that leave.
- Sprite engine is not perfect, as clipping sprites at the borders doesn't work very well, but it already implements a kind of sprite multiplexing.
- Next to the start of the game, lots of enemies come raining down, as a stress test. At the end of the level, a more challenging enemy is found (but unfortunately cannot be defeated). You can perform a cool attack with the B Button, as well as climb walls! There is some leftover level tests to the right. If you go through the rightmost border (after 16 screens), crazy things happen.
- Also, crazy things happen when you manage to trigger object overflow (the later challenging enemies use double the data space of the regular enemies, and thus trigger overflow more easily -- of course, due to my faulty engine :) ), like duplicating the player character and confusing the camera controller.

Ninja3
Download link
ImageImageImage
My latest attempt. Features updated graphics, a scrolling camera engine, fade-in/out effects, and index-based stage loading capabilities. Unfortunately, there is no sound and no enemies nor attacks you can perform. You can still climb walls, though. If you exit your house, there is a climb test area after the forest. Also, jumping height is proportional to the time you hold the A Button.
- If you keep pressing the B Button, the next stage index is immediately loaded, but most are from garbage data, which I find really cool. (Some stages might have a totally black or gray palette, but the game should not hang)
- Sprite engine is pixel-perfect at clipping sprites at the borders, which you can check with the dummy ninja at the forest.
- Collision engine has some quirks and bugs at specific spots, which is kind of a nice secret to find out.


So, this is it. I really had fun programming these little games, and I felt that people should see them. What good are (*small* *test*) games that people can't play?
User avatar
OneCrudeDude
Posts: 276
Joined: Fri Aug 23, 2013 2:14 am

Re: Ninja Platformers: Small test games

Post by OneCrudeDude »

These are impressive, I actually like the graphics here! You should polish these up (perhaps combine aspects) and either enter them in the NESDev competition or include it in the Action 53 project!
User avatar
rainwarrior
Posts: 8759
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Ninja Platformers: Small test games

Post by rainwarrior »

Hey these are really neat.
User avatar
MottZilla
Posts: 2837
Joined: Wed Dec 06, 2006 8:18 pm

Re: Ninja Platformers: Small test games

Post by MottZilla »

rainwarrior wrote:Hey these are really neat.
I agree, these are some cool demos.
tepples
Posts: 22862
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Ninja Platformers: Small test games

Post by tepples »

Know what I think these need? Level format docs.
User avatar
tokumaru
Posts: 12559
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Ninja Platformers: Small test games

Post by tokumaru »

tepples wrote:Level format docs.
Do you plan on hacking the games?
tepples
Posts: 22862
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Ninja Platformers: Small test games

Post by tepples »

I personally don't, but it might give hackers something to play with other than SMB1 until I resume work on my own scrolling project, which I plan to do after the release of Double Action 53.
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: the universe
Contact:

Re: Ninja Platformers: Small test games

Post by thefox »

Cool tests.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Ninja Platformers: Small test games

Post by Kasumi »

Not much to add, but these are indeed pretty neat.
User avatar
tokumaru
Posts: 12559
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Ninja Platformers: Small test games

Post by tokumaru »

I didn't share any opinions before because I was at work and couldn't run the ROMs, but now that I have: Pretty cool!

Graphics are simplistic, but appealing. Some of the music is really catchy! I would really like to see a more complete game made out of these.
HLorenzi
Posts: 23
Joined: Thu Jun 28, 2012 9:10 pm
Location: São Paulo, Brazil

Re: Ninja Platformers: Small test games

Post by HLorenzi »

Thanks everyone for the feedback! :o

I would also like this to become a full game! However, I can only work on it on my spare time now, so it may take long. Should I make more progress on this, I would love to see it on a cartridge and play it on a real console! I've chosen MMC1 as the mapper, because it has CHR and PRG bank switching, which is nice if I wanted to expand the game. I guess it is cheap and easy to produce an MMC1 cart?

My music is nice, I guess. I've only been formally introduced to music recently, and while I think these old pieces make some musical sense, I feel there's something missing to me, in that I can't really make better/more complex ones. Oooooh, what's the secret to you, developers who write awesome music??
User avatar
tokumaru
Posts: 12559
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Ninja Platformers: Small test games

Post by tokumaru »

HLorenzi wrote:I've chosen MMC1 as the mapper, because it has CHR and PRG bank switching, which is nice if I wanted to expand the game. I guess it is cheap and easy to produce an MMC1 cart?
If you know your way around CPLD programming, yes, otherwise you'll have to rely on other people supplying pre-programmed CPLDs, or parts from original Nintendo cartridges.

If you don't need the mirroring control or the PRG-RAM, it would be safer to go with a simple discrete mapper, which can be easily built from off-the-shelf parts. UxROM or BxROM are pretty popular among homebrewers, and the CHR-RAM even allows for more versatile graphics expansion as long as you don't need to quickly (i.e. from one frame to the next or within the same frame) change a large number of tiles at once. With CHR-RAM you can realistically update 8 tiles or so per frame and still have time left for updating sprites, name tables, palettes and so on. If you disable rendering, you can update the whole 8KB of CHR in a couple of frames.
lidnariq
Site Admin
Posts: 11636
Joined: Sun Apr 13, 2008 11:12 am

Re: Ninja Platformers: Small test games

Post by lidnariq »

HLorenzi wrote:I guess it is cheap and easy to produce an MMC1 cart?
It is easy, but unless you're planning on using the ability to bank CHR in two chunks, you might be better served using ANROM, GNROM, or UNROM.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Ninja Platformers: Small test games

Post by Myask »

Reminds me a bit visually of Ninja-[Jajamaru]-kun; and the ones in GCCX:Arino's Challenge.
Post Reply