In my experience, these types of questions boil down to “what kind of experience do I want the player to have when jumping?” I try to answer general questions like “how do I want the player to feel when they jump?” A high jump would make the player feel small but able to explore and go places. A low jump would impart a sense of weight. A jump that has more hangtime feels floaty. Allowing players to change direction mid-jump gives a feeling of control. No mid-jump directional changes gives jumping the feeling of commitment and strategic thinking.
Once I figure out some first-pass answers I want to these questions, the next step is to build a prototype - a simple avatar that can move and jump with tweakable numerical values for things like jump height, distance, arc, hangtime, etc. inside a test level with platforms of varying heights and distances to try. Once I get that working, we playtest variations on the jump and see how it feels. If we find something we think feels promising, I iterate on it until it’s good enough. If the prototype verb doesn’t feel good after we’ve given it a solid try, maybe we cut our losses and move on to a new idea. We repeat this with each core feature until we have a solid core gameplay loop.
Got a burning question you want answered?