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

SectionFrames SavedFrames Saved Overall
Lakitu Skip99
BLJ to BitDW2029
BitDW5281
B1182
BLJ to Basement587
DDD Skip66153
BitFS224377
B20377
To Tower2379
Spiral Stairs to BitS251630
BitS83713
B38721

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):

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.


1 2
10 11 12
Active player (426)
Joined: 9/21/2009
Posts: 1047
Location: California
Ok everyone, the .m64 file is updated and can be downloaded here. Be warned that Mupen has a bug where it presses every controller button on the last frame of input. For that reason, the .m64 ends with a pause when it shouldn't. The author list needs to be changed, as well as some things in the submission text.
Skilled player (1326)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
I just saved 2 frames from the title screen. *Sonikkustar runs away fast*
Experienced player (623)
Joined: 11/30/2008
Posts: 650
Location: a little city in the middle of nowhere
The reason that all buttons press on the last frame is that Mupen is trying to read past the EOF. Add some null frames to the EOF to rectify this. Don't worry, it won't increase the length of the movie unless you change the VI count in the header. Also, try decreasing the VI count by 1 or 2, this might eliminate the need for Mupen to read an extra frame at the end anyway (and will decrease the length of the movie) EDIT: fixed M64: http://dehacked.2y.net/microstorage.php/info/536713513/SM64fixd.m64
Measure once. Cut twice.
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
I'll give a shot at encoding this... it's always a good idea to learn how to encode 64 movies.
Active player (315)
Joined: 8/25/2006
Posts: 287
Hey guys. Mickey would like his name to be Mickey/VIS on the title of authors. He is known as VIS in Japanese communities. I apologize for all of the confusion.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
Silent_Slayers wrote:
Hey guys. Mickey would like his name to be Mickey/VIS on the title of authors. He is known as VIS in Japanese communities.
Like so?
Active player (315)
Joined: 8/25/2006
Posts: 287
Yes, thank you, sir. :)
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
The m64 that andymac posted still has the pause glitch at the end. So... well... yeah.
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
sgrunt wrote:
Silent_Slayers wrote:
Hey guys. Mickey would like his name to be Mickey/VIS on the title of authors. He is known as VIS in Japanese communities.
Like so?
I'm not sure you should have changed his "real name" as well, though. I think that one should be just Mickey, unless his surname is /VIS.
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
No longer encoding due to greatest insistences from Aktan and Grunt regarding my wanted use of the HQ4x filter for the textures. The published feature will feature bilinear filtering instead.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15582
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [1689] N64 Super Mario 64 "0 stars" by SilentSlayers, sonicpacker, MoltovM, Kaylee, MICKEY_Vis11189 & Johannes in 05:04.57
GabCM
He/Him
Joined: 5/5/2009
Posts: 901
Location: QC, Canada
Finally! I see this stuff is unstreamed. I'll make an HD encode for that, but if Aktan (or anyone else) is making the official YouTube stream, please reply and tell me to stop.
Publisher
Joined: 4/23/2009
Posts: 1283
Mister Epic wrote:
Finally! I see this stuff is unstreamed. I'll make an HD encode for that, but if Aktan (or anyone else) is making the official YouTube stream, please reply and tell me to stop.
Uh, it is streamed. Maybe you meant not YT streamed? Anyway, I'll be making two other resolutions of 640x480 and 1920x1440 with Archive streaming.
Active player (426)
Joined: 9/21/2009
Posts: 1047
Location: California
The submission text still needs severely edited.. But Kyman won't sign on to talk to anyone and he's the only one of us that is capable of editing the text.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
If you can provide us with an updated submission text, we can make the changes.
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
Yeah the best thing to do is to pastebin the amended text and ask a staff member to replace it. Or maybe an admin can enter the database and change the submitter field from Kyman to sonicpacker. Either way it's great to see this is out at last.
Skilled player (1326)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
sonicpacker & Moltov still need to be edited in as players. >_<
Active player (426)
Joined: 9/21/2009
Posts: 1047
Location: California
sgrunt wrote:
If you can provide us with an updated submission text, we can make the changes.
I don't know how to format things like the improvement table, etc. Is there a way to obtain the full text with all of that already formatted so I can just change numbers around, then fix the rest, like our personal comments.
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
GabCM
He/Him
Joined: 5/5/2009
Posts: 901
Location: QC, Canada
It's YouTubed now. You can take at look at the publication. Sorry about the choppy framerate, that's YouTube's fault. At least it's still watchable.
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
Wait a second, there is something I noticed in both the Youtube video and the official encode. Has this star always been visible in the ending credits? I never noticed that... Though now I double checked amongst "supermario64-tas-120stars-rikku.avi" and that star is there, too (although blue). I can't believe I never noticed that in the past 14 years.
Experienced player (504)
Joined: 1/12/2007
Posts: 682
I just saved 2 frames from the title screen. *Sonikkustar runs away fast* XD Don't even joke about that. You'll halt production of the next 0 star TAS by several months.
NitroGenesis
He/Him
Editor, Experienced player (556)
Joined: 12/24/2009
Posts: 1873
It appears to be blue and hard to notice. Since the authors of this run skipped over every star, it's left normal. In a normal playthrough, you would grab it and it would turn blue. Maybe that's why you never saw it?
YoungJ1997lol wrote:
Normally i would say Yes, but thennI thought "its not the same hack" so ill stick with meh.
Editor, Skilled player (1439)
Joined: 3/31/2010
Posts: 2108
Two Words: At Last.
Active player (426)
Joined: 9/21/2009
Posts: 1047
Location: California
The frame chart in the submission text was updated. The only things left to do are to edit SilentSlayers personal statement (he wants to say something about Mickey/VIS), edit Johannes' statement because the celebration wasn't his (we used Mickey's "time-saver"), and finally, we need a statement from Mickey to add in. Here is the encode we would like the submission page to link to instead of MisterEpic's encode: http://www.youtube.com/watch?v=r9zOlNCBYkU This should be the "official" link unless SilentSlayers uploads an encode as well, in which case, we can have 2 links (mine and his).
1 2
10 11 12