We need a mechanism for scaling obstacles. Ledge grabbing is when you grab the ledge in the air, and vaulting is when you start from ground level, but I think the mechanism should be similar.
I'd like a design where the control system is fully responsible for both grabbing the ledge and pulling the character over it. From Tnua's API side both these actions will all require explicit invocation, but the control system is free to make it automatic for the player.
All of this state (grabbing, climbing, whether or not it's from the ground), of course, should be exposed in TnuaPlatformerAnimatingOutput.
In 3D, we should also support moving sideways.
And I wonder if wall-sliding and walljumping can use the same mechanism, but I have a feeling this will require #6.
We need a mechanism for scaling obstacles. Ledge grabbing is when you grab the ledge in the air, and vaulting is when you start from ground level, but I think the mechanism should be similar.
I'd like a design where the control system is fully responsible for both grabbing the ledge and pulling the character over it. From Tnua's API side both these actions will all require explicit invocation, but the control system is free to make it automatic for the player.
All of this state (grabbing, climbing, whether or not it's from the ground), of course, should be exposed in
TnuaPlatformerAnimatingOutput
.In 3D, we should also support moving sideways.
And I wonder if wall-sliding and walljumping can use the same mechanism, but I have a feeling this will require #6.