Ok, so I was right to fear this discussion could unearth various schools of "moving around in FPS". :-s
The logic followed by the game makes sense for the moment. IRL, it is easier to keep a stance than switching from a stance to another. With the same logic, it is easier to start and stop sprinting than keeping up the sprint, hence Hold to sprint
Moreover, IRL it is not that easy to jump while prone or crouch.
The double tap approach is tempting but may be quite hard to calibrate. See for example, if you are hiding behind a crate and hold/unhold crouch
to fire whatever is on the other side of the crate, you may tap twice too quickly and beeing surprisingly stuck on the ground.
Not sure if OldSnake projects some specific platform gameplay(1) but IMHO, the best way would be to allow each school in the options. That would not be that easy to implement but one way that could work well would be the following.
Using the keybinding menu, we can imagine having various entries for the various schools:
- crouch (hold to crouch)
- crouch (press once to crouch, a second time to uncrouch)
- prone (hold to prone)
- prone (press once to prone, a second time to unprone)
- stance down (if stand up, press once to crouch, a second time to prone)
- stance up (strict inverse of stance down)
- jump (strict jump)
- "going up" (if prone, press once to crouch, a second time to stand, a third time to jump)
However this solution can lead to a mess in the keybinding menu that could afraid newcommers (but once it is configured, it should be Ok for everybody
There is also a possibility to make some checkboxes in the gameplay options:
- Hold sprint to sprint
- Hold crouch to crouch
but I am not certain it would be as easy to implement as the various keybindings.
(1) For those who remember Half-life, near the end of the game, you get a jump module you can activate using a combination of crouch
. It is a kind of platform gameplay I am thinking.
There is more than one way to do it !