Probably the most powerful tool in the game player’s arsenal is the jump ability. 90% of games depend on it. Today, I want to go into different approaches to the jump, their roles and the realism behind the jump ability.
First of all, a game can’t include a jump without some recognition of physics. A jump begins with an initiative force, slows, arches in the air, falls down and ends against the ground. It is a human action, which gives jumping characters a quality we can relate to and even take for granted. That means if a supposedly human character comes upon a short barrier, the player is likely to ask “Why not jump over it?” whereas a tall barrier is not likely to inspire the question “Why not fly over it?” unless the game’s character is an animal of flight.
Now, about different jumps:
The Stiff Jump: Aiming for real physics.
So you sit down to program your first jump and you remember your physics class and say to yourself “vertical speed!” and “horizontal speed!” and “gravitational acceleration!” and you end up with a character that always jumps the same parabolic pattern, the same height and can only jump as quickly as he’s running. After all, one button initiates the jump with a given force and, once in the air, the player cannot realistically accelerate in any direction until he’s landed again, just like in real life. This is the kind of jump you find in just about every FPS and 3D platformer (they usually allow for horizontal acceleration though).
Okay, great, totally realistic . . . from one perspective.
If people always jumped the same way, that programming would perfectly capture the act of jumping, but we don’t. I have total control over my jumps (within limits). I can decide how high or far I’ll jump. I can decide to stay low or go high, and land at the exact same spot with either choice. This jump may make your physics teacher’s happy, but it’s failing to provide the player with an accurate perception of jumping.
Alright, so let’s solve that problem. One way is to use individual buttons, button combinations or analog controls to represent the many kinds of jumps people can do. This offers all of the control a player needs, but it ignores one factor. Jumping is a very simple, intuitive process, but using large numbers of buttons, combinations or analog controls does not approximate that simplicity or intuitivity in the least. Until we see some huge improvements in hardware interface, the stiff jump will be very limited.
The Mario Jump: Aiming for realistic expression.
Let’s say you want the player to feel some more control over their jumps. You want to offer precise height and distance control. I consider this move the “Mario Jump” because I can’t help but think of that game when I see it. By allowing the player the ability to accelerate horizontally through the air and to determine their jump height by holding down a single button for different lengths of time, Nintendo gave players a realistic level of control over their game doppleganger. But this comes at the cost of realistic physics. Now your character is magically accelerating in all kinds of directions that any kid can tell you don’t make sense.
Is it worth the trade off?
Myself, I like the Stiff jump sometimes, but the control of the Mario jump and the sorts of challenge variations it allows for are too great to ignore. However, I still have problems with this. Maybe I’m the only one, but when I look at Mario jumping, I can’t help but find it a bit ugly. It’s a little harsh. Instead of slipping parabolically up to a stand-still and back down again, Mario has an almost triangular leap because he must be able to fall at any moment the player releases the jump button. The visual pushes me out of the game a bit (picky, yes, but nonetheless).
Fortunately, I’ve recently happened upon a great example of a compromise between the Stiff and the Mario jumps.
The Glide: A compromise.
In Doukutsu Monogatari (Cave Story), the player still controls their jump in the same way that they would playing Mario Bros, but he still has a parabolic trajectory. I’ve played around with this kind of a jump myself and I believe the way it’s programmed in Cave Story is like so:
-Jump button pressed: Upward force is initiated. Gravity’s effect on player is lessened.
-Jump is held: Gravity’s effect on player remains lessened.
-Jump is released: Gravity’s effect on player increases to its normal rate.
-Player hits ground and jump is over.
The resulting trajectory looks like a parabolic curve that begins heading up at the start of the jump, bends inward when the button is released and then a new curve pulls the player back down to the ground. I really like this idea, compromising between the two basic jumps to produce a more natural, but controlled, action.
The Double Jump
Of course, there’s the double jump. I love the double jump. It creates an awesome sense of agility and power in the player while also offering a greater sense of control. And what’s best about this one is how it’s creators gave a great big middle finger to anyone that said they had to be realistic. I mean, anyone that says a double jump is at all an idea of “realism” is a nut. I don’t know who it was, but someone sat down and said “I want my game’s players to jump off of the air,” and that person kicked ass. I can only imagine this was the accidental product of a game’s bug, but whoever recognized it as a fun element and used it was really thinkin’ straight. You can find this in the MegamanX series or good old Super Ghouls and Ghosts.
Possibilities
Jumps can go in infinitely different directions, moving simultaneously toward and away from reality. As basic as this action might be, it has a lot of potential variation.
When creating a jump ability for your game, consider what has been done before, what is truly necessary for a player to perceive the act of jumping, and which aspects of jumping you want to emphasize for your game, what feeling you want to generate in the player. Depending on what sort of a game you’re working on, you may want to explore new areas of the human jump that others have ignored (eg: rotation, only slightly recognized by games like the Bonk series).
I’ll try to come back to this topic after I’ve uploaded some of my own stuff.
-Christopher J. Rock