In the process of completing my all instrument run, I noticed there were several possible improvements to the any% and decided to look into this again. I originally finished a run of this with a time of 3:48.7 when I had just started working on that playaround, but I decided to not submit that in case I found anything during that run, and….I found nothing…except a little more lag reduction and a slightly different boss fight.
Game objectives
- Emulator used: VisualBoyAdvance re-recording v22
- Aims for fastest time
- Abuses glitches
- Manipulates luck
- Takes damage to save time
This is an improvement of 34 frames over my last run. I initially only though I could save a max of around 9 frames, so saving over triple that was nice.
Tricks used
Screenwarp
By pressing select right as link exits the screen he is on, it will warp him to the other side of the next screen, allowing large portions of the game to be skipped.
Up/down + A or B combos
This allows link to do a variety of glitchy things. The most notable use in this is picking up the sword with this trick. It can also be used for effects like turning link dark or making his sword or shield look strange.
Corner Boosts
When you walk past a corner you can walk into one to boost link forwards slightly. This was only used a few times.
From exiting the house, getting the sword, and entering level 8, I saved two frames due to better movement.
After the reset, Swordless Link told me of a trick he found that saved 1 frame right before the screen warping started by having Link enter the top screen diagonally, thus having his position closer to the bottom of the screen allowing the warp to start earlier. Also by corner boosting off the side wall and then later corner boosting off a wall when you are warping to the boss, I saved another frame.
The Agahnim form of the nightmare boss was what first got me started in redoing this run. A little while after my last run was published, I tried hex editing the entire nightmare boss from Swordless Link’s run and it synched. What this meant was that it was possible to make up the 2 frames I lost in my last run. After playing around with his run, I finally found that pressing b and then down for 1 frame at the right time reduced lag for whatever reason.
With that in mind, because I warped into the boss room with Link in quite a different position, I was able to make Agahnim start his attack cycle a lot earlier, and each time I damaged it there were a few less frames of lag. This put me a nice 75 frames ahead of my last run after defeating it and encountering slightly more lag when it died. Sadly…the phase after that took a lot longer to load the Ganon form so I lost 66 frames -.- only leaving me 9 frames ahead. I actually tested the old route, and with it optimized, it tied this new one, so I just left the new one.
During the next phase, I used several tricks. From my all instrument run I found that avoiding some damage could save 6 frames, at least in that run. When I looked into it in this run, I found ways to manipulate the lag better. Only moving on certain frames during lag heavy situations allowed link to avoid some of the lag frames speeding the fight up. Also taking damage in specific ways in certain positions reduced overall lag. A note of interest is that I was able to save 3 lag frames by taking damage a 3rd time from the bats, but I couldn’t find a way to maintain the health needed to survive going up the ladder and dodging Ganon’s pole. This put me a total of 27 frames ahead.
An interesting little thing I noticed was when link deals damage, he sometimes creates lag, mostly when extra sprites are on the screen. After the bat phase, a frame of lag can be saved each time while damaging Ganon based on where Link is standing
Right after defeating the Ganon form, I found standing in the corner saved like 2 frames, and I saved 5 frames in the final form by manipulating the location of the boss, plus bringing up the save screen at a specific time. This ended up putting me a total of 34 frames ahead.
As a side note, the glitchy charged sword swings I used didn’t save or loose anytime. I hex edited them in after completing the run for entertainment.
For the heck of it I tried hex editing the input in this run into a
.vbm from the (J) rom and it all synched perfectly (besides text which I easily edited the input for) having the time on that be 3:25.57 total. I just did this for reference.
Thanks to
Swordless Link for his run again, and thanks for telling me about the trick described after the reset.
Also thanks to
Brandon for encoding this, looks great!