Submission #3476: snark, Kyman, sonicpacker, MICKEY_Vis11189, ToT's N64 Super Mario 64 "0 star" in 05:02.25

Console Nintendo 64 Emulator mupen64 0.5 re-recording v8
Game Version USA Frame Count 18135
ROM Filename Super Mario 64 (U) [!].z64 Frame Rate 60
Branch 0 star Rerecord Count 96969
Unknown Authors snark, Kyman, sonicpacker, MICKEY_Vis11189, ToT
Game Super Mario 64
Submitted by sonicpacker on 2/27/2012 11:54:44 PM

Submission Comments
Super Mario 64, the classic platformer from 1996, stars that Italian red plumber dude, named Mario. So he gets an invitation to have a one night stand eat a cake that Princess Peach has baked for him. So, like any fat Italian man would, he jumps in a green tube and heads to the castle - and so the journey begins. Once Mario arrives, he realizes that there is no cake and there will be no cake. The princess wants him to lose some weight, and she has hired Bowser to be a fitness trainer for Mario. The plan is to motivate him with cake and make him to run around the castle for "power stars," but Mario, just as any fat Italian would, skips all of that, loses no weight and demands cake.

Game Objectives

  • Emulator used: Mupen64 0.5 Re-Recording v8
  • Aims for fastest time
  • Uses game-breaking glitches


This TAS originated when sonicpacker saved 2 frames on the Bowser in the Sky BLJ after being inspired by Mickey's amazingly optimized beginning. Following that, ToT found a trick for Bowser in the Dark World where Mario falls off the ledge after the diving section with high speed which saved 1 frame. ToT managed to improve the BLJ speed which allowed Snark to barely squeeze out a second frame by using the falling trick a second time on the same ledge. The first frame of improvement in Bowser in the Fire Sea came from Mickey and Snark using a slightly different method of getting to the pole. Mickey then asked sonicpacker to redo the wall kicking section because he's spent more time with it in the past. In the process of trying to tie the previous run, sonicpacker saved one more frame due to better speed/angle/position. After playing around with a new wall kicking strategy, (combined with a diving method after the pole glitch found by sonicpacker) Snark completely obliterated the old BitFS, beating it by a total of 29 frames. Shortly afterwards, Kyman found another improvement at the end of BitFS that uses a glitchy wall kick on the pipe. It saves 15 frames up to the pipe grab, but loses 1 on the butt-slide due to Mario's position. Overall, we saved 47 frames and are very happy with the resulting run.

Tricks Used in this Run

0-Input BLJ
When you have no input on the analog in between the "A" button presses for a BLJ, your speed will not decrease, thus exponentially increasing the speed at the end result of the BLJs.
Pause BLJ
Normally, you can only press the "A" button fifteen times per second because the game runs at thirty frames per second. If you had thirty continuous "A" frames, you'd just be holding "A" down, not tapping it. However, if you pause while pressing the "A" button, you are given an opportunity on the next frame to release the "A" button. You can follow that by repressing it when it's not paused (therefore letting you BLJ the equivalent of thirty times "per second"). This is useful when you need more speed to travel a long distance. It isn't as helpful as it seems as it takes three extra frames to do a Pause BLJ. In order to save time you need the extra speed to save at least 3 frames.
Forward Jump Kick Trick
While Mario is recovering after a forward movement (dive, long jump, etc.), you can hold the "A" button prior to landing, and on the frame you land, press the "B" button with the analog stick at ^54 or less (on the TAS Input Plugin), you will do a jump kick. The trick is that it maintains all of the same speed from before the landing. You can also apply this when moving backwards (such as after a BLJ), by holding "A" before you are in the running animation, and then pressing "B." This causes Mario to do a jump kick and retain the same speed. This is useful for crossing long gaps and covering large distances.
Slide Kicking
This has been found to be the best method of forward movement over a long distance, because unlike the jump kick, you can do it repeatedly without losing speed.
Punch Trick
Instead of running for one frame when accelerating from a stop, you press the "B" button with no analog input, which gives you a starting speed of 10 instead of roughly 8.
Forward Speed Conversion
After triggering text, Mario is in a frozen state with his speed stuck at what it was while activating the text. When the text is read, you have the ability to do many things. One trick we can do with this is to press "C^" (upper C button) and "Z" at the same frame and hold a specific direction to get forward speed (as opposed to backwards speed which we originally used to activate the text). This is useful because forward speed can be used for things like getting to high places, such as the endless stair case. If you don‘t use Z with C^, your options are limited, because you only move forwards or backwards in a state that will not let Mario jump.
Instant Jump Kick Trick
This trick allows you to jump kick on the very first frame that Mario has input. This also is enables you to choose an angle for Mario to travel. You do this by holding A for at least one frame before Mario can move, then push B and the direction you want to go on the first frame of input.
Hyper-Speed Wall Kicking (HSWK)
Mario's speed increases infinitely while airborne with the analog held forward. If he wallkicks on the first possible frame, he doesn't lose any speed.
Glitchy Wall Kick (GWK)
If you combine certain Mario angles with certain wall angles, sometimes you can make Mario kick off of a wall in the opposite direction that he's supposed to.

Improvement Table

SectionFrames SavedFrames Saved Overall
Lakitu Skip00
BLJ to BitDW00
BLJ to Basement02
DDD Skip02
To 2nd Key Door045
Spiral Stairs to BitS045

Special Thanks

Nahoc, for helping out with the submission text.
Both Aktan and Nahoc for helping out A LOT with the YouTube encode. <3

Suggested Screenshot

Enjoy the run!

Baxter: Updated the submission file at the author's request.
Baxter: Judging when the new improvement is done.
Baxter: Submission file replaced at the author's request.
Baxter: Accepting as an improvement to the published run.
natt: Processing...
natt: Releasing mutex. Sorry about that
Nahoc: Processing instead of natt.

Last Edited by Nahoc on 4/14/2012 5:43:59 PM
Page History Latest diff List Referrers