Wednesday, March 28, 2012

Unseen Mechanics in Platformer Games

Very often when you play a game, you usually take several design mechanics for granted.

One, in particular, was something that was discovered and perfected in the NES platformer era, called Mercy Invincibility. The best, and easiest example would probably come from the NES Megaman series.



In Megaman 1, when the player took damage multiple times, consecutively, it meant that he could die at a very rapid pace, without having a chance to correct his behavior. Enemies with rapid attacks were deadly; getting hit and then falling into spikes was a death sentence. Naturally, this was frustrating for the player, as this left very little room for error. (Something already pretty notorious in the Megaman series.)

But in Megaman 2, the designers attempted to fix the problem. When Megaman was hit, his sprite would flash rapidly, and he would have a solid second or two of complete invulnerability. This is called Mercy Invincibility, and it allowed to players to get hit, and then, quickly correct themselves to avoid further attacks. Experienced Megaman players even used Mercy Invincibility to their advantage, allowing themselves to get hit, and then using their temporary invulnerability to walk on the normally-fatal spikes. This greatly increased the ease of play, and lowered the frustration of insta-dying.

But before Megaman 2, even the original Super Mario Bros. had come up with a form of Mercy Invincibility, even though Mario had no health bar and would instantly die if he took any damage as small Mario. After Mario had consumed a mushroom and transformed into Big Mario and then gotten damaged; he would flash several times as he shrunk into small Mario, and more importantly, for a few brief moments, he would become invulnerable to all forms of damage. (Except the all-mighty pits of death.)  If you play or look at a lot of amateur platform games, you can usually see when the creator neglects to add this little caveat of a mechanic, and usually it's an indicator of bad design. There are always exceptions to the rule, though, and sometimes even well-designed games do not have Mercy Invincibility, although they typically become notorious for difficulty, ie: Metal Slug, Contra series.

 (If you want to see a incorrect way to utilize Mercy Invinciblity, check out the hilariously bad PC version of Megaman made in 1990, here.)

As a side note, the idea of Mercy Invinciblity may have been an indirect influence on the Health Regen seen so often in FPS games nowadays. But as the Insomniac dev in the article above explains: most of the time it goes too far; often preventing the game from becoming suspenseful or exciting, which is never a good thing, especially in a combat-oriented FPS. Perhaps a more direct descendant of Mercy Invincibility would be Spawn Protection, protecting players in multiplayer games for a few seconds after they spawn.

Another mechanic that's very common in more well-designed Platform games is something I call Jump Forgiveness. Traditionally, in platform games, you can't jump unless you're standing on something. Obviously, this also has a basis in reality. So, naturally, when you play something, you believe that you're doing what you see below: running and jumping BEFORE you hit the yellow line; the edge of the ledge.




However, if you try coding this in your game, you'll notice that it becomes difficult to jump right at the edge, even if you have good reflexes. Half the time, you'll just end of falling off the ledge and being unable to jump.
I assume that Miyamoto, the designer behind SMB, noticed this problem, and addressed it by doing this:


He allowed the player to jump in midair, if only for a half second of leeway, after walking off a platform. This made it considerably easier to jump from platform to platform, an invaluable thing to have in something as platform-centric as Mario. The amount of leeway you give your player can vary, but generally a half-second to 1 second is the sweet spot.

The most important thing about these mechanics, and others like them, is that they allow the game to flow so smoothly that the Player does not even know that these designs are in place.

-Alex

1 comment:

  1. Are you sure SMB has jump forgiveness? I'm not seeing it.

    ReplyDelete