Jump / Fall
Very fast prototyping jump feel
Since jumps are directly using curves where X = time and Y = height design iteration is super fast, you can make 3 different curves which feel very different in game and swap them out to immediately feel the changes



These are the curves for the above jumps

Leveraging MOVE_Flying
The way we accomplish free custom vertical movement is setting the Character Movement Mode to MOVE_Flying
it gives us complete control over vertical movement
automatic horizontal velocity is still applied since the character movement component still accumulates movement in the horizontal plane
All that's needed is extra collision checks for above and below and we have the full vertical control (with horizontal movement) we want


Accounting for jumping 'past' the curve
Jumping now works great as long as you collide with a floor before the end of the curve, but once you exceed the curve...

AhAHa! UE accounts for this, we can just slap the movement mode to be MOVE_Falling and call it a day right?!
Wrong. Its very obvious where the curve ends and Movement Component gravity takes over which looks and feels quite jarring.

It would be a designers nightmare to try and sync up a curve with raw data in the Character Movement Component for gravity. It can be done but would be quite cumbersome, and suddenly we break the invariant of no gravity which is going against the point of this experiment.
To solve this we need two curves
For falling after a completed jump curve
For falling without jumping
Falling after a completed Jump
The player will already have completed some amount of downwards velocity since the Jump curve includes negative velocity after the apex.

When the Jump Ends downward velocity will already be accumulated so an understanding of the Fall Curve will be that however we draw it is added ON TOP of the existing velocity to accomplish a smooth transition
Simple Fall Curve

Here you can see its much harder to tell the switch from jump to fall and it happens more smoothly.
However it doesn't feel the best once we hit terminal velocity from a high distance


But again, at this point the system is in place and designers can make new curves to see what feels best; which I went with an inverse ease out with a higher terminal velocity



Falling without a Jump
Similarly we need to provide a separate curve for when you simply step off a ledge, which looks very similar but instead of having near immediate velocity it has a more gradual ease in.

Again this allows designers to prototype quickly different feelings of weight when stepping off a ledge


Last updated