Man, this definitely took way longer than it should have. I actually only started this run, because it seemed so short and easy to do. When I started this in July I was convinced, that I could finish this within 4-5 weeks. Seems like my estimations were a tiny bit off. I didn't really work much on this until this October, because Cucco Collection was right ahead ready to annoy me, but even after this was done there was still a lot of stuff to go.
The run wouldn't even be finished yet if it wasn't for Sam aka Toxicparrot, who worked together with me on this from the "Ganondoor" Glitch until the end of the game. As most of the run was done by myself and none of his input apart from the final blow to Ganon remained in the final product we both decided that it is best to only submit this under my name. It was a lot of fun working together with him, it pushed my motivation a lot. My motivation probably wouldn't even have survived the last section of the run without him, because the game desperately tried to prevent us from finishing this run. We even found a section of the game that you can't synch while TASing, that cost us way more nerves than it should have. More on this later on. Subscribe to Sam, he will be uploading quite a few new OoT/MM TASes within the next weeks:
Let's get to the run itself. I've managed to save 3576 frames or 59,60 seconds over the previous record by Swordless Link. This pretty big improvement comes from better optimizing, a new Sequence Break and a new way to break the Deku Tree. When I started this run I decided the time for an Ocarina of Time frame war has finally come thanks to how short this category became over the last year. You can find a detailed list on how much time I saved everyhwere by scrolling down.
I've done a full game run for both Majora's Mask and Ocarina of Time now. Majora's Mask was MUCH more fun to do compared to Ocarina of Time despite the way higher desynch rate. Can't really tell why, MM is simply better to me. Towards the end my main motivation to get finished was actually simply to finally get finished, if you get what I mean. After all the work I put into stuff like the Cucco Collection I simply had to get this done.
I also started to run documentaries in the background while TASing, which allows you TAS and learn stuff at the same time. Sadly, I couldn't find any good ones anymore, which was also a problem. This will probably/definitely be the last full game TAS I've done for a long while. Maybe after a long break, I will feel like TASing again. During the first few weeks it was actually a lot more fun than in the middle of the run, so maybe a break really helps.
If you want me to do any OoT full game TASes in the future, get your lazy asses up and discover new glitches to break the game even further. Then I'm definitely going to be up for it :P
Infinite Supersliding (ISS)
This trick extends a regular superslide and allows full control of its direction indefinitely. There are various ways to begin this trick. In this run, I usually use the "Water Infinite Superslide", which is executed by entering the water with high speed - in most cases by Jumpslash-Recoil - and then instantly leaving it again.
This slide works by using constant Z presses to maintain Link's recoil speed. This is used to travel in a straight line from one point to another. You can also slightly change your angle during a Z-slide at the cost of the speed 2 (for example: Superslide has speed -18, sidehopping has speed 8.5).
A-Sliding / Analog-Sliding
By constantly alternating between holding a direction on the control stick for 3 frames and holding nothing for 3 frames link is so busy with his animation, that he totally forgets to lose his speed. This and the Z-Slide can only maintain recoil / negative speed (backwards facing speed).
Infinite Sword Glitch (ISG)
Interacting with an object while crouch-stabbing will cause the sword to attack infinitely. This can be done with text, by picking something up or also by blocking damage while crouch stabbing.
This is done by holding ISS position and Z, and then tilting the control stick in one direction and performing a sidehop/backflip, all the while still holding Z. This causes Link to perform a sidehop/backflip at a certain angle, but because Z is still being held, the camera doesn't change and he rotates back to the direction he was facing previously while he's in the air. This allows some angle changes to be avoided.
Mid-Air Angle changing for Sidehops
This trick is suprisingly useful in many sections (especially Zora's River) to save a few frames, mainly because it allows you to skip changing your angle after a sidehop. Each angle change costs 6 frames. This can only be done with the first sidehop after an angle change. You let go of Z at the same time you press A to start the first sidehop of a new sidehop chain and thus interrupt Link's angle change. The first sidehop will be facing a slightly different direction than all the other following ones, which for example allows you to move around corners more smoothly.
If you want to make Link backwalk after changing his angle, he won't start to do so until the camera stops moving. By using twisted camera angles you can make the movement of the camera stop earlier and therefor start the backwalk a few frames earlier.
This is essentially an A/Z-Slide in the water. The only difference is that the movements here do not have to be frame perfect in order to maintain speed. This will also be cancelled if Link performs his resurfacing animation, meaning that in order to do a truly infinite superswim, he must be hit by a damage source with his shield out after he's already resurfaced.
This is a glitch which lets Link play almost any item as if it were an Ocarina. It's done by emptying the contents of a bottle (which contains bugs or a fish), recatching them, and while Link is holding the full bottle in his hand, performing a jump/sidehop/backflip, and while in the air, pressing the button for the bottle followed by the button for the item that you want him to play. In this run, the slingshot is used for this, although many items work.
This is a glitch which allows Link to warp to a different location than expected by exiting a room in some way while a timer is ticking down for the warp in that room. It's done by performing the ocarina items glitch at the very edge of a blue warp at the end of a dungeon. Doing this allows the player to actually control Link during the cutscene where, normally, he would be floating up towards the ceiling. When the duration of that cutscene is up, the screen will simply fade to white (even though Link is on the ground) and the normal cutscene will begin. However, if the room is left in some way at a very precise moment, the game will warp you to a certain location, which is determined by the last cutscene viewed prior to doing the trick. Fortunately, the cutscene required to warp to Ganon's Castle is the Deku Tree opening cutscene, which is directly on our path in this run.
For console speed runners I recommend watching and reading the sections about Cucco Collection and the 2-3-1 Room. Maybe it helps them to improve their runs as well.
I will use the term "Gaining Distance" quite a few times here. I am not aware of a term, that fits better. An example of "Gaining Distance" is using more precise angles during sidehops so I end up closer to the final destination than I would using worse angles, so I "Gained Distance".
When I started this run, I didn't know how much time I would end up saving. I estimated it to be around 20 seconds, so I decided to use the quickest name possible to be as fast as possible. If I had known I'd save one whole minute, I would have went with "MrGrunz". Writing a rather long name using frame perfection on the file select screen looks very awesome anyway, so maybe I should have simply used MrGrunz no matter what. Doesn't matter much, though, because saving 22 frames is very nice as well.
Obtaining Kokiri Sword
Leaving Link's House and getting to the crawling hole has been TASed so many times now, that it is no suprise no frames could be saved here. Maybe 3 frames could be saved before doing the Gainer up to the hill, but I wasn't able to do this even after a few hours of attempting. I saved 3 frames on the final sidehops to the Kokiri Sword chest by managing to gain enough distance to make it to the chest with 3 less sideways walking frames.
Travelling to Lost Woods
On the way to the crawling hole no frames were saved, neither do I think this can be done any quicker. In the list you see me losing 21 frames at collecting the rupees from the bushes. I collected 4 additional rupees, which are later on used to skip the blue rupees in the shop. This route change saved almost 2 seconds. 21 frames is also not much time lost considering I had to manipulate 3 bushes at the same time and one slash already costs more than 21 frames. This means, if I had to slash only one bush, I would have saved a few frames as well.
By using more precise angles for the sidehops after climbing the vines, I was able to save 6 more frames.
I do the first angle change after one less sidehop and thus ended up saving 6 frames. This needed almost perfect angles to not get stuck at any walls for a short amount of time, which would have made me lose all the saved time again.
This section is the most important reason why I did this run. I started an attempt for a new any% run back when we were still getting Adult Link earlier in 2012 and had TASed this already, when Swordless submitted his run. After watching Swordless' TAS of this section, I knew that there could be a quite a bit time saved and it also made me assume, that this does probably apply to few more sections.
Zora's River - especially everything until entering the water - was a nightmare to TAS. The goal is to make your last sidehop before an angle change always end directly in the end of a corner without any additional walking, because this always costs time. Thanks to all the slopes this became extremely hard to pull off. After around 12-15k rerecords I succeeded and saved half a second. As I did this section already long before doing this full game run, those 12-15k rerecords are not part of this run, because I simply copied the input.
I use a nice timesaver I discovered here as well:
If you enter a river (water needs to be flowing), instantly leave again and then keep sliding very close to it, the flowing speed of the water gets added to Link's Speed. Of course, this also works by doing a super swim into the right direction of the river. I managed to reach speeds, that were even higher than Superslide Speed, which we actually assumed to be the light speed of the N64 Zelda Universe.
In the end I drop 6 frames before entering the loading zone to set a smart trick up.
When you enter most loading zones, Link takes his speed with him into the next area. During the time you don't have control over Link, he walks with this old speed (everything higher than max. walking speed is lowered automatically to max. walking speed by the game). By entering the loading zone with a very low speed, Link thus barely walks forward during the transition. By abusing this I'm able to end up way closer to the spot I can set the Water ESS up when I get control over Link again.
I also saved a bit of time by abusing the same "River Trick" again.
Kakariko / Cucco Collection
Not suprisingly, this part was a huge bitch to me (still not as huge as Ganon's Tower). Apart from the new Sequence Break at the Collapse of Ganon's Tower, most time was saved in this section. Here are some basic cucco rules, you should know, to understand what I do:
- When you throw a cucco, he hops in the same place for 4 seconds and then starts running away from Link. For the first few frames the cucco simply runs into the direction he is facing, but then he behaves more complex. The cucco checks for Link's and his own position, creates a straight line between those 2 positions, which he updates every 3 frames, and then runs way from Link on this line. As this line is updated every 3 frames, you become the cucco's master from this point on. By carefully moving Link into the right positions you can make the cucco walk and eventually end up wherever you want. I'm still not sure if all the people, that attempted the cucco collection in the past, were fully aware of this.
- By slashing the cucco, he start to runs away from you in the exact same manner he does when you throw him (apart from not hopping before hand), so you once again get full control over it.
- If you have an item equipped while picking up a cucco Link first has to put it away to start the picking up animation. This costs around 21-30 frames (I don't know the exact number), so you want to have no items equipped whenever you have to pick one up.
- All 7 Cuccos walk around in there own area totally randomly. Even if you only change your input slightly one of the cuccos can end up at a very different spot than it did before. This sounds bad in the first place, but it also means that you can get them to be wherever you want in them to in their area.
The first part of the Cucco Collection starts pretty basic. I do most of the stuff like people did it in the past and do some slight optimizing tricks, that saved 3-6 frames in some spots. I consistantly have had to manipulate the cuccos already, though. Major first improvement was getting Cucco 3 (Cuccos listed by the first time I really interact with them) to stay more to the left, so I can fly around the tower more smoothly. At first the goal for the following part was to make all cuccos end up directly in front of the cage. As this is definitely impossible without wasting extra time, I decided to try something else:
I manipulate all cuccos to be at the exact same spot while I'm also there ready to slash them. This way I can make them all stand directly in front of the cage just waiting for me to be thrown in. Slashing takes only 21 frames, so this was by far the fastest solution I could have imagined.
Other notable improvements here are:
Using a jump to reach Cucco 4 instead of a sidehop+jumpslash combination. The jump itself saves no time at all, but as I have no sword equipped while picking up the cucco this saves quite a bit of time. I also manipulated Cucco 2 to be more far away from the house and closer to the cage, so I can reach it within 1 sidehop instead of 2 after slashing cucco 3.
The 2nd part is where I actually saved way more time. Cucco 5 was equally well manipulated in both mine and Swordless' TAS. I used a new strategy for the following cuccos, though:
Cucco 5+6 are both thrown into pretty much the same position. As I jump down to Cucco 6 after throwing Cucco 5, he simply runs a bit against the wall over into the direction of the cage. Cucco 6 caused a lot of trouble, though. As I climb up to Cucco 7 after throwing him, he usually runs into the wall of the Bottom of the Well and stays there. I wanted him to get past the Well, though, because this saves a lot of time. In order to do this I had to be as close to the fence as possible when throwing him. Throwing himself needed a precise angle, but this was still not enough to get it to work. I also had to wait for 6 frames after climbing the ladder before I was able to start moving again. Fortunately, this meant also having enough time to get a cool camera view. While I was doing all this, I also had to manipulate Cucco 7. I ended up having to try different things while backwalking with Cucco 5 to manipulate him correctly, because I was limited with my movement options later on due to the problems Cucco 6 caused. I needed like 2 weeks to get this part done, but the time I saved was big enough to be worth it.
The main goal was once again to get them to be in the same place at the same time, so I can slash them to get control over them. After that I slowly walk behind them to make them end up in front of the cage. If I walked faster, I would have went past them too early and thus they would have run away from the cage again. I also had a better position when getting the bottle, so I saved another 10 frames on the way to the rock, that gives me bugs.
Kokiri Part 2
Simply by optimizing the rolls more, I managed to save 3 frames in Link's House. In the shop the rupees I collected before hand finally pay off, because I can skip the blue rupees and save a lot of time. This also allows me to use the "walk while buying" trick to save a few more frames.
I used a way better spot to start the ESS, which also allowed me to do something else: I pull out the Sword right before entering the water, so whenever I press B again afterwards Link instantly pulls it out, so I can reenter the water way faster than Swordless did after getting Out of Bounds. After that I have to drop down to be low enough to not end up in bounds again. The difference to Swordless here was, that while dropping down I was moving towards Mido, which is quite a bit faster. Boobiebla actually came up with a strategy, that is at least 3 frames faster than what I did. Sadly, I was too far into the run already to hex it in, when he told me about it.
To Deku Tree
I decided to take damage here, because it takes only 9 frames to do so. The main reason behind this is that I can save time later on in the 2-3-1 Room by being able to do a Water ESS.
By using a precise angle for the jumpslash into the Deku Tree CutsceneI was able to make Link run with a different angle, so he ran more towards the tree than he did in Swordless' run. That's also the reason why I saved 18 frames here.
Deku Tree to Slingshot
Here we start setting up the new Sequence Break in Ganon's Tower. Shooting down the ladder in the Slingshot Room sets a certain flag. By doing the Wrong Warp later on this flag is transfered over to Ganon's Castle, where it opens the very last door of the Castle Escape. More on this later on.
Having the Slingshot means being able to skip Deku Nuts, because all you need Deku Nuts for is killing Gohma. Slingshot can do this job as well. The sidehops to the Pre-Slingshot-Room were once again very hard to optimize due to there being a slope and a gap. I TASed around 40 different combinations and most of them made it to the door at the same time. This one was the only one to be 3 frames faster than all the others, so I'm positive that this is optimized.
In the Slingshot Room itself I climb the vines in order to not have to wait for the ladder later on. This itself is already 6 frames faster, but I discovered an interesting timesaver as well. When you open the door at the right time the "Ladder Cutscene" ends while Link's opening Door animation is still going on. The game gets confused and allows you to press Z while Link moves through the door. After pressing Z you get control over Link again and can start moving way earlier than normal.
I've managed to get a really good Spider manipulation. The Spider hits Link while I'm climbing (I didn't have to wait for it) and it barely boosts me on to the top floor. As it barely reached, Link hit the ground earlier than normally, which means that I also get control of Link earlier again.
Instead of jumping down to the web, I use a Jumpslash-Recoil to reach it. This is way faster, but has the disadvantage, that you can't get control over Link again after he lands on the web. This is no problem, because using the right angle I can also do the Jumpslash-Recoil to skip the basement without needing an extra angle change.
When jumping down to the 2-3-1 Room I want to jumpslash as early as possible to maximize my falling Speed (When you jumpslash midair it gets reset to a positive value again). Like I mentioned earlier I don't have to take damage from falling here anymore, so I can do a ESS.
2-3-1 Room was extremely confusing until I finally got the hang of it. At first you have to make the scrubs get out of the ground as fast as possible, which is done by being close enough to them and then making them being "seen" by the camera. This is the reason why I turned around so early instead of keeping sliding.
After that you have to make them shoot as quickly as possible. It seems like the scrubs only shoot a Deku Nut quickly if they are on the camera. Logically, to get them all on camera I have to be pretty far away from them, which is the reason why I just kept standing at the place for a while and then rolled without changing the camera. By rolling at special angles I was able to delay the shot of each scrub by the amount of frames I wanted them to. By using this kind of manipulation I managed to save over a second over Swordless Link.
Due to only having the Slingshot my fight ended up being 21 frames slower than Swordless. Fortunately, the Slingshot needs long enough to be able to shot a seed at Gohma that I was able to get damage at the same time. I also figured out that delaying the hits on Gohma each time by 3 frames makes Gohma lose health 3 frames faster. I haven't checked if Swordless knew this as well, if not I have saved 6 frames using this.
After that I have to die to get back to the entrance of the temple. The only reason behind this is to re-enter the Gohma Room, where the Wall blocking you from leaving the room again is gone at the 2nd visit.
Back to Gohma
A lot of time was also saved here thanks to a new way to skip the basement, which is extremely precise. I was lucky here and got it rather quickly. Doing it out of a backwalk also looks suprisingly awesome, didn't expect that.
Wrong Warp / Ganondoor
By walking a bit more forward before catching the bugs, I can skip all the sideways walking before doing the last sidehop.
Although my musical skills are shit, I decided to attempt playing a song here. It isn't that good, but still way better than everything I expected myself to be able to. I hope somebody is able to hear what the song is :)
Shout out to Sockfolder and his magic MHS addresses (he even had 2 addresses for this trick), because thanks to him I was quickly able to figure out the best strategy for this, which was 22 frames (probably mistimed and it is 21) faster than the strategy used by Swordless.
Ganon's Tower / Tower Collapse
This is the part Sam started working with me. Maybe he was the reason the game suddenly decided to troll us as hard as possible in almost every following section. Let's start:
The transition after opening Ganondoor was 10 frames slower than Swordless no matter what I did. Maybe this happens due to setting more flags in Deku Tree, which make the game lag more during the WW, but this is just a dumb theory by me.
After Zelda is done talking I jump into the void to get warped back to the door I actually just left. I have to use a fucked up camera here for maximum lag reduction. Sorry for that.
Here comes the big new Glitch, which saved 27 seconds. Nintendo actually thought they made this impossible by making the void activate after you've fallen a certain amount of pixels. By getting hit, this amount gets reset to 0 for some reason and therefore I can reach the bottom floor. It is a miracle this works for the first boost, because if the difference between the floors was a few pixels higher, this would be impossible.
Manipulating the Rocks seemed pretty random, so Sam and I tried for a while to see how early we could get the fastest boulder to drop and then manipulated this boulder to spawn in the right place. You can manipulate it by your position and camera view. It actually didn't behave randomly when it came to its position. At a certain frame the game decides to make a boulder drop at a certain future frame. It also sets a position for it as well. For like the next 45 frames the boulder behaves like this:
Link moves forward, boulder moves forward. Link walks to the right, boulder moves to the right.
It actually doesn't work 100% like that, but you get the concept. This is also the reason why I rolled so far away from the ledge for boost 2.
Inside Collapsing Castle
Zelda waits for you in certain spots from time to time and if you are in a certain area around it, she instantly starts to keep going again. Pretty self-explanatory what I have to do here. I handled this a bit better than Swordless and thus I managed to save 20 frames.
Speedrunning Science has finally made the deepest desire of us all possible: Watching under the panties of Zelda!
Thanks to the new A-slide Weirdshot Glitch (awesome name), you can make the camera fuck completely up, so it looks like Link is under the ground, although he actually isn't. This works by pulling out Slingshot/Bow/Hookshot while A-sliding and releasing Z at the right frame.
At the same time Link also gets pissed at Zelda walking so slowly and preventing him from subbing 21:50.00, so he decides to slash and shoot her to get that little bitch to walk a bit faster.
At 15:18 in the encode, I also made a Deku Stick have the greatest day of his life.
Tower Collapsing Cutscene
Since I've started this run the game seems to have been gathering all his forces for this last epic battle against me. 2 things:
- THIS CUTSCENE CAN'T BE SYNCHED!!!
- A lot of lag is going on here, which can be manipulated by pure luck and nothing else. Pulling out the stick at frame 44469 instead of 44466 can make a difference of 200 frames, which is fucking much.
Now let's summarize:
We have a cutscene that can be manipulated by random inputs to save 200 frames and can't be synched at the same time. BEST combination EVER. Not to mention that it took a good few hundreds attempts to finally realize it can't be synched. After each attempt I had to play the run back from the very beginning which takes ultra long with the framebuffer option enabled (used to skip the pause delay). Using this option my Mupen only runs at 30 frames, so it each playback takes years! I usually opened 4-5 Mupens at the same time, which all played back different attempts. Sam did so as well. After around 4 days of attempts we finally got a cutscene that synched and was way faster than everything we ever got before. At least the work was worth it. 1,5 seconds have been saved here over Swordless.
Another 3 frames were saved by setting the jumpslash before the Ganon CS up differently. Ganon itself was pretty cooperative after being a dick for the first few hours.
The first phase is all about manipulation. As I have to be as close to the Master Sword as possible after Ganon goes down for the first time, there were 2 different ways to handle this:
- Make Ganon turn around completely by always standing under his tail. This way his tail faces the Master Sword, so when you deliver the final him of phase 1 you are very close to the MS. He is pretty far away when you go back to him later on, though.
- Run towards the MS after the first hit, so Ganon chases you and gets closer to it. Then make him turn a bit so you can backflip towards the MS during the CS. This way he is very close to you after picking the MS up. This is the method, that turned out to be faster.
Method 1 allowed me to pick the Master sword 15 frames earlier, but it somehow lost over a second on the way back to Ganon.
The 2nd phase is pretty standard, so I was not able to save any frames during the fight itself. The table is pretty misleading, though, because it says that I saved 96 frames here. This was actually the time I saved while walking towards Ganon thanks to his better placement and not during the fight itself.
I tried to do entertaining stuff here, but I was actually pretty limited in what I can, because you always have to set the next hit up as well.
I somehow saved 3 frames during the final slash on Ganon, no idea how I did. In the very end, I end the input 9 frames earlier than Swordless. No trick here, Swordless simply made a little mistake here.