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.
- 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
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 above 0 when she jumps, which can be achieved by going up a slope, then Samus will be able to gain more height than a normal jump.
Floaty Jump
TODO