In Platformer Mixtape 2010, I parodied several games including the excellent Super Meat Boy. This meant getting the jumping physics “just so”, or the game would be crap. This is a collection of my thoughts on what makes a good jump or wall jump.
1. Momentum is harder to change in the air. If you turn left or right on the ground, the reaction should be almost instant. However, in the air it should be looser, unless your character has wings.
The difference is subtle, but it’s very noticeable if it’s not there!
2. Hold jump for a bigger jump. Lots of people implement this by making the jump “stop” as soon as the jump button is lifted, but this is a mistake. Both small and big jumps should look natural.
In my game I reduce gravity while the jump button is held. However, given more time I would have also added a bigger difference in jump power if the player only taps ‘jump’.
3. One press = one jump. I made mine extremely forgiving, as you can press before you touch the ground – making jumps frame-perfect. However, if you press jump once and your character jumps again when they land, that’s a bug not a feature.
4. Wall jumps should be forgiving. I hate when a game demands that I be pushing into the wall or the wall jump fails. I manage this by having trigger colliders that extend beyond my character collider, so that a wall jump can be triggered while moving away from the wall.
5. High gravity is harder, but often more fun. It can make a game feel more alive and challenging, but high gravity is not appropriate for every type of game! If you’re making a puzzle-platformer, you’ll need to find a balance.
6. Wall jumps combine all of the above. You have to decide what sort of shape your wall jumps should have, and adjust the gravity, momentum, kick-off speed, and held-jump power to make sure it feels satisfying. There’s no “right” answer here, but there are a lot of wrong ones!