Bismuth

Additional notes for The Perfect Mario Speedrun Explained

Jun 16th, 2023 (edited)
3,905
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.43 KB | None | 1 0
  1. Note 1 (2:55): 12 times more popular on N64. All platforms combined, 16 star is over 26 times more popular, with 6216 total runs compared to 236 for 0 star.
  2.  
  3. Note 2 (5:17): The formula for acceleration goes as follows: 1.5 * m * cos(θ) ± d. Variables are defined as such:
  4. m = Stick magnitude from 0 to 1.
  5. θ = Angle between the stick orientation and Mario's facing angle.
  6. d = drag, which is 0.35 in most cases. 1.35 when Mario is going faster than 32 speed (48 speed during a long jump), and 2.35 when accelerating backwards beyond -16 speed. Drag acts like you would expect: it brings the speed towards 0, so it's subtracted from positive speeds and added to negative speeds.
  7. What this means is that when the stick is held fully forward, Mario can accelerate beyond the speed cap at a rate of 0.15 units/frame², which is why you can see his speed reach in the 50s. Since his negative speed cap imposes a bigger drag penalty, he will always gradually lose speed when moving backwards quickly. Also, diving technically follows the 32 speed cap, but it adds a flat 15 speed to Mario with a hard cap at 48, so in reality, it acts similarly to a long jump. There are a lot more quirks like the .99 trick and straining but those are rarely relevant in a real-time setting.
  8.  
  9. Note 3 (7:19): There are many small nuances between ceilings and out of bounds. Mario can't normally move into any of them, although some edge cases allow him to do that. In a ceiling, he will bonk constantly while falling through until he's out. When out of bounds, Mario dies instantly (and his hat disappears because he forgets he's supposed to have it on!). More importantly for our purposes, when Mario is moving upwards into a ceiling hitbox, his vertical speed is set to 0 but his horizontal speed is preserved. When moving upwards towards out of bounds, it's the opposite: his horizontal speed is set to 0 but his vertical speed is preserved. This is why you want a ceiling and not out of bounds to perform a BLJ. There are many other small differences: check out Pannenkoek's Walls, Floors and Ceilings for more information: https://www.youtube.com/watch?v=UnU7DJXiMAQ
  10.  
  11. Note 4 (7:43): Initial speed variability, speed loss due to friction and the natural deceleration past the speed cap means it's not as simple as doing -16 * 1.5^14.
  12.  
  13. Note 5 (8:30): Star doors are a little different because they are fairly thin double sided walls. They only require around 280 speed to get through since Mario can end up inside both walls at once. More on that in Note 13 and in this short: https://www.youtube.com/shorts/IPYE6W0I5vU
  14. However, as you can see in this case, Suigi clips cleanly through the wall, not the door, so he must have had more than 400 speed.
  15.  
  16. Note 6 (8:44): It seems odd, but the main lobby central stairs are actually a slope, not real steps. To see why, simply look at the stairs just below, leading to the basement. If Mario jumps onto them, he often ends up gliding strangely down multiple steps instead of landing normally. This is because every step has a wall hitbox that pushes him onto the next step below, in a chain that carries him down until he finally misses a wall hitbox. If the steps are too narrow, this is bound to happen, and it most likely did happen with these stairs, so they opted for a simple ramp that mimics the stairs. Fun fact: you can see the ramp doesn't have the same slope as the visual stairs because Mario's shadow disappears into the ground as he runs up and down.
  17.  
  18. Note 7 (8:53): Mario's effective speed (as in, the actual distance he moves) is calculated by multiplying his horizontal speed by the cosine of the slope he's on. The steeper the slope, the smaller the movement. This works well when he's moving perpendicularly up and down the slope, but creates odd behaviour when moving parallel to the slope (like going sideways on those steep walkways in Bowser in the Sky or on the rooftop). This is called the de facto speed, and it doesn't affect Mario's horizontal speed - only the resulting displacement. For simplicity, the slope coefficient was ignored here. It never becomes particularly relevant during a 16 star run.
  19.  
  20. Note 8 (11:34): The hitboxes don't line up with the platform as seen on screen because it's so much closer to the camera than Mario is. The focus point of the camera is the lower left corner of the platform, so the top of the edge of the platform close to the camera appears about twice as high because it's so close.
  21.  
  22. Note 9 (12:07): In the air knockback state, Mario has a fixed -16 speed, but that's sort of irrelevant in this case - the important bit is that he loses all his previous momentum and only gets 24 back from the wall kick.
  23.  
  24. Note 10 (20:50): More specifically, there are no quartersteps during the flip part of the ground pound. There's a wall check at the start of every frame, but that does not include floors and ceilings. So, while walls can still affect Mario during the flip part of the ground pound, floors can't. Mario does check for a ceiling and cancels his upwards movement if it would put him inside of a ceiling, but he won't collide with it, strictly speaking. This allows the clip shown in the video where the elevator platform moves through him.
  25.  
  26. Note 11 (26:57): The death plane triangles are pitch black, which would have made it impossible to see the perspective. Instead, a push box was hacked and stretched out to match the plane for this demonstration (thanks pannenkoek2012!).
  27.  
  28. Note 12 (28:47): To be more precise, the object is placed at a position that follows Mario's right hand when an object he's holding has to be rendered. It has been called the Held Object's Last Position (HOLP). The object is placed at the HOLP horizontally but at Mario's position (on the floor) vertically. The HOLP being out of bounds, the failsafe kicks in and the object is instead placed directly at Mario's position.
  29.  
  30. Note 13 (30:10): What is this arcane subframe wall collision nonsense? Well, I'm glad you asked. Look closely at the video to see each step. On every frame, there is an initial wall check before Mario moves in quartersteps. Walls actually have two different hitboxes: the typical 50-unit (on each side of the wall, for 100 units total) which is how Mario interacts with most walls, and a thinner, 24-unit one that starts higher up on the wall that Mario can sometimes run into on certain mid-sized ledges.
  31.  
  32. Mario begins the frame inside both 50-unit walls, but only in the outside 24-unit wall (MIPS side). During that initial wall check, first, the 50-unit hitboxes are processed. Because Mario is in both of them, he's affected by both at once and the combined push acts as a reflection along the axis exactly in the middle between both walls. This puts him at the same point on the opposite side, which means Mario is now in the 24-unit inside wall (DDD side).
  33.  
  34. Still in the initial wall check, now the 24-unit walls are processed, so Mario is pushed in towards DDD and out of the outside wall's 50-unit hitbox. After one quarterstep, Mario moves slightly backwards because he just bonked, but that doesn't matter; the 50-unit inside wall pushes him completely inside, since the outside wall doesn't affect him anymore.
  35.  
  36. In the first door, there's a gap between the two 24-unit walls that Mario fits in, so he ends up only alternating between two positions, being pushed by both 50-unit walls 5 times in a frame (initial wall check + 4 quartersteps). Mario's position happens to be so close to the exact middle point between the two walls that this oscillation is barely noticeable. Be on the lookout for a short coming out soon about the interactions inside the doors during MIPS clip 1, which is mostly the same with the key difference that there's a gap between the two 24-unit walls.
  37.  
  38.  
  39. Note 14 (31:22): This is part of the two reasons why seemingly random invisible walls exist in the game. Floors and ceiling collision checks round Mario's position down to an integer value, which causes small rounding errors (and parallel universes). The edge of a ceiling sometimes sticks out from the floor above it, creating a line of unit squares of ceiling not covered by the floor and extending up way beyond their intended space. Mario bonking on a ceiling has a similar behaviour to him bonking on a wall (with a few key differences), so exposed ceilings are often called invisible walls. Unless they are found near the edges of a moving object, invisible walls aren't dynamic at all, but the odds of Mario's quarterstep lining up precisely with a unit sized square when going through it are roughly 10% (inversely proportional to his speed), which is why they can seem a bit random.
  40.  
  41. Note 15 (31:39): Unlike most other movement in this game, swimming is not subdivided into four quartersteps, making clips like this a lot more common than they would have been otherwise.
  42.  
  43. Note 16 (32:18): Emulator is also accepted, and especially popular with beginners. Again, runners typically move to N64 when they approach the top level. Despite both VC and EMU being faster than N64, while 9 runners had a 14-minute time on N64 at the time Suigi got the record, only one runner had a 14:xx on each of the other platforms.
  44.  
  45. Note 17 (37:19): This clip being recorded on emulator with no fog, the longer draw distance makes the end of the staircase visible, but that wouldn't be the case on N64.
  46.  
  47. Note 18 (38:46): Mario needs to jump to the left of the platform support because it has tiny walls. Then, he has to strain (move sideways) into the wall hitboxes on the back side to get sort of pulled in towards the center by the double wall hitbox action. See how it works at 11:50-12:40 in Walls, Floors and Ceilings: https://www.youtube.com/watch?v=UnU7DJXiMAQ&t=710s
  48.  
  49. Note 19 (41:42): As is often the case with speculation on possible time saves, take this with a grain of salt. It's based on Suigi's gold splits (best time ever on a given split) and strategies that he didn't implement in this run, with a ridiculously small margin of error given (usually within 0.1s of his gold splits). One couldn't possibly expect to get every single time save listed, but on the other hand, as strategies evolve over time, it's impossible to tell which trick might become a staple a few years into the future.
  50.  
  51. Note 20 (42:33): The main difference simply comes from taking every single humanly-viable strategy and making it frame perfect at all times. In fact, it being 2.5 years old means it uses slightly outdated "optimal" strategies, such as not using the bridge clip in Lethal Lava Land and doing a slower version of TAS Long Jump in Bowser in the Sky.
Add Comment
Please, Sign In to add comment