1,811
edits
(I need to go to bed, sadly. Beginning stuff for this page, I'll add more later.) |
(Adding in forwards and sideways equations, and described their general functionality. Plan on adding the X.99 tricks into the article soon.) |
||
Line 3: | Line 3: | ||
'''Straining''' is a technique that Mario can use at any point while in midair in most states. The technique involves how the joystick is angled relative to Mario's facing direction (which cannot be changed midair in most situations). Because of how the mechanic works, it can often become a trade-off of speed vs distance. | '''Straining''' is a technique that Mario can use at any point while in midair in most states. The technique involves how the joystick is angled relative to Mario's facing direction (which cannot be changed midair in most situations). Because of how the mechanic works, it can often become a trade-off of speed vs distance. | ||
==Technical explanation== | ==Technical explanation== | ||
When in the air, the game deals with Mario's intended movement in two directions- forward and sideways (when forward speed is negative, it indicates backwards speed). These two different directions behave differently from one another, although the two are not independent. | When in the air, the game deals with Mario's intended movement in two directions- forward and sideways (when forward speed is negative, it indicates backwards speed). These two different directions behave differently from one another, although the two are not independent. The farther the joystick is held in a given direction, the less of the effect it has on the other. This is true all the way to the point where one direction is maxed, and the other direction is zeroed. | ||
The following calculations allow you to find what the effects of straining will be, but are not separate equations. Both equations are calculated at the same time and use the same values. This is why the two are not independent. | |||
=== Forwards Movement === | === Forwards Movement === | ||
Forward movement is cumulative where some speed can be added to the forward speed. The maximum speed that can be added to forwards speed in a given frame is 1.15, although this depends on speed and type of air movement. | |||
The formula for forwards speed is- | |||
:: <big>Forward Speed = 1.5 * Stick Magnitude * cos(Angle from Forwards) - Drag</big> | |||
Where ''angle from forwards'' is the angle from a vector straight forwards to the joystick direction, and ''stick magnitude'' is the magnitude of the stick being held divided by the maximum value. In other words, if the control stick is pushed all the way, the magnitude is 1. | |||
Drag depends on two things- whether or not you are long jumping and what your speed is. The values are- | |||
{| class="wikitable" | |||
|- | |||
! Condition !! Drag | |||
|- | |||
| Forwards Speed ≤ 32, Non-Long Jump || .35 | |||
|- | |||
| Forwards Speed > 32, Non-Long Jump || 1.35 | |||
|- | |||
| Forwards Speed ≤ 48, Long Jump || .35 | |||
|- | |||
| Forwards Speed > 48, Long Jump || 1.35 | |||
|- | |||
| Backwards Speed ≥ -16 || -.35 | |||
|- | |||
| Backwards Speed < -16 || -2.35 | |||
|} | |||
There's a couple important things to note from the drag table. Drag is never zero, you will always slow down if not straining. Drag is not linear, it only changes over certain barriers. The impact of this can create odd movement effects, like the 31.99 Trick. Lastly, the backwards speed drag when faster than -16 is so strong, you cannot actually accelerate faster than it. This creates a soft cap for backwards speed which prevents Mario from moving backwards fast (typically). | |||
=== Sideways Movement === | === Sideways Movement === | ||
Sideways movement is a tad simpler than forward movement. Any sideways movement applied gives Mario sideways displacement, but not speed. This displacement is a max of 10 with pure sideways direction being held. | |||
The formula for sideways displacement is- | |||
:: <big>Sideways Displacement = 10 * Stick Magnitude * sin(Angle from Forwards)</big> | |||
Where ''angle from forwards'' is the angle from a vector straight forwards to the joystick direction, and ''stick magnitude'' is the magnitude of the stick being held divided by the maximum value. In other words, if the control stick is pushed all the way, the magnitude is 1. | |||
==Uses== | ==Uses== | ||
Although technically straining is always in use while in midair, there are times when it is very important. | Although technically straining is always in use while in midair, there are times when it is very important. | ||
* While building speed in a [[Pedro spot]] or via [[Hyperspeed Grinding]], Mario may need to strain in order to avoid breaking free prematurely. This sacrifices some of his speed. | * While building speed in a [[Pedro spot]] or via [[Hyperspeed Grinding]], Mario may need to strain in order to avoid breaking free prematurely. This sacrifices some of his speed. |