Super Tilt Bro. 2.0-beta1: New character, new adventure!

What's new in the game?

A new challenger!

From the depths of the Internets, where the dark magic of retro-gaming is omnipresent, here comes the Video Game Sage!

The Sage is a close-combat focused character with very strong attacks and the best survivability in the game.

He notably specializes on multi-hits attacks which are devastating against shields. His great ground-speed allows to bait opponent's moves, but beware of his reduced air-mobility.

The beginning of an adventure!

Are you too often playing alone? Empty servers don't help? There is a solution!

The arcade mode is made for you!

In this story-driven series of challenges, you will fight, break targets, run, save the world, eat a cake, and get medals!

Graphics were not the first thing finished, but the gameplay is here. Let see if you can get the best medal!

Big KO explosions!

Finally! We cannot pretend to be a platform fighter without a big explosion when a stock is taken!


Pepper received a huge amount of buffs. In her design, she was designed to have an option for every situation, but seriously lacked viable options to score KOs.

That, and her best combo-starter - the down-tilt - had too much end-lag making it unreliable.

Here are the details:

- forward-tilt now has more scaling knockback, improving its kill-power on weakened opponents

- down-tilt has less end-lag, improving its ability to start combos

- aerial-neutral has no more a weak hitbox at the beginning, it is easier to connect the sweet spot now (which is a semi-spike)

- aerial-up has more scaling knockback on its sweet spot, making its kill-power a real threat

- neutral-special has a stronger spike at the end of teleport, it is rare to use it offensively it won't change but the option is here

- forward-special has more scaling knockback, it may become a dangerous combo-finisher

What's new under the hood?

Full screen animations

It is no accident that the KO explosion came at the same time as The Sage. Both use the novel feature of the engine named "full screen animations."

The idea is to hijack the attributes table, responsible for affecting color palettes to the screen's regions, as a big bitmap.

This is 64 bytes of the Video RAM. Even if Video RAM access is (terribly) inefficient, that tiny section can be modified at will, impacting the entire screen. With smart use of palettes, it appears as a big semi-transparent picture above the background.

It required quite some changes in the depths of critical pieces of the engine (for the nerdiests: the NMI handler), and caused a swarm of bugs. They were almost everywhere, but it seems that all have been squashed by now.

The engine can handle multiple effects going at once, even with the netcode imposing heavy rollback. Details out-scope this release note, but there are counters, flags, ideal state, actual state, asynchronous screen repair operations, and other fun stuff involved.

Custom hitboxes

When The Sage punches, it bypasses normal hitbox behavior. Instead of just throwing the opponent, it displays an animation before.

Actually, there is more than that. If the punch misses its target, it creates a windbox (like an hitbox, but gently pushing the opponent.)

Both of these actions are made thanks to one kind of new hitbox: the custom hitbox. While the normal hitbox holds all values necessary to compute knockback of a hit, custom hitboxes hold a pointer to a routine and opaque values. So the character's code can do whatever it wants on hit.

New characters state

Characters are state machines. Everything they can do is a state. Jumping, running, attacking, attacking downward, being hit, ... even being idle. Roughly, what a player says being "an animation" is a state.

This is a lot of states. Of course, most of them are specific to the character and purely internal. We could make a character without jump by not implementing the "jumping" state.

Some states, however, can be called directly by the engine or any other part of the code. Since the engine expects them to exist, these states must be implemented for all characters. Of course, it is wise to avoid having too many of them.

The new state is named "owned." A character in this state must do ... nothing. Like imperatively nothing: do not process inputs, do not leave this state, do not draw sprites, NOTHING! The idea is that another part of the code is taking the responsibility of controlling you.

It is currently used by the sage, to prevent the opponent from moving during the big animation. That said, it could be the base for a grab move. Actually, when a character grabs another, he takes control out of his opponent.

Files Play in browser
Sep 27, 2022
Super_Tilt_Bro_(E).nes 512 kB
Sep 27, 2022
super-tilt-bro-linux64.tar.gz 2 MB
Sep 27, 2022 76 MB
Sep 27, 2022 68 MB
Sep 27, 2022

Get Super Tilt Bro. for NES

Download NowName your own price

Leave a comment

Log in with to leave a comment.