DevDir – Movement Pt. 2

So, it’s been a while I know. I shall spare you the usual excuses for why…

I spent a lot of time tinkering with the movement after showing it to a couple of people and getting lots of valuable feedback. The tinkering unfortunately lead to quite a mess in my movement code by adding yet another special case to the handling. It became such a mess, that I started putting off working on the movement code and instead messing with other, less important stuff.

So today I decided to scrap everything and start from scratch. This time around we have a bunch of new features:

  • Jumping input queue: When pressing jump in mid air it gets buffered for a short while. This way the player can hit jump just before landing and will jump again right away.
  • More jumping tolerance: it is also possible to jump just after having left the ground (by e.g. running of a ledge)
  • Player Slowdown: in the previous post I mentioned that I use the doom style of always slowing down. Well, I reworked that bet and now I only slow the player down if there is no active input. This got rid of some wobbly mid-air behaviour.
  • Got rid of the infamous triple jump bug. For a while I actually considered keeping that one for the experienced players, since it was a reproducible behaviour. But it made some of the levels just too easy…

I would like to treat you, dear reader, to some fancy gifs as a reward. Unfortunately most of that stuff is actually not visible and only felt while playing. Especially the jumping tolerance adds a lot to a smooth feeling without being explicitly noticeable. Players can only tell when it is not there. I wonder how much more invisible stuff is out there that I take for granted in other games without realizing. Any Ideas?

Bonus: There are physics now! Brief example for the queuing.
Bonus: There are physics now! Brief example for the queuing.