• The new bonus episode of the Smash Brothers Documentary Metagame, Godslayer, is now available on Vimeo

  • Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Super Tilt Bro for NES

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
43
Super Tilt Bro. 2.0-alpha5: everything is possible online!

What's new in the game?

You can now play any character on any stage online!

Pick your character, and select a stage before going online. That's it, no string attached. The actual stage will be picked at random between both players' selection.

This has been quite a bummer until now to be able to play only Sinbad on the simplest stages. Thanks to the netcode maturing, it is time to unleash its real power! Note however that stages The Pit, and The hunt are still experimental in netplay. If you encounter any issue please send your feedback.

New Character selection screen

It is prettier, by many orders of magnitude.

gameplay_v2_menus_char_select_redesign_wip03_bis.gif

Enter the match, with style!

It also comes with some long needed features! Notably, you can now pick CPU's character with controller one. No more need to have two controllers to play solo :) The stage selection is now integrated in the character selection. It is more comfortable, and allows to have a kind of summary of the match to come before starting it, showing which characters will fight on which stage.

Improved AI

The CPU will now avoid to be too easily infinitised. It will escape brainless up-tilt infinite combos, and Sinbad's infinite side-special.

The Sinbad's side special is hard to escape, so only the CPU in hard mode is good at it. It will shield it if possible, or often tech-slide to escape it.

Thanks tuck :) tuck :) for your feedback on it! As the IA changed quite a lot, there may be new exploitable behaviors. If you find some, do not hesitate to alert me I'll do my best to fix most (no promise.)

Bug fixes

Sinbad's slide when landing during a down-special now slows with time. It avoids weird slides on a quarter of the stage.

Inputting a move at the exact out-of-shield frame no more skips shieldlag. Down-special and down-tilt are still allowed to be out-of-shield moves.

No more terribly buggy noise when starting an online match.

Fixed AI jumping without reason.

Fixed AI weird running at the beginning of a match on The Pit.

Playing on NTSC system is no more faster than on PAL.

What's new under the hood?

Added a C compiler to the toolchain

Super Tilt Bro. has always been fully developed in assembly. This is natural on systems from the 1980s, it allows to leverage any bit of power in their slow CPU. That said, there are parts of the game that don't need the extra performance.

The classical way on those systems is to code in C, and add some assembly where needed. Super Tilt Bro. does the opposite, it is implemented in assembly with bits of C where it does not matter. That way, the main game loop is in assembly, and we don't have to deal with C's footprint if we don't want it. This allows full performance, without any compromise, where it matters.

The goal is to use C for menus. Menus don't need top performance, but they are complex. A good menu has a lot of polished details. And to obtain a good design for a menu we have to iterate as fast as possible, trying things, trashing bad ideas, trying variants,... It makes sens to be able to program them rapidly, it is terrible for the creativity to spend days implementing an idea, just to trash it afterward.

STNP v3

STNP (Super Tilt Network Protocol) had to be extended quite consequently to adapt to any character on any stage. Notably, it allows for variable size of game state, so the stage and characters can add their data to it.

Having it works means the protocol reached the famous state of Minimal Viable Product. Buzzwords are arguable, but hey! That's actually a great achievement. Being able to say that something in Super Tilt Bro. is officially “viable”. Before, it was more of a “Black triangle”, which is less hype of a term, and terribly referenced on the internet.
 

tuck :)

Smash Cadet
Joined
Mar 22, 2017
Messages
69
Location
Chicago
Slippi.gg
TUCK#214
Just played a few matches and the AI improvements are immediately noticeable. Great work! I didn't notice any flaws or anything really worth noting at this point, but I'll be sure to let you know if I see anything weird with the CPU's. Love the CSS update too!
 
Last edited:

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
43
Super Tilt Bro. 2.0-alpha6: Worldwide ranking!

What's new in the game?


Ranked play

You can now choose between “Casual” or “Ranked” mode. Casual plays just like before, while in ranked, your have a Match Making Rating (MMR). Winning a match gives you MMR points, while losing takes your MMR lower.

A worldwide leaderboard is available on the brand new official website: https://super-tilt-bro.com/leaderboard.html

leaderboard.png

Come, the top spot is waiting you!

Private game

You can ensure to be matched with your friend in this mode. Simply share a password to be matched together.

private_game.gif

Starting a private game

Longer hitstun

When you receive a hit, there is a small time on which your character blinks and you cannot do anything. It is essential for combos, which consist of repeatedly hitting your opponent while in hitstun to maintain them in this state. Also kill moves, which send the opponent far away, rely on it to avoid the momentum being cancelled by a special move.

Hitstun duration has been slightly increased, it is now 1.5 times what it was. Before that, there was literally no true combo in the game. So, now Sinbad has more efficient combos, and Kiki's strong strikes are more dangerous.

Kiki's moveset change

Originally, Kiki's down-special put a wall bellow her while neutral-special was a counter strike. These moves swapped input, down-special is now the counter strike while neutral-special creates a platform.

It is a simple fix, as the platform is Kiki's main recovery move, and it is unintuitive to press “down” to avoid falling.

Kiki's counter strike revamp

The counter strike has now more active frames, and more end-lag frames. Moreover, if down in the air, it slows Kiki's fall. The counter strike is still active at frame one.

counter.gif

Kiki's new counter strike

More active frames means your timing may be a bit less precise to pull it effectively. More end-lag, on the other hand, make it is easier to punish Kiki for missing it.

The slow fall forces Kiki to setup a proper bait. The sudden change in momentum may make the opponent miss a strike, leaving Kiki vulnerable. It also lessens the risk being KO-ed by falling too low while in end-lag.

What's new under the hood?

New servers

Originally, there was only one server per region. This server handled the matchmaking and the games.

Now there is a new login server, which handles user accounts, a ranking server that computes MMR and a website. This architecture has been intentionally split in tiny very specific servers. Very specific servers are easier to debug and operate than big ones.

It also allows for a future migration to cloud hosting, theoretically if we split the matchmaking from the game server, we could spawn as many game servers as needed to serve all players at any time. Spawnable game servers would have another advantage: the end of region server, just spawn the server near the player. Of course, all that is just wishful thinking for now but better be ready, it costs nothing.
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
43
Super Tilt Bro. 2.0-alpha7: Welcome Pepper & Carrot!

What's new in the game?


New character



Pepper is a young witch from the awesome online comic Pepper & Carrot. She lives a thrilling life, learning alchemy and witchcraft while exploring the world, and its dungeons. The comic itself is of excellent quality, and free (go read it!) It does not only mean that you don't pay money nor watch ads to access it. It is free as in freedom, you are free to read it, print it, improve it (if you can), to do fan-art, ... Actually, to put Pepper in Super Tilt Bro. is assumed fan art! (Did you know? Super Tilt Bro. share the same freedom ideas.)

Now, how does she play in Super Tilt Bro.?

Pepper is a fast-moving, short-ranged character with unrivaled combo ability. She can teleport around, and fly on her broomstick giving her the mobility to follow combos, even on strong hits. She also throws firework potions around, giving her a decent zoning and strong juggling.

Kiki changes


Kiki's recovery move is to draw a platform behind her feet. It was originally her down-special, which was unintuitive. In the last version it was change to be the neutral-special, which was not better. The only good mapping for a recovery move is up-special, so it is finally correctly, and definitely fixed!

Down-tilt had no startup-time nor end-lag. It was not on par with the design of Kiki, who should hit strongly but being punishable if she misses. It was also too strong, so there is now a little startup-time and some end-lag.

Counter-strike now keeps some momentum. It should not impact gameplay much, but feels more natural.

Formerly, you could fly by spamming up-special. It is fixed, try it and you will fall (while appearing ridiculous.)

Common gameplay changes

Fast-fall is now activated by releasing the down-button. It allows inputting down-aerial, and down-special without involuntarily fast-falling.

Input of down and up attacks has been eased, the game is more tolerant to other buttons being pressed at the same time. It is especially noticeable when attacking at the beginning of a jump, controls feel more responsive.

Fast-fall is now cancelled by mid-air jumps.

Online mode

Improved netcode on connections with high variance in ping. Because there is server-side prediction, on such connection it happened that the game receive inputs in the future. It was terribly handled, leading to big desynchronization between players.

Fixed being disconnected for being idle more than 30 seconds in game (only on the web client.)

Added a new menu “Settings” in online mode. From there you can create an account for ranked play, configure your Wi-Fi (only on real cartridges), or update the game (also on real carts.)
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
43
Super Tilt Bro. 2.0-alpha8: New musics, and fixes

What's new in the game?


New musics

Two new musics, by Kilirane, can be heard in game.

The first is inspired by Sinbad, while the second depicts Pepper's personality.



You will also notice that the main theme is now played at correct pace in the menus. The audio engine has actually received some long-deserved love in this patch, including the feature of playing NTSC musics correctly on PAL system, and inversely.

Kiki

gameplay_v2_kiki_wall_jump.gif

Kiki can now walljump

While Kiki does not really need a walljump, it makes it available to all characters. Kiki was the only one unable to do it, disturbing after playing other characters. So walljump is now a standard move, like the double-jump, all future characters are expected to have it.

Fixes

Kiki can no more have a free jump by buffering the jump action during an aerial. Long-time bug, it was originally on all her moves, then reduced patch by patch. All should be squashed now.

Kiki no more ignores gravity when spamming side-special.

Kiki's AI no more KO itself when thrown out of screen. Before this fix, you could often have Kiki AI draw a platform out of screen, then run straight to the blast-line.

Sinbad cannot bufferize grounded moves when his side-tilt lands aside from the platform.

Pepper's teleport no more kill her randomly.

Pepper's teleport on-spot hitbox is now correctly placed at her starting position.
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
43
Super Tilt Bro. 2.0-alpha9: Redrawn menu, replays, and wishlist

What's new around the game?


Wishlist the cartridge now!

Ok, there is no Steam for retro game cartridges. We do it in the pure homebrew tradition: our wishlist system is crafted at home with love!

To wishlist your Super Tilt Bro. cartridge, go to https://super-tilt-bro.com/wishlist.html and fill your e-mail address. This is a notification system, you will receive one mail when the pre-orders are available. Nothing more, nothing less.

postcard.png

As soon as the mails are sent, the list will be deleted. We care about your privacy, and the well-being of your inbox. If you want to follow the game's development, you should also follow Super Tilt Bro.'s Twitter or join us on Discord.

Replays

You outrageously out-played your opponent but forgot to record your screen? That happens all the time!

We know this terrible feeling when you cannot show your best moves to the world. You deserve internet felicity for every win! So here comes the replay system.

After playing an online game, you can now head to https://super-tilt-bro.com/replay.html to watch the replay of the game. As simple as that!

It's then up to you to record your screen, and share the game. You can also use this page to watch games, it is kind of a Super Tilt Bro. TV channel.

What's new in the game?

Redrawn online menu


The online menu has been completely redrawn by Martin Le Borgne

online_mode.gif

Woah!

Other menus have also been updated. It is more subtle but you may notice that there are more sound effects than before, the navigation is slightly better, and clouds' parallax is more consistent.

Bad ping is gone

About the infamous "bad ping" message when trying to connect to a server.

This message happens when the game decides that the network conditions are too bad to even try to connect. It originally was when ping was above 200 ms.

With time, and netcode improvements, this limit became too low. The game can handle 200 ms ping and still be playable. The limit has been raised to 800 ms.

Gameplay improvements

The fast-fall mechanics has been improved. Now, your character shines while fast-falling, and weird cases where you stayed in fast-fall mode for too long have been fixed.

Added sound effects for jump, fast-fall, and land moves.

Finally, the maximum time allowed on the respawn platform has been decreased, from five to four seconds.

Kiki changes

Most animations of Kiki have been extended. The goal is to smooth the animation, and to add end-lag to her moves. Kiki always has been a character with a good range, and strong attacks. The idea is that she is strong at punishing her opponent's mistakes, but should not spam here attacks. Search the weakness in your foo's play, and exploit it. Adding end-lag to her animations ensures that Kiki's player has to think twice before attacking.

Animations change details:

  • Jab is now 16 frames instead of 12. It can still be cancelled by another jab at any point.
  • Side-tilt: Added 4 frames of end-lag. The animation is now 20 frames instead of 16.
  • Up-tilt: Added 4 frames of start-lag, and 4 frames of end-lag. Removed 8 frames with active hitbox. The animation's duration is unchanged, 16 frames.

Talking about animations, Kiki now has a proper animation for drawing a platform above her head.

kiki_paint_up.gif

When landing during an attack, Kiki slides on the ground performing the attack. This is not new, but has changed a little. Tilt-slide, and jab-slide distances are slightly reduced.

Finally, Kiki's platforms now last 2 seconds instead of 2.40 seconds previously.

This patch happens to be quite a nerf for Kiki. It will need some serious play-test to see if balance is not broken in the unusual way.

Sinbad changes

Slide attacks go slightly farther.

What's new under the hood?

Real NTSC compatibility


There are some differences between the PAL and NTSC NES. The most impacting one is the frame rate. An NTSC NES displays 60 frames per second, while the PAL version outputs only 50 frames per second.

Super Tilt Bro. has been primarily developed on PAL hardware. That said, since the beginning the game is playable on NTSC systems. Until now the trick has been to double one out of six frames, to virtually reduce NTSC frame rate to 50 frames per second.

ntsc_pal_framerate.png

Frame doubling trick to get 50 FPS on NTSC

While it basically works, it is far from ideal. This trick not only loses the extra smoothness of 60 FPS, it adds extra bumpiness by oscillating between 60 and 30 FPS.

So, how do get rid of this doubled frame? There are three impacted domains: physics, animation, and audio.

In physics, all speeds have to be slower on NTSC. An object that moves 1 pixel per frame at 50 FPS needs to move at 0.83 pixels per frame at 60 FPS, to keep progressing at the same speed (50 pixels per second.) So speeds needs to be multiplied by 0.83 but here's the catch, the NES is very poor at two things: multiplications, and floating point arithmetic. Full description of the solution would not fit in this release note. Long story short: by decomposing the multiplication byte by byte, and reserving 1 KB of ROM for lookup tables, it is possible to multiply by any constant (even 0.83) blazing fast.

Characters animations also need to be slowed down. These animations actually do not run at 50 FPS, they are more like animated GIF: each encoded frame takes ROM space, so we limit it. For such animation, the frame doubling trick is completely unnoticeable, lightly extending one animation frame's duration from time to time. Just take care of always extending the same animation frames, so the animations are always played exactly the same. It is important to have consistent frame data in versus games.

And the audio engine. Yes, the audio is impacted by the frame rate: in the NES, the most reliable timing information we have is the periodic display of a new frame. We naturally use it to regulate music's beat. As most authors compose for the NTSC NES, Super Tilt Bro.'s audio engine has been converted to NTSC-native. On PAL, it occasionally plays two beats in one frame to simulate 60 FPS.

It is to be noted that while feeling the same, the game is slightly altered: 50/60 is not exactly 0.83, and frame data is not the same between PAL and NTSC. That sadly means that the netcode cannot accommodate a cross-play PAL/NTSC, desynchronizations would be terribly common. An option could be to fallback to the frame doubling trick only on cross-play, maybe better than nothing.

And voilà! You know the fun parts of being PAL/NTSC compatible (the right way.) It's been a long time without "under the hood" section in the release note. Please tell if it was a nice surprise, or "too technical, didn't read." Maybe this subject deserves a complete devlog entry?
 
Top Bottom