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
- Takes damage to save time
- Uses game-breaking glitches
- Only opens the front door and the key doors
- Makes you cry at night
Our initial thoughts for a completion time were approximately 5:23, but it kept getting lower and lower until we achieved our current result. This run is an improvement of 24.4 seconds to the previously published movie.
Comments
This submission is the biggest improvement to any previous 0 star run. The majority of the improvements are found in the Bowser in the Fire Sea and Spiral Stairs to Bowser in the Sky sections. In our opinion, this 0 Star run is different from all of the others. We strongly recommend watching the previous movie(s) before this one, to really notice all of the differences.
New tricks 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. This saves time in a few places.
- 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.
Improvement Table
Section | Frames Saved | Frames Saved Overall |
---|---|---|
Lakitu Skip | 9 | 9 |
BLJ to BitDW | 20 | 29 |
BitDW | 52 | 81 |
B1 | 1 | 82 |
BLJ to Basement | 5 | 87 |
DDD Skip | 66 | 153 |
BitFS | 224 | 377 |
B2 | 0 | 377 |
To Tower | 2 | 379 |
Spiral Stairs to BitS | 251 | 630 |
BitS | 83 | 713 |
B3 | 8 | 721 |
Sections Described
Lakitu Skip
The Lakitu Skip went through many iterations before we got this result. There was the first one (frame 1812) which tied the previous run. Then we managed 1810 with the forward jump kick trick. Shortly after uploading our WIP, Moltov had a brilliant idea to use the slope in the manner you see in our current run. That achieved 1807 the first time through. Days later, we tried a bit more and figured out long jumping into the slope would be slightly faster. Thus came 1805. Then the final version came about days before the run finalization. Somehow we managed to get more speed off of the slope and recover a frame sooner giving us 1803 (a total of 9 frames over the previous run).
BLJ to Bowser in the Dark World
The BLJ to BitDW went through 3 different changes. All methods are completely different from the previous runs' route. In the original WIP, we used a weird BLJ that made Mario "clip" the stair railing and repeatedly BLJ. Shortly after that, the P-BLJ was found. We instantly knew that this needed to be tested for these stairs. It turned out that only 1 pause was needed to achieve the correct speed because there is a limit on the wall that you hit while going backwards. This stood as the current record until we felt that it looked like you could BLJ a frame sooner. In the end we were correct and managed to save a total of 20 frames over the previous run.
Bowser in the Dark World
We found a way to get to the elevator one cycle earlier in "Bowser in the Dark World," by doing a triple jump instead of a wall kick. This is faster because the wall kick goes past the elevator and then comes back. This saves about a second in itself, and doesn't hurt the BLJ at all. In the previous run, 0 input BLJs and pause BLJs were unavailable, but this time around, we utilize both on the elevator for max speed. 1 P-BLJ is the optimal amount because we BLJ once on the bridge. Anymore BLJs and Mario flies off of the bridge. From here, we use the same route as the previous run, but with much more optimization.
Bowser 1 Fight
For the first Bowser fight we managed to save one frame through a slight change of method. The previous runs' route was a single jump, followed by a double jump + dive over Bowser. The new route consists of an instant jump kick, then a double jump + dive over Bowser. The throw was basically the same as in the previous run.
BLJ to Basement
For the BLJ to the basement, we used a new strategy that utilizes the forward jump kick trick to gain distance. On the BLJ, we landed with -15.999 speed which is the maximum amount possible. This allowed for less BLJs to gain a high amount of speed. The rest is basically the same as the previous run.
Dire, Dire Docks Skip
The Dire, Dire Docks Skip went through a bit of change too. In the current version, we used the punch trick at the start which saved about a frame. We also get as little speed as possible for the long jump by using small inputs so that we can turn it into backwards speed easier and strain much less towards the stairs. This in itself saves quite a few frames. The P-BLJ gave us a completely new strategy. Using it at the end of the side BLJs gave us the opportunity to ignore the use of even one air BLJ. ReneBalow and DennisBalow found that you can skim the railing as you go towards the star door (which gets Mario into his butt-sliding animation). That allows us to hit the entrance of BitFS directly, and fall straight in. Previously, we would need to cancel Mario's long jump animation on the entrance, followed by a ground pound to stop momentum.
Bowser in the Fire Sea
In the original WIP, we had the same beginning strategy as in the previous run for "Bowser in the Fire Sea," but then Gsus016 found a better starting strategy which saved some frames up to the pole. When we do the pole glitch, we don't grab the pole unlike before. We wall kick off of the gap that the pole penetrates. This is faster because we avoid the delay of grabbing the pole. Afterwards, we do a BLJ like in the previous run, except we purposely hit the lava to boost up to the higher level of the elevator. Once at the top, we do a new BLJ. This BLJ is very low in relation to the ending pipe. Luckily, we can be below the pipe on an invisible wall and wall kick into the ending warp. All in all, this new BLJ saves nearly seven and a half seconds.
Bowser 2 Fight
We tried hard to save frames on this from the previous run, but we didn't succeed. The only parts that are different are pre-grab and after the throw.
To the Second Key Door
Entering/exiting DDD went as expected. As far as we know, you cannot save in that area. However, with the combination of the punch and the forward jump kick trick we saved a frame in the lobby.
Spiral Stairs and Endless Stairs
Moltov is a genius. He deserves every bit of credit for coming up with this amazing theory. There were many versions of this section of the run. It started out with the simple idea to side BLJ on the spiral staircase stairs and do the old "long jump up to the door" method. From there, it kept evolving into what we have now, which is, in our opinions, the coolest looking and most innovative part of the run.
Bowser in the Sky
For "Bowser in the Sky," the start, as you will notice, is similar to the previous run, aside from the fact that we utilize a punch + the jump kick trick before the yellow slope. Just before the elevator, we set up for a jump kick + double jump + dive onto the elevator. We then side flip + dive towards the big slope with the "!" switch. This saves a lot of time because we get to the elevator a cycle earlier and sets up for good slope-jump-dives. Next, we just get to the final elevator somewhat optimally. It's not important to fully optimize this because we get to the elevator too early for our final improvement – the final improvement being a BLJ on the elevator directly into the pipe (found by Nahoc10). Our BLJ saved 1"53 over the first discovery of this route. Overall this saves well over two seconds because you go in a straight line towards the pipe and are able to clip through it.
Bowser 3 Fight
Trying to find improvements with this part is hell. Only two strategies were successful (tied each other) in the end. We narrowed it down to using the same strategy as the previous run because it looked cleaner and provided a more entertaining ending. The previous run consisted of a ground pound directly under the final star. This is because the speed conservation tricks were not known at the time. You don't need to position Bowser in a specific spot since ground pounding is not a necessity now. This makes it so you can have Bowser hit the ground sooner, therefore triggering the text faster, and finally, ending input earlier.
Author's Personal Comments
SilentSlayers
To start off, I'd just like to say we all had a lot of fun with this, even during the frustrating parts. Having a team of 5 people is so advantageous. Sometimes it brings out laziness, since you can just say "one of the other four will do it," but once you get past that and have five people working on one thing, the run starts to get done very fast. SM64 has also had tons of discoveries because it's so complex. Having five creative people on the job, you are bound to find many time-savers. Our team didn't start like it is now. It originated with just myself and Johannes. Then we got extremely lazy, so we got a hold of our first slave co-author, Kyman. We had been talking strategy and time-savers for quite a while before hand and I noticed that he was becoming a very strong TASer. Naturally, I asked him to join the team, which he gladly accepted. Kyman revolutionized the whole run by finding the 2nd Bowser stage's strategy, involving the BLJ that brings you to that invisible floor below the ending pipe. After a while, we stopped TASing, so the run somewhat died again. After this, I begin to notice another person with potential in TASing. Moltov, one of the five authors of our 0 star, became a very strong TASer in the span of a few short months. Since I was friends with him, I noticed his skill increasingly rising, so I invited him to join our team. After his addition, he almost instantly became helpful. He spent a lot of time working on the first Bowser stage, and inspired me to find how to BLJ an elevator earlier in the first Bowser stage. That was only the beginning for him. He found one of the biggest time-savers in the whole run, and in my eyes, the most entertaining and mind-blowing. That's all good, but again, somehow we lost interest and just got lazy. Thankfully, Johannes and I always have a good solution for this. Get another slave co-author! sonicpacker joined our team. Just like the other co-authors, he was useful, and never stopped being useful. He is our hex slave, and is pretty much, in my opinion, the least lazy TASer on the team. We felt five authors was enough, and due to our “on and off motivation” for the project, we knew it would eventually finish with this combination of players. We slowly, but surely, optimized and re-did things when new strategies were found. After submitting our 5:04'80, Mickey/VIS, a well known Japanese TASer cleaned up our run by fixing errors we had, and found a different strategy to scale the endless stairs. We acknowledged the fact that he put a lot of work into it, so instead of just hex editing in his work, we added him as a co-author with his permission. We kept pushing forward and now here we are; we finally finished up this project that took well over a year. Our total re-records doesn't accurately show the struggle and devotion we have put into this project, but hopefully, the result itself does. We hope you enjoy our TAS!
sonicpacker
Even though I was added to the run fairly late compared to the 4 before me, I was still around for the excitement of most of the run – discoveries, etc. It was always great to wake up, then sign into MSN, only to be welcomed by new theories and ideas that the team had. Surprisingly, they were successful most of the time. This led to huge improvements and route overhauls. Even though I wasn’t around for the longest time, I was here for every part of what we currently have in our TAS. A lot of the old material (from when the 0 Star was first announced) got outdated pretty fast. This called for TASing taking up full weeks of our time. I hope that when you watch it, you can see how much effort really was put in by our whole team.
Moltov
This was a good run, I'm glad I could contribute to the zero star team. Not only did we kick some major butt but we had a good time doing it. From Butt Sexing Mammals To Being Fresh And. I know I sat several times just thinking through the entire run on where frames could be saved, and with that mind set, I was able to save a lot of frames in this run. Overall, good jobs guys. If we TAS anything in the future, I'm sure we’ll rape it.
Kyman
I love this game. Sometimes it might be challenging, or just plain annoying to deal with, but I still love it. I think this TAS shows how much all of us love it. This is the best project I have ever been a part of, and I think this run has shown me a lot of things. I cannot say how much I respect and love working with the other authors, and I hope we remain friends for a very long time. Good job all around.
Mickey/VIS
Todo
Johannes
I wasn't very active in the run due to losing interest in SM64 TASing and the ever-decreasing need for me as the team got bigger. Most of my work is obsolete, but I did do the "victory dance" after the final Bowser battle in the original submission. I've followed the run's progress and really enjoyed watching the improvements. I had no idea 25 seconds could be saved.
Suggested Screenshot
Other Notable Screenshots
Special Thanks
Here is a list of people we would like to thank for helping out our run (in alphabetical order):
- Anavrin
- Blaze
- bobmario511
- Bretaigne94
- DennisBalow
- Efrain
- Eru
- Grokken
- Gsus
- Mamunine
- MrRobertsZ
- Nahoc
- ReneBalow
Final Thoughts
We really had a great experience doing this, and we all hope you enjoy our TAS.
sgrunt: Replaced the movie file with one 9 frames faster at the request of sonicpacker.
mmbossman: Despite the *gasp* 3 no votes, this is one of those "duh, accepting" runs. Good work guys, on continuing to raise the bar on optimization.
Aktan: Processing... May take a while due to multiple encodes...
adelikat: Replacing the movie file with one that is 2 frames faster as requested by sonicpacker
Aktan: Processing yet again...
Aktan: Waiting for possible input update before encoding..
sgrunt: Replaced the submission file again(!) with one that is a few frames faster. Now get this run published!
Aktan: Third time's the charm?
Flygon: *gasp* Removed outdated YouTube module. Will attempt to reencode myself.