Jumping
Jumping is a basic mechanic in the Metroid Prime games that allows for Samus to gain an increased amount of height when the B button is pressed. In addition to this basic functionality, jumping is also the basis for which Samus is allowed to perform Combat Dashes or Scan Dashes. By default, Samus is only allowed to jump once after leaving the ground, but this can be increased to 2 by acquiring the Space Jump Boots. The way jumping functions across the three games is largely the same.
Technical Overview
The significance of jumping in speedruns is not just due to its basic functionality, but for the way that it interacts with other mechanics.
Jumpstates
Jumpstates are a variable that the Prime games use to track whether or not Samus should be allowed to jump at any given moment, as well as dictate whether or not she can use her Dash or Space Jump. Jumpstates are the most important concept to understand when talking about the inner mechanics of how jumping works. Due to the complexity of this game's movement, there are 5 states in total:
- Jumpstate 0: "On ground" Self-explanatory.
- Jumpstate 1: "Lift-off" The first 14 frames after Samus jumps, or the first 7 frames after Samus performs a Space Jump. During this jumpstate, Samus is able to perform a Dash by releasing B while holding the analog stick in the strafe range, highlighted in red on the attached image.
- Jumpstate 2: "Free-fall" Samus is no longer able to Dash in this jumpstate. If Samus has the Space Jump Boots, she will be able to use them to get an extra jump at this point, provided the internal "Space Jump Timer" hasn't ran out.
- Jumpstate 3: "Coyote" This state is active for 2 frames when Samus walks off of a ledge, after which Samus goes back into jumpstate 2. This state is helpful mainly during Aether Jumping. (see also: Out of Bounds)
- Jumpstate 4: "BSJ State" This special jumpstate is active only when Samus is in Morph Ball. For 22 frames after the Morph Ball leaves the ground, you have greater movement influence while in the air. You are also able to jump while in this state after an Instant Unmorph, which makes Bomb Space Jumps possible.
Vertical Velocity Increase and Decrease
Assuming a neutral environment without any obstacles, when Samus is in jumpstate 1, her vertical velocity is constantly increased at a rate of 0.833 units per frame. Conversely, in jumpstate 2, her vertical velocity is constantly decreased at a rate of -0.583 units per frame. Note that Samus' vertical speed is capped to 11.667 units without Space Jump and 14.0 units with Space Jump. Note that this increase can be variable based on the room's geometry and whether or not Samus is moving (which minimally increases her velocity while moving upwards).
Performing a Dash while in jumpstate 1 causes Samus' vertical velocity to sharply decrease for a single frame. How much exactly her velocity decreases depends on when during jumpstate 1 the Dash is performed. However, her velocity will continue to increase afterwards up until the point where jumpstate 1 ends. This is the reason why, when performing Scan Dashes, it is often important that the B button is released as soon as possible. The faster B is released, the less height will be lost as a result. If you release B too late, this can make certain tricks such as Space Jump First more difficult than they otherwise have to be.
Slope Jumps
See also: Slope Jump
Slope Jumping is when Samus rubs along sloped collision while jumping. This can allow Samus to increase or decrease her speed while touching the collision. This can result in higher vertical jumps or to fall faster when unmorphed which is known as a Reverse Slope Jump.
Floaty Jump
See also: Floaty Jump
Floaty Jump is when the game applies water physics to Samus' jump while she is in the air, allowing for her to jump far higher than is normally possible. This happens because the game thinks Samus is in the water even though she isn't, resulting in her jumping as if she is in water.
First Frame Jumps
When jumping on the first frame possible, Samus will keep her vertical speed going into the jump. The following conditions are required:
- Samus is grounded with a non-zero vertical speed. Examples include falling, jumping, ledge clipping, repositions or knockback.
- Samus jumps on the frame she is grounded with non-zero vertical speed.
- Samus is airborne the next frame after jumping
While in a perfect standstill, Samus' vertical velocity is 0. However, due to the way jumping was coded, jumping doesn't reset Samus' vertical velocity on the first frame of jumpstate 1. This means that if Samus' vertical velocity is non-zero then the jump will simply increase the velocity according to the normal jump function. If Samus has a positive vertical velocity, then Samus will be able to gain more height than a normal jump. If Samus has a relatively low negative vertical velocity, jumping will result in very low height jumps. If Samus has a large enough vertical velocity such that jumping does not bring her speed above 0, jumping will only result in slowing her fall.
Ledge Clips
See also: Ledge Clip
Ledge Clips (often referred to as ledge clip ghettos) occur when the following conditions are met:
- Samus jumps while rubbing up against a ledge
- Samus snaps onto the ground as a result, abruptly ending the jump
- Samus jumps on the exact frame the game registers that she is on the ground
As a result of these three conditions being met, Samus will get extra height from the jump compared to normal. This happens because Samus' vertical velocity does get reset to 0 for a frame. Therefore, when Samus jumps on this exact frame, she can start her jump from a higher vertical speed and achieve a higher jump.