Super Tilt Bro for NES

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#1

Nintendo's consoles before the N64 do not have their Super Smash Bros game. Let's fix it!

Super Tilt Bro is my project of porting the "versus platforming" to the NES. There is lots of excellent retro demakes out there as Super Smash Land, Super Smash Bros NES and, of course the freaking awesome project of Khao on these boards. The goal here is to make an actual NES game that we can put on a cartridge and plug in the NES of our childhood.

Gameplay


Play it

The rom file and an version playable in web browsers is avialable here.

Playing in a web browser involves a Javascript NES emulator ... This is fun, but I cannot guaranty a good experience, prefer download the ROM ;)

About the project

I am working on Super Tilt Bro for some time now and, while it still has a long way to go, it is playable and enjoyable. While it was a pet project at its beginning it slowly became my greatest pride and I swear that it will become an actual good game.

Next planned improvements

Moves balancing
Invulnerability after respawn
New stage
Add a full music track (done)
Better AI (done)
Blinking character when on hitstun (done)
Directional indicator (done)
Character color selection (done)
KO animation (done)
Add a shield (done)
Improve respawn animation (done)
Short Hop (done)
Fast Fall (done)
Implement the missing moves (done)
Fix the bug causing characters to get stuck below the stage (done)
Compress animations (done)
Proper hit-stun rules (done)
The winner must execute a victory dance (done)
Add freeze and screen shaking on hit (done)
Add sound effects (done)
Add music (done)

Trademarks

Super Tilt Bro is a free and open source project. As such, it would be shameful to violate any copyright. So, the (one character) roster is composed of free character(s), the first entrant being Sinbad from Ogre3D.

Help wanted

Feedback and suggestions are very welcome. Seriously that's the thing I lack the most. I cannot organize play-test sessions every day at work (because we also have to work here) and I personally know little Smash Bros regular players.

If someone has an artistic vibe, graphics may take advantage of being revisited by a talented one.

If you love modding, hacking and assembly, do not hesitate to fork the Github repository.
 
Last edited:

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#4
Here is the first update. What's new?

Screen shaking


The goal is to give some feedback on hit. Instead of opting for the Super Smash Bros "freeze frames" which freeze the characters while not the game, Super Tilt Bro freezes the game and shakes the screen. Screen shaking is more brutal and obvious than the original freeze frames.

At least for now it is impossible to input DI during the screen shaking. It is obviously possible to implement DI, but the current state of hitstun may make it useless. It will need your opinions.

Hitstun

In the initial version of Super Tilt Bro, when a character is hit, he is sent reeling and can't do anything before hitting the ground and crashing or tech. It was done like it by simplicity and would undoubtedly prove too much combo friendly.

Now the thrown character is more in a "tumbling" state. The character can do almost anything, like aerial attacks, influencing it's momentum but will crash on the ground unless the player input a good tech. This is basically the inverse of the original solution, the player that was hit can react immediately making combos strictly impossible.

So hitstun comes to save combos. When hit, the character cannot do anything except tech for a number of frames dependent of the attack's knockback, the more knockback, the more hitstun frames.

For now when a character is hitstun, the player can still impact it's momentum with left/right inputs. It is possibly a bad choice (as was vectoring in ssb4, in worst). If it is the case we will can replace that by a good old DI.

Hitting opponent's weapon

When both characters hit each other's weapon, their moves are cancelled. It feels more natural this way than going through each other's weapon ignoring it. Also, Weapon vs Weapon can be used to cancel an opponent's recovery move.

Knockback replaces momentum

Formerly, on hit, the knockback was added to existing momentum. It made most move very efficient against a jumping opponent as the existing upward momentum extended the travel distance. Now the knockback cancels any existing momentum, it is easier to balance and actually feels more natural.

Balancing moves

It is not really balancing, more replacing copy/pasted knockback values in all moves to something theoretically more sensible. Here is a full list of changes:
Diversify damages dealt, globally nerfing the 10 damages standard to values around 5
Down tilt has less scaling knockback and more base knockback
Side tilt has more scaling knockback
Up tilt knockback is more upward
Down aerial knockback is now downward
Neutral aerial has less knockback
Side aerial knockback is more horizontal
Down special aerial has less knockback
 

4nace

Smash Ace
Joined
Dec 18, 2008
Messages
663
Location
Bellevue, WA
#5
Looks really cool.

Yeah pausing the whole game will work if you never go above 2 players. Otherwise you'll have some issues doing hitpause that way.

Also in that gif, minor suggestion. Your "crash" / knockdown state when you hit the ground in hitstun would probably look better if they just started already on the ground instead of standing then falling down. To make it look a bit cooler you could have them hit the ground then still in the lay pose, pop up a few pixels then lay back down then get up. This would look closer to what the Smash series does and probably make hitstun feel a bit more impactful.

DI is not incredibly hard to implement and can help improve defense a ton if you want to go for a combo heavy game.

Good luck!
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#6
Wow, thanks a lot!

Yeah hitpause would be terrible with three players or more. The NES having only two controller ports actually allow this possibility. A four ports adapter exists, but it is rather uncommon.

I'll try to improve the crash animation you're completely right this one feels unnatural and seems more like going for a nap than violently hurting the ground.

In the currently available for download version I did not want to include DI because it seemed redundant with the possibility to influence character's momentum with left or right, even on hitstun. On the last github master I removed this possibility (it made impossible to score a kill horizontally), so DI is back on the TODO list.
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#7
Here comes the Alpha-3!

You can play it in web browser (without music) or download the ROM.

What's new?

Overview


Please do not be harsh. I am not used to videos, YouTube and the likes :)

Now with sound!

It was the big chunk. I had no idea about technicalities of sound and had to develop a sound engine for the NES in assembly language. And that's exactly the same for music composition.

Finally, with the help of the NES hardware's documentation and a cool chiptune composer it came to life.

Configuration menu

It allows to turn music off when you are tired of the tiny music loop and set the initial stocks value.

It is very lite because Super Tilt Bro ran out of ROM space (16KB is not a lot, even for the NES). Now some graphics are compressed so there is enough space to improve this screen in the future.

Hitstun forbids momentum influence

On the air a character can influence its momentum by pressing left or right. This enable changing direction mid-air like in most of platformers.

In alpha-2 it was allowed to do this while under hitstun. It is a terrible idea as a player can cancel any knockback almost immediately making him unkillable. Now that's fixed by not allowing this mechanic under hitstun.

New crash animation

Thanks to 4nace, the new crashing animation is far superior to the former one.

What's next?

The "planned improvements" section of the original post begins to look like it will be fully done one day. So it needs more items!

First, things are perfectible. Even if the music is present, upgrading the engine to be able to play complete tracks would be great. Even if the hitstun mechanic is functional, the hitstun duration may have to be pimped ...

Also, completely not gameplay related, things can be compressed in ROM. As said, the size of the ROM becomes a limiting factor, so putting some time on compressing things is not luxury.

Once the game is good and properly compressed it could be time to add a second character to the roster. In the free and open source cast, I thought of Sara from opengameart. She could be somewhat of a ranged mage character.
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#8
The alpha-4 is ready!

You can play it in web browser (without music) or download the ROM.

What's new ?

Redrawn aerials


Aerial attacks where drawn in a rush to complete the moveset. The ugliest ones were the aerial down, up and forward, which was simple subsets of the neutral. It is now fixed, each attacks has its own feel.

Victory dance

After the match, characters where just sitting idle on the podium. Now there is the essentials: dance, slowclap and balloons!

Lower gravity

It is a terrible dilemma each time I think about it. A lower gravity lets more time to make interesting moves mid-air, but slows down the game's pace and/or make characters feel floaty.

With new animations being more long than their former counterparts (and this is a good thing), lowering gravity became mandatory. So now Sinbad's gravity is really similar to SSB4 Fox's gravity. Going lower than that feels too floaty, maybe a new falling animation could help with this.

Version on title screen

Not a big deal. This version shows "alpha4" in the bottom of the title screen. It will be incremented each time a build is released on itch.io, allowing you to check if there were update since your last download.

Feedback please

With the TODO list being complete, I need more than ever some feedback to know what to do next.

In lack of feedback, I will polish what I can think of, compress things to free enough space for a second character and play the game more (hoping to find how to improve it). But it would be great if the game can be well-rounded before integrating a second character. So feel free to report anything that you don't like, it will be taken in consideration​
 
Last edited:

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#9
Happy new year!

Play-testing and new year resolutions helped me recreate a todo-list of things to improve. Mainly there is implementing the missing moves (downward B, upward tilt and aerial B), fixing some bugs and implementing the shield. Can a game honors SSB without a shield?

As a side note, I wonder why the game gathers so little feedback. I do my best to ask for feedback as much as possible and the only (internet) comments about the game are the ones in this thread (thanks for that guys, you rock). I take it as "the game is not bad enough to be insulted nor good enough to be interesting," is it the good interpretation?
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#10
It's time for Alpha-5!

You can play it in web browser or download the ROM.

What's new?

Better javascript emulator

That's actually not Super Tilt Bro. itself, but largely related. When you play without downloading the ROM file, the web page runs an embedded NES emulator to let you play. The former one was nice, but had some severe limitations that made notably impossible to play music.

The new emulator is capable of tons of good things, most notably:
  • Playing music
  • Rebinding controls
  • Using gamepads
  • Looking more like an old TV
No more missing moves

From now on and forever, any combo of a direction + A or B is bound to a move. Be it grounded or mid-air.

The new moves are "Down B" and "Up Tilt". The former throws your opponent behind you (deadly on the edge) and the second is perfect to initiate or follow combos.

Bug fixes


This is no more possible to stall the game by going under the stage, sorry. Crashing the game by entering the first half of the Konami code is also impossible.

Optimization

Not gameplay related, but this is finally done: animations are flipped on the fly instead of bein duplicated (one for running to the right, another for running to the left). It allows to get back some free space, which is luxury in a game that cannot be bigger than 24Kb.

It was not trivial because flipping an animation necessitate, in Super Tilt Bro., to take care of the depth. As the character hold a scimitar, if the animation was simply mirrored the scimitar would not always be held in the same hand. So the animation engine handle layers of sprites and consider it an equivalent to 3D voxels, as illustrated by the following animation:

 
Last edited:

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#11
Let's roll out the Alpha-6!


What's new?

The shield

It is somewhat iconic of Super Smash Bros, but was missing all this time, it is now fixed!

The impact on gameplay of this addition is still unknown. It seems a little too powerful as it misses most of the drawbacks of the shield from SSB. Mainly, it suffers no end-lag and no hard-counter like the grab. This new shield will certainly have to be played and tweaked.

Short hop and fast fall

With them, aerial movement is more flexible than ever.

Has there are now two jump heights, the long jump has been increased. A character can cover almost all the screen vertically (using specials) while still being able to attack a grounded opponent with aerials, thanks to short hop. It is impressive how a simple thing like short hop can be impacting on games mechanics.

Improved respawn

Characters now respawn on a revival platform letting players have a break after being killed.

This was missing for too long. It is in this category of things that are overlooked too easily when developing a game. It is not useful when testing bugs. It needs some way to implement invulnerability (which was absent until shield's implementation). While overlooked it is nonetheless a rare occasion to slow down the game's pace if the player wants it, so the game is still intense, but less stressing.
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#12
Alpha-7 is coming.

What's new?

Artificially intelligent foe


This was really annoying for those who wanted to test the game before trying it with friends. So here is the infamous CPU opponent!

The artificial intelligence is super simple for now, but as long as you do not try to cheat it there is some fun fighting it. This is by no mean perfect yet, but still a big enough addition to the game to game to justify a release.

Trivia: It is less than 70 lines of assembly! That's impressive what can happen with so little code o_O

New font


More than just being prettier, the new font also should display well on CRT screens. Such screens are irremediably a bit blurry and NTSC does not help as it was designed to convey analog signal, but not pixels.

Bug fix

In previous version it was possible to use grounded attacks mid-air by inputting it at the beginning of a double-jump. It's fixed.
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#13
Let's advance to BETA.

Why beta?

In Super Tilt Bro. versioning, alpha means "playable" and beta means that all major features are present. The plan is to have alpha becoming beta then release. After that, another set of features may be defined to start a 2.0-alpha, etc.

Super Tilt Bro's foundations are pretty solid right now, but the game is not as great. It is time to focus on improving the game, pushing its engine further on what it already can do. A great opportunity to begin the beta, adding flashy effects, good music, better graphics, improved moveset and more "non-engine" stuff.

What's new from alpha-7?

Multiple stages

That was the last feature necessary to pretend to have a complete game. A single stage is not enough, especially when it is so simple that jumping is an optional move. So, now there is the possibility to add stages and two new ones in this release.


The pit is more of a technical demo than a good stage, it will have to be improved or replaced during the beta. Skyride on another hand is quite fun to play, give it a try.

Bug fixes

When playing on real NES hardware (not in emulators,) the configuration screen is corrupted. Big thanks to the NESDev community for finding it. Shameless begging: I'd love to test hardware compatibility myself, but I am on budget. Do not hesitate to help through itch.io's donations ;)

In configuration, lowering the stocks' number while at "1" no more change the player two from "cpu" to "human".
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#14
One year of development and a great Beta-2


What's new?

Tons of visual effects

The goal of this release was to improve the in-game feeling, the game is now more vibrant and furious. It was super fun to implement, the game now even features a particle engine (ON THE NES!) Even if it took a little longer than expected, the result is here.

If you want a complete list of the new visual effects:
  • The screen-shaking is stronger and in the knockback direction
  • Character on hitstun are now blinking
  • On hit, a directional indicator is shown (particles, hooray!)
  • A KO character now explode (also particles)
  • Matches end in slow-motion

Character selection


While keeping one playable character, tweaking colors is still nice. We can now choose the character and its weapon, leading to 49 useless combinations :D

Actually not so useless, color-blind people will no more use it has an excuse to lose. The original green versus red was not to their taste.

Improved menus

Nothing super-fancy here, but menus now have each an icon and a title, fixing the emptiness of some.

NROM-256

Formerly, the NES cartridge of Super Tilt Bro was an NROM-128. This is the barbarian name of the hardware, it means that this is the smallest existing NES cartridge.

With this version, the game needs an NROM-256 that is a slightly larger cartridge. It is still a dumb and simple hardware, but at least it does not trick the NES to be smaller than what expected.

For the development, it means we now have a great deal of free space and the game can continue to grow. For the player it is simply that the ROM file is now 40 Kbytes instead of the initial 24 Kbytes. We are still far from Skyrim :D
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#15
Beta-3, the invisible patch.

What's new?

AI re-implementation

The AI's difficulty is now configurable in the configuration screen. That's the point of this release.

It may seem light, but it is actually a big chunk of work. The AI had to be re-though from scratch, taking inspiration from modern technologies and adapting it to the NES hardware. I wrote a full article on the subject, read it to figure out what a big deal it is.

Other little things

In the menus, pressing B now consistently goes back to the previous screen.

The "Unholly scimitar" is renamed to "Unholy scimitar".

The web-browser version now shows gamepads state and the default keyboard binding.
 
Last edited:

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#18
SunnyGuyMan SunnyGuyMan Thanks, this kind of comment are heartwarming!

SuperDoom1 SuperDoom1 Is it an in-game complaint or something around (in this thread)? If in-game, I suspect the name of the default color for the Scimitar of player one. Can you confirm? As I am not a native English speaker, I may have strange judgment of what is acceptable or not, but Super Tilt Bro has no reason to be offensive. It is to be fixed.
 

SuperDoom1

Smash Apprentice
Joined
Sep 25, 2017
Messages
165
Location
SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACE
3DS FC
4656-6065-5905
NNID
SuperDoom
#19
SuperDoom1 SuperDoom1 Is it an in-game complaint or something around (in this thread)? If in-game, I suspect the name of the default color for the Scimitar of player one. Can you confirm? As I am not a native English speaker, I may have strange judgment of what is acceptable or not, but Super Tilt Bro has no reason to be offensive. It is to be fixed.
Yes. It is, in fact, the bad[butt] scimitar.
 
Last edited:

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#20
Thank you for the feedback, it will be modified in the next version (to be release soon). Do you have any suggestion for the new name? The "Great scimitar" is my best idea for now.
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#22
No pitfall, it is Beta-4!

What's new in the game?

No more swearing

The bad*ss scimitar has been renamed to awesome scimitar. Thanks to SuperDoom1 SuperDoom1 , Super Tilt Bro us now appropriate for more people.

The Pit, completely re-done


The former version was more of a technical test than an actually enjoyable stage. It was particularly ugly, hard to navigate in and could be abused to pull off infinite combos.

The new version, is not only nicer to the eye but also fun to play! True to the original idea of “having a hole in the middle,” it removes the things that did not work well to replace it by moving platforms. Moving platforms are common for a good reason: it is super cool to play with.

Music

Sick of the five seconds music loop that serves as main theme? Good news, the sound engine has been greatly improved so we can now have full-length tracks. There is now a music for the menus, one in-game and the game-over music is greatly improved. Thanks to the new sound engine, it is a choice to use a cute little loop for gameover instead of a long music. Shortening this track allows getting immediately to the point, not wasting time listening music when all you have to do is starting another game.

What's new under the hood?

New music engine

Basically, a music is a sequence of notes. The original music engine of Super Tilt Bro was storing musics just like that, as a sequence of notes. It leads to an incredibly large amount of data needed to store a single tracks. There is approximately fifteen notes per second, so a two minutes music is around 1800 notes. The engine uses three bytes per note, leading to more than 5 kilo-bytes per track. In a standard NES cartridge, it is 30% of the available space. If you store three tracks like that, you may not have enough space to put a music engine to play it.

The music engine has not been rewritten from scratch, but it now uses a cool property shared by most musics: chorus and verses. A music is a sequence of verses separated by a unique chorus. So half of the music is the sequence of notes that makes the chorus. The music engine plays a sequence of samples, which are each a sequence of notes. Samples may contain one verse, the chorus or just a part of a verse. It allows reusing data for repeated sequences pretty well, so space is less a problem than before.

To go further, it would be possible to do a better encoding of the notes. Music engines from other games use a format using approximately one byte per note. They are also more complex and, for now, the space needed to store three tracks is manageable. It will be the next step to the perfect music engine.

Moving platforms


In Super Tilt Bro, a stage is defined as a list of platforms, each one having coordinates, and a set of functions that execute when the engine needs it. Typically, the stage's initialization function draws the screen's background, then the engine uses platforms positions to know if characters are falling or not.

The way to implement moving platforms is quite obvious: when a platform needs to move, update the platform's position in stage's data. Current stage data is copied in RAM when starting the game, so everything seems good, we can modify it at will. There is still two little problems.

First, we need somewhere to write the code that moves platforms. The engine itself does not have to take care of this, this is specific to a stage. So we add a callback function to stages, to be called each frame, so stages can do whatever they want. Existing stages, simply register a function that does nothing while our new stage sets a function handling moving platforms.

The second problem is to actually draw the moving platform. In the typical case, the screen is drawn once, when loading the stage, then the engine put sprites on top of it for characters and special effects. We can update the screen's background between frames, but there graphics are aligned on a 8x8 pixels grid. We do not want a platform that jumps 8 pixels at a time, we aim at smooth movements. To place a platform with one pixel precision, we can use sprites.

Summarily, each frame a function of the stage is called. This function moves platforms in stage's data and displays it as sprites.

Sprite-efficient particles usage


The NES allows for 64 sprites of 8x8 pixels at the same time on screen. Super Tilt Bro associates each one to a particular use:

0-15: player 1 sprites
16-31: player 2 sprites
32-35: unused
36-42: particle block 0
43-49: particle block 1
50-56: particle block 2
57-63: particle block 3


This is all fine, except that there is only 4 unused sprites. The Pit needs 8 sprites for its moving platforms. Almost half of the reserved sprites are for the particles' system, this had to be changed.

The particles' system is used for two things: showing the impact of a blow and popping explosions on death. It works by affecting particles emitters to a block, each time the game wants to display particles, an emitter is created and it uses sprites of its block for the effect. As, there is two possible emitters per character, it is convenient to have four blocks. One for impacts on player one, another for player one's death and the two sames for player two.

We can save two blocks as, for a given character, it is highly unlikely to need impact and death particles at the same time. Death generally occurs after an impact and impact particles are very short-lived. So the same result can be achieved while reserving only one particle block per player. Just take care to stop any active particle emitter when we recycle a block that is still active. The new sprites map is now:

0-15: player 1 sprites
16-31: player 2 sprites
32-49: reserved for stage's usage
50-56: particle block 0
57-63: particle block 1


Super Tilt Bro's Python library

Super Tilt Bro begins to have a lot of its own internal formats: animations, stages, music to name a few. It was funny to manipulate it in binary at the beginning, but as the projects grows in scope it becomes merely manageable. Some separate tools where developed to save time, but without consistency nor publishing it was pretty niche for some very specific workflows.

The former tools are now merged in a Python library, the stblib. The stblib is distributed with Super Tilt Bro's source code, it allows easy manipulation of its data structures and exporting it as json. So instead of writing a new stage in binary, one can do it in json (which is way more human-friendly) then write a tool that generates the binary. The long term goal will be to have a full editor allowing anybody to mod the game as easily as possible.
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#24
So pretty, so Beta-5!

What's new in the game?

Improved menus


Menus evolved a lot, with special care for the transition.

Now the menus scroll to each other, and fade-out to start a game. Also, the clouds on the title screen are now animated, and move in a parallax way according to the menu transition.

It has nothing to do with transitions, but the character selection now shows a little bit of grass behind characters.

Improved in-game


The running animation has been reworked, rubbing the scimitar, spawning sparkles. When Sinbad runs, he is more imposing than ever!

A spawn animation has been added. It delays a little the beginning of the match to let players warm-up their hand. More importantly, the presence of Sinbad on this island is now explained! He comes from a portal...

Finally, the end-game slowdown has been extended from one second to two. Occurring when one player loses its last stock, this slowdown lets the winner some time to taunt. And yes, it is super important to have the time to correctly humiliate the loser!

What's new under the hood?

Steady progress on the stblib

The Python library that allows storing and manipulating game's structures in Json is now perfectly able to manipulate animations. Actually the new spawn animation has been done entirely in Json instead of the obscure binary format compatible with the NES.

Menus implementation

The original idea was that all menus in Super Tilt Bro where like independent games. When going from a menu to another, the previous game was stopped and a new one was initialized.

Implementing smooth transitions and, with more impact, clouds that continue to move from one menu to the next, challenged this design. So, now menus are able to communicate to each other some shared state without friction. The goal was not to rewrite entirely the menus implementation, so only a common chunk of code is able to manipulate this state. Previous code is not impacted, except that it calls the common code regularly.
 

RogerBidon

Smash Cadet
Joined
Nov 15, 2016
Messages
30
#25
What's on the menu? Beta-6!

What's new in the game?

New stage: The hunt


This fourth stage is based on a very simple and enjoyable layout. It is super friendly, it is relaxing to play on it... until the orb appears!

The player that succeed to hit the orb gains power. How much power? Something like “NO WAY! GO AWAY FROM MY ORB!!!” power.

Improved menu graphics


Adding borders to interface elements definitely make the menus feel more... finished.

Also, the configuration screen was the first menu of the game and its design shown its age. Completely revamped, it is now the prettiest menu in existence!

What's new under the hood?

Steering behaviors

In the new level, the orb floats in the air. It seems so natural that we do not think of it, but NES games generally don't feature such organic movements. Actually, the orb uses an approach that was not yet discovered on Super Mario Bros' release year: steering behaviors.

The idea is pretty simple and gives great results. Each frame: draw a vector for each goal of the orb, sum up these vectors, it is the new velocity of the orb. Bellow illustrated for the three following goals: Go between players, avoid player one and keep the same velocity.

 
Last edited:
Top