1

Let me please ask a question about the old but still great arcade game, Super Mario Bros

In case of a collision between Mario and an enemy, what factor decides who dies: Mario or the enemy?

E.g., if you collide with a goomba while on the ground, you'll die (or shrink if you were Super or Fire Mario). However, if you were jumping at that time (if you were in the air, in other words), you would survive, and the goomba would die.

I thought it's the jump (i.e., button A depressed) that decides the fate of Mario. It seems not to be very true. E.g., take into consideration levels such as 2-3 or 7-3 (flying Cheep-Cheeps). You may kill it, and you'll survive even if you weren't jumping. So there is no need to necessarily press button A.

So why does Mario sometimes die and sometimes survive if a direct collision occurs?

3
  • Whether Mario's feet collide with the top of the enemy.
    – OrangeDog
    Feb 27 at 10:33
  • Yes, it's decided by the collision detection system that is programmed into the game. Another way to answer 'what decides ... ?' --> The developers.
    – Time4Tea
    Feb 27 at 12:55
  • 1
    You can kill the very first Goomba in 1-1 without jumping on him, too - just jump on the nearby blocks, and walk off the edge to fall on him. Feb 27 at 17:24

1 Answer 1

3

SMB1 uses a programming shortcut where Mario counts as "stomping" on an enemy as long as he is moving downward, even if his head hits the bottom of the enemy. This has been known for a very long time by TASers and players.

There's also a way to stomp on koopas in the air while jumping upward.

For more specific details, you will need to ask a TASer or ROM-hacker on the assembly code that's run.

4
  • 1
    Was going to post this yesterday, but I stopped because that info is quite incomplete. The "moving downward" case is only one branch of the logic.
    – Ꮢedacted
    Feb 28 at 9:47
  • If you have the patience, here's the disassembly gist.githubusercontent.com/1wErt3r/4048722/raw/…
    – qwr
    Feb 28 at 14:45
  • already saw that yesterday, that was exactly how I learned that the TAS page assumption is an incomplete description of the actual logic - I was trying to make sense of a specific function that should be the real answer but had no time so far.
    – Ꮢedacted
    Feb 28 at 15:00
  • This is only a partial answer so should not be accepted @Alexander
    – qwr
    Feb 28 at 17:06

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .