Friday, April 22, 2011

In Profundis progress (4/22)

Today was spent working on the most troublesome part, I think, of any platforming engine: collision detection and resolution.

I worked on a game before this one called Mayflight, and although it used Game Maker and could take advantage of its considerable collision detection facilities it was still maddening to work on.  I spent so much time hacking away on it, desperately trying to make it work to meet a contest deadline that, as some people seem to delight in telling me, it's controls are rather fidgety.  Harumph.

It didn't help, in that one, that your character could reach very high speeds.  There is a reason, I think, that every non-Genesis 2D Sonic the Hedgehog game has had lackluster physics, and that's because the original games' physics were highly optimized and dependent on the Genesis architecture.  And Sonic is definitely a physics game; everyone remembers the speed, but few remember that what made the speed work was its sharp physics system.  If you jump on an enemy with the jump button held down, Sonic will rebound up to the full height of the jump.  If you jump on the enemy from four screens up, Sonic will rebound four screens up, which is exactly what he should be doing if he were a rubber ball.  This, I feel, is no accident, but no 2D, non-Genesis Sonic seems to remember it.

Fortunately for my sanity, In Profundis doesn't need that level of physics simulation.

1 comment:

  1. That is where you are WRONG!!!

    If your game engine can recreate the amazing 2D Sonic games, it will be the best engine alive. And do you not want to be the best engine alive?

    On a more serious note, how will the friction be in this game? A big deal with quite a few 2D games for me is the friction the player has with the world, and that is fun to know about.