Aloha! Throughout the past year or so, I been watching dozens of TAS'ed games and hand-played speedruns on various consoles while laughing at some of the most ridiculous bugs and glitches ever exploited during gameplay. I even did some research on several games including this one. I also learned how to use emulator tools when TAS'ing games. Then I finally came out of lurking and started my project for this game in New Year's Day of 2023.
After completion of this project of mine, the TAS has now sharply plunged into the lower 50-minute range due to a recent discovery of a major glitch that has easily optimized this route. The discovered glitch exploits have saved more than 10 minutes.
TAS objectives
    • Emulator used: Bizhawk v2.3.1 (x64)
    • Damage taken to save time
    • Optimized, glitched, any%
    • Death used to replenish HP/MP and save time
    • Exploit a major glitch
    • Luck manipulation from random encounters
Recommended frame number for preview: # 85752
[1] Nelwyn to Bogarda's Cave
First thing I am doing is fleeing from Nelwyn and heading straight to the chest containing the Gold Statue. Afterwards, I kill off my character and head back to Dew. Then I would pick up the Battle sword and that is all I need to kill a 10 exp. Keese and a 700 exp. Bogarda boss. These two enemies allow me to jump straight to level 4.
[2] Bogarda's Cave to Lake Cheef
After backtracking out of the cave, I would kill off Willow as quickly as I can and warp back to Dew, saving some time. I would then start taking a long trail through the Forest of Death, through Po's house, and finally to Matanda's cave. After all that hard work, I meet Cherlindrea at Lake Cheef.
[3] Lake Cheef to the Towers
Coming out of Lake Cheef, I would grab a Devil Eye sword and head straight to the Tavern. From there on, I call out Po and head back to his house. From his house, I travel a screen west and a screen south. A section between the four deadly trees and the main trail was not properly patched by Capcom USA, resulting in a bug. As a result, Willow can walk through there, walk around the back of the trees and head one more screen west, leading up to Glitchville - later revealed as the third floor of the West tower! This also opens up to a possibility of a huge time-saving glitch that easily bypasses these 6 side objectives:
  • Find the key to unlock Madmartigan
  • Get information at the Tavern about a mysterious creature carrying a Wakka seed.
  • Obtain the Wakka seed and backtrack north through the underwater section.
  • Go through the Underwater Cave and grab the Cross Flute from Zhena.
  • Defeat Muzh.
  • Ascend through the East tower and get the Blue Crystal.
[4] The Towers to Underwater Cave
Since Willow is already at the midpoint of the West tower, I don't need to go very far to get the Red Crystal. Then I can save more time by repeating the glitch southwest of Po's house to warp from 6th floor back to the 3rd floor. Finally, I get the Crest of the Spirits from Elora.
Here is where I set up an experience glitch that saves up even more time! First I step in through the back door of the Underwater Cave where I immediately face Muzh. When the battle begins, however, Willow can surprisingly exit the boss battle through the back door. As a result, I am freely traveling around while the game thinks I am still battling a boss! Now I can go out and defeat any enemy other than Muzh and pick up Muzh's experience -- 2000 a piece so far! This is the first part of the glitch so far. But wait, there's more!
I re-enter the back door, and this time, Kael appeared from out of nowhere. Here I would weaken Kael down to almost nothing before I exit again - to make sure I don't have a hard time defeating an enemy when I encounter one. Now the game thinks I am battling Kael! This sets up a glitch where I can defeat any enemy other than Kael to get his experience -- now up to 8000 a piece! All I need at this rate is to defeat 5 enemies I encounter so I can get from level 4 to 13 in a well-reduced time frame. I'll use the Patras (flying creatures) at the second floor of the East tower to my advantage.
I would exit the East tower and stay outside the entrance long enough to have my exp. incremented to 39340, then re-enter the tower. During this brief moment, enjoy a little bit of hovering around going backwards! Finally, I can re-enter the East tower and kill my character off to not only continue at level 13 but also to straighten up the boss glitch I executed earlier on.
The glitch is straightened out but it's still difficult to defeat Muzh, so I have to step in and out of the Muzh encounter and walk back in to face Kael. I do not have any shields on me to deflect Muzh's needles, and Kael can zero in on Willow's location - however, Kael can't even touch him and the Battle sword I got can reach him, inflicting hits! Though I pick up 8000 more exp. after this battle, my objective to reach level 13 was already achieved. I get the Bombard spell (another useless magic spell) from a boss I never even challenged or defeated (Muzh) and continue progressing.
[5] Underwater Cave to Tir Asleen
Coming out of the underwater caves at level 13 and getting the Fleet spell, I went ahead and got Fin Raziel restored back to human which was paramount to this game. I also got the Scepter spell (defined by the game as a "monster's bone"). In order to save as much MP as possible, I used Scepter only once and I started manipulating encounters along the main trail to Tir Asleen. I also skipped the Thunder house because Willow was already okay and I don't need that spell either.
Toward the end of this leg of the route, I gained 20 MP on the fly from just two floating monsters that cast the Fireflor spell. This takes the guesswork out of resting.
Summary for the remainder of the run
After reaching the end of the Northern mountains while first stepping into Tir Asleen, I planned further ahead on how to manage MP between Tir Asleen and Nockmaar and what needs to be done:
    • Call Po to warp back to Tir Asleen after reaching the top of Tir Asleen's cliff. (20 MP)
    • Use Fleet spell after stepping out of Tir Asleen underground prison cell. (40 MP)
    • Use Scepter to scare off the guard at Nockmaar castle entrance. (90 MP)
    • Use Fleet to exit back to the Nockmaar entrance, after talking to Abang. (110 MP)
    • Call Po to warp back to Tir Asleen just to speak to an elderly lady holding a key. (130 MP)
    • Call Po to warp back to Nockmaar and prepare for the second and final entrance. (150 MP)
With all these factors taken into consideration, I have 151 MP going into Tir Asleen. These spell actions should be a piece of cake. And after using death, I should have enough MP to use the cane on Bavmorda. Now for the rest of this in writing, let's move forward.
[6] Tir Asleen to Nockmaar Castle (setup)
I went straight for Tir Asleen's elderly lady north of the castle. Along the way, I went through a gauntlet of enemies, some that can be very hard to manipulate. Either way, I went to see the lady in one piece. Instead of death, I used Ocarina since I believed it was a little more timesaving - even with 28 HP left.
I went through the dungeons of the castle to reach Eborsisk. I didn't need Airk's sword nor his help. And the level-ups I had from the Towers sort-of made up for the STR power I needed to make the Eborsisk battle a short, brief one. I Fleeted after I got out of the underground prison and made way to an underground passage in Nockmaar's cave.
The Nockmaar cave was quite a gauntlet, but I had plenty of HP to expend. I took several hits along the way (cutting Willow's HP down to 2) and I found myself back in the Northern mountains with a path leading to Nockmaar castle.
The first part of the mountain path to Nockmaar was another gauntlet as I had to dodge enemy encounters that were mandatory and hard to manipulate, and I had to defeat a Gleeok to clear the way. As I got closer to the castle, then I used Scepter. The effect was long enough to get me past the guard at the front door and even a zombie inside the castle that casts Renew (or tries to). Renew is a spell that turns their opponents into pigs and can't escape until after Renew wears off.
I Fleeted out after I spoke with Abang and then I had Po escort me back to Tir Asleen. I went to get the Nockmaar key from an elderly lady and then warp back to Nockmaar. Then finally, I used one last replenishing death with only 1 MP and 2 HP to spare.
[7] Nockmaar Castle (cliffhanger)
Sorsha must have gotten betrayed by her mother when she was lied to concerning the whereabouts of the Crest of the Spirits, but nothing beats the cliffhanger that no one saw coming! Pinning both Kael and Bavmorda against the wall to inflict quicker hits, a must! Then they both got burned out in a matter of seconds. With that being said...
And so ended the game, a fairly long-project TAS. Who cut a total of 46,207 frames entirely from the previous TAS. Only through the powerful magic of the Bizhawk emulator, the tools used in this run, the speedrunning community that discovered ground-breaking glitches - and $teve-O/$D, the gladiator that took the driver's seat of this project - was Bavmorda's menace ultimately thwarted. The Spirit of the Skies sent Bavmorda to the other side of the galaxy. The people chose TASVideos as their speedrunning community and lived happily onward - wishing for love, peace, and kindness. E*N*D
NOTES:
  • Throughout the course of the TAS, I fairly maintained a clean movie by providing button input only during gaming activity. No buttons are pushed when Willow transitions from one screen to the next, nor when Willow does a boss encounter or switching weapons/magic in the pause menu.
  • Willow must reach the Tavern (Bar) to progress in the game. If you don't, you will not be able to fly to Tir Asleen or Nockmaar when using the Ocarina spell - even if you reach both of those places.
  • Once a Patra in 2F of the East tower appears, that is the only one that carries Kael's HP. If you weakened Kael beforehand, you'll be able to make short work of a Patra. If you did not weaken Kael, then you are in for quite a nasty fight. Though Kael gives a reward of 8000 flat after defeat, I found out that the Patra here rewards only 7700 exp. and all other Patras in that same room provide no reward. This is what led me to the whole setup of the 710 exp. I got from Bogarda's Cave and the 270 exp. from the 3 bubble ghosts I slayed at the West tower. It was a matter of deciding between wasting frames trying to avoid these enemies and getting them out of my way while taking the exp. from them. As far as Bogarda's cave goes, I went for the 710 exp. setup so that I won't lose any of that when I do a death warp back to Dew. If I avoided the Keese and went straight for the 700 exp. Bogarda boss and then used death, I would have lost 400 exp. points.
  • After getting the experience you need under the boss glitch, the only way to straighten it back to normal is to use death. If you step in-and-out after seeing Kael in the Underwater cave, the game will freeze.
  • If you re-enter enemy territory (including the East tower) with anything less than 39340 exp. and use death, your experience will be cut when you continue.
  • I did a little quick research between the real-time speedrun and this TAS I done here. I noticed that the WR holder used replenishment death southwest of Po's house - instead of Nockmaar's drop-off point where I was - before entering Nockmaar castle the second time. I know this is quite a gamble, but if you roll the dice and use death at Nockmaar, you might knock out between 3 to 7 seconds off of the WR. (currently 54:41)
  • We do not know exactly what memory addresses were affected by the boss glitch coming off the main path at the Forest of Death - which was already discovered by a speedrunner, so until we find out, we will leave this part of the research to the experts. I'll be honest with you, if I had $893A for every frame I have cut off the previous TAS, I would be a trillionaire and even live off the interest! Nah, no-can-do.
Special thanks:
brottster: Current world record holder of the speedrun (54:41), and providing useful improvement tips. https://www.twitch.tv/videos/1266230662
Sathdresh: Another speedrunner who also provided useful improvement tips. This TAS is also submitted as a tribute to him. A recent tweet from Nov. 30th indicated that he is battling a possible gastric tumor. I do not know if this battle is ongoing, but I strongly ask everyone in the speedrunning community and everyone here at TASVideos to please keep Sathdresh in your prayers and your thoughts through this trying time. Tweeted from https://twitter.com/Sathdresh/status/1598108770831282176
Feasel / anonymous YouTube commenter: For discovering and showcasing the boss glitch.
All of you / speedrunning community: For making this TAS possible!
Updates may be pending in this submission. Cheers!
$teve-O/$D

arkiandruski: Claiming for judging.
arkiandruski: Looks good. Accepting to Standard.

despoa: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
Location: 127.0.0.1
This topic is for the purpose of discussing #7956: TDrop's NES Willow in 52:52.66
Player (36)
Joined: 9/11/2004
Posts: 2631
I haven't paid any attention to this run for a very long time, and holy route Batman! Execution looks clean. There are some minor movement things where I think it *might* be possible to be a bit cleaner with the RNG manipulation, but I don't know that for a fact, but I seem to remember RNG manip being surprisingly difficult for this game, so I don't think it's poor by any stretch of the imagination. Yes vote.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15628
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. ---- [5147] NES Willow by TDrop in 52:52.66
NESAtlas
He/Him
Player (57)
Joined: 7/4/2010
Posts: 115
Location: Gales Ferry, CT
I have created an Atlas Encode for this TAS: Link to video I was able to make the video in just 3 days thanks to writing a Lua script which extracts map positioning based on addresses 0x0024 & 0x0025.