It is currently Sun Jan 22, 2017 11:28 pm

All times are UTC - 7 hours

Post new topic Reply to topic  [ 6 posts ] 
Author Message
PostPosted: Thu Dec 29, 2016 3:06 pm 
User avatar

Joined: Wed Dec 28, 2016 7:16 am
Posts: 7
Here is my entry: Super Tilt Bro.

This is a demake of the Super Smash Bros. series aiming to offer the accessible, yet rewarding to master, "versus platformer" gameplay. All this, adapted to the little NES gamepad.

Image Image Image Image

Implemented features:
  • One fighter available
  • Core gameplay elements (collisions, hitboxes, hitstun, damages, ...)
  • Full game flow (title, menus, game, gameover)
  • Basic sound engine, playing basic music and sound effect
  • Some eye candy, notably the screen shaking on strike
  • Most of the moveset for the available fighter
  • Two players mode (No single player)

My goals for the compo:
  • Implement the missing moves (Done in alpha-5)
  • Fix the bug causing characters to get stuck between the stage and the bottom blast line. (Done in alpha-5)
  • Change the version shown in title screen to something like "NESDEV COMPO 2016"

Forseeable future goals:
  • Improve animation engine: currently animations are stored twice, one for left, one for right (Done in alpha-5)
  • Add air-dodge and shield (using d-pad down)
  • Improve moveset's consistency and combo capabilities/escapes
  • Improve sound engine to be able to play entire tracks

The project began in April this year as a way for me to learn 6502 assembly and NES' internals. One thing leading to another, it became one of my longest lived pet projects. A luck would have it, exactly now, when the game begins to be really enjoyable, it is time for the NESDev Compo :)

The Super Tilt Bro. project itself is free as in "do WTF you want with it" and forkable on github. As I am not a good artist, I reused some assets (and learned a little also):
  • The tree comes from Matt Hackett of Lost Decade Games and is CC-BY
  • The fighter sprite is derived from human sprites in Surt's twin dragons which is CC-BY/GPL
  • The fighter character is Sinbad, the Ogre3D's mascot, by Zi Ye and is CC-BY-SA
  • The music is from Ozzed and is CC-BY-SA (original track is far better than what's in the game, go check him)

I'll attach the ROM to this thread. Now and after the compo, the latest ROM version is available on the Super Tilt Bro. page on

File comment: Alpha-6: 2017-01-15
Super_Tilt_Bro_alpha6_(E).nes [24.02 KiB]
Downloaded 4 times
File comment: Alpha-5: 2017-01-08 (a little more than initial scope for the compo)
Super_Tilt_Bro_alpha5_(E).nes [24.02 KiB]
Downloaded 18 times
File comment: Alpha-4: current version at thread's creation
Super_Tilt_Bro_(E).nes [24.02 KiB]
Downloaded 44 times

Last edited by RogerBidon on Sun Jan 15, 2017 11:09 am, edited 1 time in total.
PostPosted: Sun Jan 08, 2017 1:54 pm 
User avatar

Joined: Wed Dec 28, 2016 7:16 am
Posts: 7
I progressed more than expected and already done more than my goal for the compo.

What's new in ALPHA-5:
  • Implement the missing moves
  • Fix the bug causing characters to get stuck between the stage and the bottom blast line.
  • Fix the crash caused by partially entered Konami code
  • Flip animations on the fly instead of storing it in double

I'd like to discuss the animation flipping. It seems trivial at first, just set the sprite attribute to flip horizontally and, maybe, move a little the sprites themselves. While not a lot more hard, it was interesting to realize that the main character is actually a 3D model made of voxels!

The character is indeed an orc holding a big scimitar in its left hand. Simply mirroring horizontally a frame would result in making him hold the scimitar in the right hand. So depth is quite important here, when the orc is watching left, the scimitar must be foreground and when he is watching right, the scimitar must be background. This distinction is not limited to foreground/background, but technically there is one layer by sprite drawn on top of another. So, we can consider each sprite drawn on top of another a layers of voxel, as illustrated here:


All this to make a stupid point: our favourite PPU is a 3D voxel engine!

Anyway, it may be actually useful to simulate 3D by taking inspiration on techniques like this one.

PostPosted: Sun Jan 08, 2017 6:46 pm 
User avatar

Joined: Sat Mar 30, 2013 12:24 am
Posts: 128
I appreciate the detail to differences in horizontal flipping. It's more detail than Midway ever had with Kano's sprites. :)


PostPosted: Sun Jan 08, 2017 10:58 pm 
User avatar

Joined: Sun Dec 12, 2010 10:27 pm
Posts: 200
Location: Hong Kong
I really appreciate game developers who take their time for attention to details such as flipped characters, especially on restrictive systems with limited resources. In this case it's brilliant, as this gets three things done in a row:
1. Overlapping sprites to increase a character's colour count;
2. Memory saving, as the flipped character is built using the same exact tiles, and also that both directions share the same tile arrangement data; and
3. Character holding the weapon with his correct hand in both directions.

Most commercial developers won't even care about this(until the 3-D era, when this sorta becomes irrelevant), with some exceptions(such as Enix/Chunsoft with the DQ games, AFAIK at least the party characters' sprites are different facing different directions, and Sega with the original Phantasy Star, but this is more due to the limitation of the system, as the SMS doesn't have sprite flipping capability, you either need to store sprites facing both directions anyway, or have to do this in software, and curiously because it could flip background tiles in hardware, NPCs drawn on the bg plane look VERY symmetric). One particular offender is Street Fighter II, in which they tried a lot in making the characters as symmetric as they could(mainly on the text on the costumes), but still, apart from characters changing between left- and right-handed frequently, there are many aspects that don't look right, such as the US flag on Guile's shoulder, the scar on Sagat's body and his eyepatch(!).

Unfortunately, overlapping sprites may become less practical when there are more stuff on screen, like for example, if it ever happens that this game would one day supports 4 simultaneous players (yeah I am dreaming)! In that case, not only will flickering occur more often, but you'll run out of sub-palettes for use with the weapon.

PostPosted: Tue Jan 10, 2017 1:08 am 
User avatar

Joined: Wed Dec 28, 2016 7:16 am
Posts: 7
Thank you.

This is particulary important for this character because the scimitar is not a litle detail that may be noticed by an attentive player. It's almost of the size of the character :)

Gilbert, I am impressed. You are just so right with your list of advantages! And also the history of flipped chars in video games. Do you have a particular interest on the topic?

And yeah, 4 players was never envisioned, so each character can use two palettes and align 4 sprites on a scanline (I hate flickering). Also, the screen-freeze when a hit connects can be disturbing for a player not in the action. So 4 players support would be somewhat of a challenge. More I think of it, more it seems cool, getting this feel of party game of SuperSmashBros. I'll definitely put it on my wet-dream-todo-list with "adding a second character."

PostPosted: Sun Jan 15, 2017 11:01 am 
User avatar

Joined: Wed Dec 28, 2016 7:16 am
Posts: 7
A little more progress on this. I think it is almost ready to be submitted.


Here's what's new:
  • Added a shield to punish obvious moves
  • Possibility to control jump's height
  • Possibility to fast-fall (accelerating falling speed)
  • Respawn on a cute little platform instead of being immediately thrown back to battle
  • Meta sprites going over bottom screen no more appear on top (fixed after recording of the video)

Most of it is not big code, but have an incredible impact on gameplay. Even knowing it, it is surprising how all (almost invisible) little things are important in the original game design. Example: while sharing major properties with Super Smash Bros shield, my shield is trash. It misses a little stun of some frames when removed. It makes it completely overpowered (in the good hands) because a player that uses the shield for nothing is not punishable while hyper safe. Without that little stun, a player under shield can just wait for the other to come strike him, then punish that.

It is frightening. I saw this game design weakness, but how many do I missed?

Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC - 7 hours

Who is online

Users browsing this forum: No registered users and 1 guest

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group