- Uses resets as a shortcut
- Uses 2 easter eggs for a faster and more entertaining run
- Used a lua bot for testing
- Has heavy luck manipulation
- The run can be played back via the lua script
Info and History
This TAS is about 18 seconds faster then my test TAS, and around 1:21 faster than よっちお's TAS on nicovideo, which Feasel found when we were route planning for his speedrun. I was starting to research and route plan to improve the currently published TAS, which is way out of date, but I decided to work on this first because it is easier to make. I originally intended this not to replace the currently published TAS, but I realize that its new route will be too similar to this TAS, but slower due to health recovery and leveling, so I would be okay with this replacing the current TAS. The reason I used the J version is that I could not find a way to make the infinite HP easter egg work with the U version. However the infinite MP works with either version.
This run can be played back using the lua script that I ended up creating because of the testing for RNG manipulation:
This ended up being far more tricky than I initially thought. One way this is done is to delay the screen transition by entering the screen from a different position or not moving if the first is not available. The other way is by killing a monster which then advances the RNG by various amounts when the monster spawns. This manipulation affects the possible RNG manipulation on the next screen, so I had to do the testing in larger sections, each had many possibilities, so I had to do lua bot testing for much of it when I could.
I manipulate the stronger monsters to stay out the way because each time I stop to do an attack on the monster, it costs 6 frames. This adds up really fast, especially because I spend almost the whole time at level 1. The weaker monsters cost only 1 frame to attack because I don't have to stop walking.
The path I took is mostly dictated by RNG manipulation, but I took a path that reduced terrain damage when I could. Each square adds or reduces a 1 byte terrain counter by a various amount, and is affected by the current level. When the timer overflows, it adds an HP, and reduces an HP when it underflows. It probably doesn't make a difference in this TAS, but if it did, it would only save 2 frames.
I had to lose approximately 142 frames to get the luck manipulation where the monsters stayed out of the way. Killing monsters that take more than 1 hit wastes too much time, so that is avoided when possible.
Here is the explanation for each section, and frames lost for manipulation:
Infinite HP Setup and RNG Manipulation -- 51
In order to setup the infinite HP, the following must be done, in any order: 2 demo screens (waiting on the main screen), 3 invalid passwords, and 4 game menu in the game. The 4 game menu are the only ones that make sense to group together for speed. Because the order that I do those affects the starting RNG (further complicated by adding in delays), I started using a lua bot for testing. I later found out that I can reset, which made testing easier even though I had to restart testing, and also saved around 10 seconds by not having to wait for the game over and invalid password animations, and a minor saving by not having to load the demo screen.
The reason I manipulate the RNG is to get the best placement of fairy 1 and the key, which is set when the game starts. The best is the key in chest 7, and fairy 1 in tree 8, which I was able to obtain by adding in 51 frames of delay. There is technically a 3 frame faster overall RNG which has the key in chest 5, but because it results in less available paths in the key cave, it could easily end up slower since 1 delay is 4 frames. Also, key 7 looks better since there is no backtracking.
Sword Cave -- 12
On the way to the sword cave from the start of the game, I learned that I can manipulate the RNG by where and when I enter the screen, which means I can manipulate the RNG without losing frames. This meant that I had to continue bot testing because of all the possible combinations. I ended up delaying 1 time which cost 4 frames on the way to the cave to manipulate better enemy positions. I lost 8 frames inside the cave. 4 from starting on top of a wisp, 2 from a wisp attacking, and 2 from a HP refill.
Roper Maze -- 5
I was able to get a pattern that kept the ropers out of the way since they take more than 1 hit. I had to delay once for 4 frames, and I ended up killing a kobold, costing 1 frame.
Key Cave -- 0
By having the key in chest 7, there are 6 available paths, which makes it really easy to avoid enemies, so this cave was perfect. As mentioned before, had I chosen key chest 5, there would be only 1 path, which would have made this more difficult.
Fairy 2 -- 2
I had an HP refill here, which costs 2 frames. A refill had to happen at some point due to terrain damage, so I suppose it shouldn't count. It is faster by 4 frames to walk into a tree from a square below, so I manipulate the tree to be at least a square away.
Ring Cave -- 19
I have to kill 3 goldams (and no ladyams) in order to make the ring chest appear. I initially delay twice for a total of 8 frames to avoid getting hit by the first goldam, which ends up being 2 frames faster overall. I delay once for 4 frames for RNG manipulation. I get hit once by the second goldam, losing 4 frames because it cause an HP refill. I couldn't attack it from the side or back to avoid damage. I run into the ladyam, losing 2 frames. I use attack mode (for no frame penalty) for later on. The third goldam was perfect. Coming back, I run into the ladyam again, using attack mode. Because I had used attack mode before, this kills the ladyam, and so I only lose 1 frame, for a total of 3.
Jewel -- 1
A slime was in the way, but that only loses 1 frame. The path in the graveyard minimized the bad terrain as well as manipulated the zombies away.
Fairy 1 -- 0
The way to get the temporary MP is to get the sword and then without save-reloading (which also resets the position for fairy 1 and the key), enter the screen where fairy 1 is located. The tree for fairy 1 was chosen back when the game was started. Again it is 4 frames faster to run into a tree from the square below.
Fairy 3 -- 0
To get fairy 3, you must kill both wizards with a wave magic, which only shoots horizontally. Its speed is the same as Jim, so the X position is irrelevant. The reason for the y position is that the fairy transport is extremely slow, so each y position lower on the screen costs 20 frames. Manipulating the RNG is important here and also for the next section. I couldn't bot test this because I had to do manual analysis for the wave.
Grave Vandalism -- 46
This was a pain because I had to find a pattern where all blackams and skeletons were out of the way. This is the best I could come up with from manual testing and is the only place where RNG manipulation is obvious. There could be a better pattern, but it is too hard to test every pattern by hand. In the maze, I lost 2 frames from an HP refill, and 8 frames because a blackam attacked twice. After the grave is broken, the reason for moving to the right and the 2 delays is to get the skeleton that just spawned to move to the right, which costs 32 frames. It is faster than fighting it. I delayed once for 4 frames in the Varalys room to wait for the skeleton to get out of the way.
Water Dragon -- 0
There are a few ways to get the fastest dragon battle. The easiest way is blindly attacking to the right because of infinite HP. I took a path that showed off a little. I wanted to get the dragon more to the left, but that didn't work because it ends up adding up extra waiting.
Luby and Maze(Again) -- 2
This is a simple section. There is luck manipulation to get the blackams out of the way in the maze and also for a good Varalys position. This time a blackam attacked one time, but because of the extra HP from gaining a level from fighting the dragon, I did not get the extra delay for the HP refill.
Varalys -- 4
This battle is also simple with infinite HP. I suppose there could be a better Varalys, but this is pretty darn good considering I got this with no delaying for the luck manipulation.
- Feasel for getting me into this game and helping with the route planning.
- よっちお for the TAS that showed the infinite HP easter egg.
- FractalFusion for the research of the RNG which made testing easier.
- Inzult for the currently published TAS
feos: This submission uses a certain setup to gain an unfair advantage that can not be obtained the gameplay way - infinite HP. That fact equates this setup to using a cheat or a debug code, which is not allowed by the rules.
Arguably, such a branch could still be published if the audience really liked it. But the feedback was pretty much as bad as can be expected for this game. So, it has no way into Moons, and using an unfair advantage means it can't go to Vault either. Rejecting, and hoping the "any%" version would follow someday, where we would have no chance for rejection.