Ninja of the Kick -- Test Stages and an Enemy Added

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

Moderator: Moderators

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

Ninja of the Kick -- Test Stages and an Enemy Added

Post by HLorenzi » Thu Dec 25, 2014 10:20 pm

(That name.....I just quickly made it up.)

After considering concepts about my other demos (viewtopic.php?f=22&t=11965), I've come up with another kind of gameplay that I think can bring in many possibilities of level design. Someone might have done a game like this before, but I usually do not play a lot of games, so who knows?

ImageImage

Concept test: https://dl.dropboxusercontent.com/u/229 ... ja4old.nes
More advanced: https://dl.dropboxusercontent.com/u/22954866/ninja4.nes

The START button spawns an apple. The SELECT button spawns an enemy.


So, the idea is about kicking. The player can kick objects into the air, and then kick them again to project them further. You'd be able to also kick enemies, kick things into switches, knock things off high ledges, keep things in the air for some time for bonuses, kick things into enemies, etc. I've also thought of two-player coop gameplay (the players would be able to play a sort of volleyball by kicking things to each other, which might be fun). Once you grasp the controls, you can do some cool stuff like kicking things backwards and over walls.

Anyway, I'd like to know whether controlling the game is fine or maybe too difficult (like kicking in the air, or making apples go over the top of that wall). I'd also like to have people's opinion on the general concept. :)

(Also, I'm really proud of the 8x8 tile collision and physics :P)
Last edited by HLorenzi on Sat Jan 03, 2015 11:58 am, edited 4 times in total.

tepples
Posts: 21752
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Ninja of the Kick -- Concept Gameplay Test

Post by tepples » Fri Dec 26, 2014 1:57 pm

I highly recommend turning on that "Enable more than 8 sprites per scanline" option)
If you draw an apple on the background when it's not moving and then turn it back into a sprite once it starts moving again, that won't be as necessary. Think of what Super Mario Bros. does when you bash a 10 coin block or Super Mario Bros. 2 does when you toss a mushroom block or Crystal Mines, Exodus, and Joshua do when rocks and pickups fall down. Do you think you'll be able to put that in? Otherwise, it might need to be ported to the Super NES.

Pokun
Posts: 1273
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Ninja of the Kick -- Concept Gameplay Test

Post by Pokun » Fri Dec 26, 2014 2:03 pm

It's very cool and interesting with good music and graphics (as was your earlier demos), but it's unplayable in Nestopia and Nintendolator due to graphical glitches.

Controls are great.

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

Re: Ninja of the Kick -- Concept Gameplay Test

Post by HLorenzi » Fri Dec 26, 2014 3:56 pm

If you draw an apple on the background when it's not moving and then turn it back into a sprite once it starts moving again, that won't be as necessary. Think of what Super Mario Bros. does when you bash a 10 coin block or Super Mario Bros. 2 does when you toss a mushroom block or Crystal Mines, Exodus, and Joshua do when rocks and pickups fall down. Do you think you'll be able to put that in? Otherwise, it might need to be ported to the Super NES.
But the objects' collision boxes are not aligned to, nor the same size of a tile. I'd like objects to overlap somewhat, and to have pixel-perfect positions for physics purposes (I've always disliked how mushroom blocks from SMB2 align into place after coming to a stop, although knowing the technical reasons for that).

Also, if the game had so many objects on-screen that it would need to replace them with tiles, then the extra time for updating nametables would, I think, overflow V-blank time, and the problem would not be solved (not even taking into account frame time overflow due to physics computation). There just isn't extra performance or memory on the NES, I guess. I'd like to mantain things at 60 frames per second. :)

It's best to just avoid having so many objects, specially many objects at a single scanline. Changing to the SNES? But we just looove the NES. Might as well just go for the PS4 then. :P
It's very cool and interesting with good music and graphics (as was your earlier demos), but it's unplayable in Nestopia and Nintendolator due to graphical glitches.

Controls are great.
Thank you for the feedback! While it might work flawlessly on the FCEUX, I should switch to these other emulators... I hear they're more precise, or picky about stuff? I'll give them a go to check out these glitches for myself.

tepples
Posts: 21752
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Ninja of the Kick -- Concept Gameplay Test

Post by tepples » Fri Dec 26, 2014 4:14 pm

SMB2 aligns its mushroom blocks to 16-pixel boundaries because of the color area grid. But if all things in the background that aren't brick are apples, you can fill the entire rest of the background with apple color. Then you can align still apples to 4-pixel boundaries and the player won't be as likely to notice. Say your apples are 12 pixels wide. If you have "left two-thirds of an apple" and "right two-thirds of an apple" tiles for each rotation, then you can use the "left two-thirds" tile for apples whose X position mod 8 is 0 and the "right two-thirds" tile for apples whose X position mod 8 is 4. The other half of each apple would be drawn as sprites. Do you want me to draw and attach a diagram of what I'm talking about?

The key to efficient video memory updates on NES is to plan out all the updates to a buffer in $0100-$019F during normal draw time and then copy them to video memory during vertical blanking time. If an apple has frozen, copy it to the background. If an apple has started to move, remove it from the background. It shouldn't be too difficult to start or stop a dozen apples in one frame if you make a list of what to add and what to remove before the start of vblank.

User avatar
tokumaru
Posts: 11466
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Ninja of the Kick -- Concept Gameplay Test

Post by tokumaru » Fri Dec 26, 2014 10:25 pm

HLorenzi wrote:Also, I'm really proud of the 8x8 tile collision and physics
The physics is indeed pretty cool.
I highly recommend turning on that "Enable more than 8 sprites per scanline" option
My NES/Famicom consoles don't seem to have such an option... :wink:

User avatar
koitsu
Posts: 4216
Joined: Sun Sep 19, 2004 9:28 pm
Location: A world gone mad

Re: Ninja of the Kick -- Concept Gameplay Test

Post by koitsu » Fri Dec 26, 2014 11:05 pm

HLorenzi wrote:I highly recommend turning on that "Enable more than 8 sprites per scanline" option)
And I highly recommend people do not.

User avatar
rainwarrior
Posts: 7677
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Ninja of the Kick -- Concept Gameplay Test

Post by rainwarrior » Sat Dec 27, 2014 12:15 am

It's a fun little demo. The sprites kinda remind me of Bubble Bobble and Dig Dug.

I would recommend that you update your sfx/music in the NMI routine, rather than inline with the game update. That way, slowdown doesn't have to affect the music and sound effects.

Drag
Posts: 1286
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Re: Ninja of the Kick -- Concept Gameplay Test

Post by Drag » Sat Dec 27, 2014 12:43 am

To improve sprites, try using a different OAM shuffling technique. Here's one that works for me:

Offset = 0
CurrIndex = 0

Each time you start a new OAM table:
Offset += $34
CurrIndex = Offset

Each time you allocate a sprite, allocate the one whose Y position byte is the one at CurrIndex, and then:
CurrIndex -= $0C

This'll produce a "rolling" flicker that'll evenly distribute the flickering among all sprites on that scanline, instead of just having two sprites that flicker at 50%, and invisible(!) sprites when there's more than 16.

tepples
Posts: 21752
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Ninja of the Kick -- Concept Gameplay Test

Post by tepples » Sat Dec 27, 2014 10:35 am

tokumaru wrote:
I highly recommend turning on that "Enable more than 8 sprites per scanline" option
My NES/Famicom consoles don't seem to have such an option... :wink:
Then add my revised 15-sprite fetch pattern suggestion to the FPGA :-p

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

Re: Ninja of the Kick -- Concept Gameplay Test

Post by HLorenzi » Sat Dec 27, 2014 11:20 am

And I highly recommend people do not.
I know, I'd never want people to circumvent the NES's original design. But it really gets difficult to watch those apples pushing each other when everything flickers.
I would recommend that you update your sfx/music in the NMI routine, rather than inline with the game update. That way, slowdown doesn't have to affect the music and sound effects.
Done! I've organized everything and fixed that, along with the graphical glitches on precise emulators (and hopefully the real NES).
To improve sprites, try using a different OAM shuffling technique. Here's one that works for me
Thanks! I've implemented it as suggested. But maybe it flickers too infrequently? I don't know; if more than 16 sprites at a scanline turns out to be uncommon on the final game, maybe it's better to have 50% flicker?

Drag
Posts: 1286
Joined: Mon Sep 27, 2004 2:57 pm
Contact:

Re: Ninja of the Kick -- Concept Gameplay Test

Post by Drag » Sat Dec 27, 2014 1:46 pm

HLorenzi wrote:Thanks! I've implemented it as suggested. But maybe it flickers too infrequently? I don't know; if more than 16 sprites at a scanline turns out to be uncommon on the final game, maybe it's better to have 50% flicker?
It does indeed seem like it'd be very difficult to have 16+ sprites on the same scanline in this particular game, so it's really up to you. It's still good to know of alternative methods though. :P

Pokun
Posts: 1273
Joined: Tue May 28, 2013 5:49 am
Location: Hokkaido, Japan

Re: Ninja of the Kick -- Concept Gameplay Test

Post by Pokun » Mon Dec 29, 2014 11:45 am

Much better, except this time I didn't hear any music at all (Nestopia). I would rather try to make some kind of rule in the final game that destroys objects before too many of them appear on the same scanline.

User avatar
OneCrudeDude
Posts: 274
Joined: Fri Aug 23, 2013 2:14 am

Re: Ninja of the Kick -- Concept Gameplay Test

Post by OneCrudeDude » Mon Dec 29, 2014 7:34 pm

All this talk about scanline overflow reminds me of one of the endings for one of the Dangan Ronpa characters. The boy who looks suspiciously like a girl is placed into a console not unlike the Famicom, in a game not unlike SMB. Indeed, the graphics are obviously half assed edits from said game's sprites. The boy is chased and stalked by numerous evil bears, and if too many of them are on screen, the boy will disappear. Despite referencing the NES, the graphical quirks, and SMB, all belonging to Nintendo, this game does not appear on Nintendo consoles, and likely will not thanks to Sony's impenetrable grip on the market.

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

Re: Ninja of the Kick -- Concept Gameplay Test

Post by HLorenzi » Sat Jan 03, 2015 11:57 am

Well, I've implemented an enemy now (though you still can't take damage). More importantly, I've implemented scrolling and done a bit of work on the levels. I've put it at the first post!

Post Reply