This completes all levels of Time Race mode in Wario's Woods (SNES), aiming for the fastest in-game time. It beats the existing published TAS by a total of 89 seconds IGT and 1:58 RTA.
First of all, massive thanks to DonamerDragon's previous TAS. It was a major source of inspiration for my Round Game TAS, which led to me developing a good sense of how to optimize rounds in this game. Ironically, that led me to go back and re-watch the video for this category, only to find myself spotting potential optimizations left and right, so now I'm trying to obsolete it.
The main goal of this TAS is in-game time, but opportunities for trade-offs between in-game and real time are pretty rare and are generally a couple frames at a time, so this is mostly an unimportant point except in one spot -- I discovered far too late into the run that the Technical Rank Certification screen only appears once you've recorded a time for all 4 levels in any one column, so one could save a few seconds of menuing by doing 3 levels in each column then filling out the 4th row. Unfortunately, by the time I discovered this, I couldn't go back and add this optimization without losing days of work.
Also, in theory this could be routed further by playing the levels in a different order to better match up levels with sections of the bomb color RNG sequence that are more advantgeous. However, this would require a much deeper understanding of the bomb color RNG than I possess, as well as probably some scripting to explore permutations of the levels.
Another potential alternate strategy would be to enter levels, spawn bombs to advance the RNG state, then exit out, which would be a significant real-time loss to save a little in-game time and would probably be less entertaining to watch. Still a possibility though, if anyone else wants to try and optimize this further.
Unfortunately I can't play back the previous TAS movie, since it desyncs every time there are lag frames. So time comparisons below are approximate based on the encoded video, and for simplicity anything more than 1 second will be rounded to the nearest second.
Easy 1/2
Basically the same strat as the previous TAS. Not much to say here.
Easy 2/2
Similar strat as the previous TAS, but I optimize movement so that I can hold Down for more time when it's effective, saving a split-second.
Time save: About half a second
Total time save in Easy 2R: Less than a second
Easy 1/3
Similar strat, but I hold Down for more effective frames plus I manipulate the fairy into dropping bombs right where I want them. Normally the fairy seems to avoid dropping bombs in columns where they would form a match immediately upon landing if nothing moves, but clearing all of a color from the board during the bomb spawn animation causes the new bomb's color to be rerolled (or more precisely, recomputed using the same integer output by the RNG but using the new color list, meaning this doesn't advance the RNG seed a second time). I exploit this to get bombs that *do* clear upon landing without having to move around.
Time save: 1 second
Easy 2/3
This is where my strats start to diverge a lot more from the previous TAS. I also allow fewer bombs to spawn, which means the RNG state desyncs compared to the previous TAS, which in turn means I *can't* reuse the previous strats anymore even if I want to.
Time save: 2 seconds
Easy 3/3
This was the optimization I spotted that inspired me to make this TAS, namely putting the blue below the yellow in column 5 then luck-manipulating the diamond to cause a chain reaction and spawn another diamond.
Time save: 1 second
Total time save in Easy 3R: 4 seconds
Easy 1/4
Here the different RNG state is actually quite advantageous, allowing me to use a frame-perfect drop to explode 2 lines simultaneously and save frames on the explosion animation and diamond spawn.
Time save: 1 second
Easy 2/4
And now an instance of the RNG state divergence being disadvantageous. I still manage to save a little time over the previous TAS though.
Time save: About half a second
Easy 3/4
And we're right back to advantageous again.
Time save: 4 seconds
Easy 4/4
Time save: 2 seconds
Total time save in Easy 5R: 7 seconds
Easy 1/5
Once again back to a disadvantageous RNG state. Plus this round was already very well-optimized in the previous TAS, so I wasn't able to save any time.
Easy 2/5
Another bad RNG state. I save a split-second though.
Easy 3/5
By some fluke I ended up with the same 3 bomb colors as the previous TAS, so I replicated the previous strategy and compared it to two others. This one was 36 frames faster, by optimizing movement but otherwise using the same bombs in the same arrangements.
Time save: 36 frames (0.6 seconds)
Easy 4/5
Not the colors I was hoping for on the first couple bombs, but I think I managed to make the best of it anyway.
Time save: 2 seconds
Easy 5/5
I got rather lucky, a green was basically the best color possible for the first bomb, since there are exactly 5 of each color monster but only green has all 5 easily accessible from the start. Plus I get the last monster placed into column 5 just in the nick of time -- a couple more frames and the bomb would've landed.
Time save: 5 seconds
Total time save in Easy 5R: 8 seconds
Total time save in Easy: 19 seconds
Normal 1/5
This could've been such a great chain if not for the problem that no frame leads to a red diamond in column 3. I end up just about breaking even with the previous TAS.
Normal 2/5
Time save: 2 seconds
Normal 3/5
Time save: 5 seconds
Normal 4/5
Time save: 3 seconds
Normal 5/5
Time save: 5 seconds
Total time save in Normal 5R: 15 seconds
Normal 1/4
Time save: 1 second
Normal 2/4
Time save: 4 seconds
Normal 3/4
Time save: < 1 second
Normal 4/4
I ran into a bug in the game where two simultaneous crossing 5-in-a-row clears can only spawn one diamond if the RNG rolls both diamonds in the same position. Didn't need the other diamond though, and this was actually better than any of the other 2-diamond combinations.
Time save: 4 seconds
Total time save in Normal 4R: 9 seconds
Normal 1/3
Absolutely horrid bomb RNG state for this round, but I still save 1 second over the previous TAS.
Time save: 1 second
Normal 2/3
Ah, the old 5-monsters-of-each-color awkwardness. It takes a bit more setup, but I clear all 5 yellow monsters at once so that I don't have to make a second clear to clean out the last one later.
Time save: 1 second
Normal 3/3
By coincidence, the first 3 bomb colors are the same as the previous TAS. I start out with a similar setup but hold Down at different points to make it faster, and I use an extra yellow bomb instead of the yellow monster on the right.
Time save: 2 seconds
Total time save in Normal 3R: 4 seconds
Normal 1/2
I wanted to make a frame-perfect drop to clear the reds and blues at the same time, but I couldn't find a way to do it without losing even more time on the setup.
Time save: < 1 second
Normal 2/2
A highly advantageous RNG state for once.
Time save: 1 second
Total time save in Normal 2R: 1 second
Total time save in Normal: 29 seconds
Hard 1/2
Time save: 3 seconds
Hard 2/2
Ugh, another level with 5 of each color monster. This is the third one in this run, and to make things worse the monsters are thoroughly mixed AND the layout is perfectly flat so trying to dig down to the lower rows is very awkward. All this put together makes this level one of the biggest pains in the tuchus in all of Time Race, tied with Hard 1/5 which is literally the same design with the monsters shuffled a bit. I ended up putting down this TAS for over 3 weeks before coming back to it and figuring out a solution I felt was good enough.
Time save: 8 seconds
Total time save in Hard 2R: 11 seconds
Hard 1/3
The RNG state I have at this point gives me the same first 2 bomb colors as the previous TAS, but I opt for a different route that avoids leaving a lone pink to clean up at the end.
Time save: 2 seconds
Hard 2/3
This level was impressively well-optimized in the original TAS. I wish I could've copied the previous strat, but my bomb color sequenece was wildly different.
No time saved.
Hard 3/3
Time save: 5 seconds
Total time save in Hard 3R: 7 seconds
Hard 1/4
No time saved.
Hard 2/4
Time save: 2 seconds
Hard 3/4
I hold Down *just* enough so that the yellow bomb lands on the right frame to create the 5-in-a-line without additional waiting.
Time save: 8 seconds
Hard 4/4
Time save: 5 seconds
Total time save in Hard 4R: 15 seconds
Hard 1/5
My initial reaction to this layout was "OH, COME ON! DEAR SWEET ARCEUS ARE YOU FRICKIN' KIDDING ME?!" They just took Hard 2/2, the worst level in the game prior to this, and swapped the monsters around a bit. This is the Battlefield Earth of level designs and they included it TWICE. At this point I'm starting to speculate that whoever was responsible for all the cool and interesting level designs in Round Game went on vacation before Time Race was finished and left the rest of the Hard level designs to junior devs who had absolutely no idea what they were doing. Or maybe the level designer simply snapped and turned evil.
Time save: A split-second
Hard 2/5
The bomb color RNG state was uncooperative and didn't give me the crucial green until the 4th bomb, but it worked out well in the end.
Here I finally make use of an interesting interaction I discovered while making the Round Game TAS but didn't have a chance to use to my advantage: If a bomb forms a 5-in-a-row for a monster type that normally doesn't clear in one hit (needs to be bombed twice in quick succession, or changes color after the first bomb) and on the same frame a diamond clears all monsters of that color, then the 5-in-a-row still spawn a diamond.
Time save: 3 seconds
Hard 3/5
I saved a nice chunk of time by only flipping one set of monsters.
Time save: 3 seconds
Hard 4/5
This was an absolutely terrible RNG state to bring into this round. It takes forever for the crucial yellow bomb to spawn, and everything that spawns before it is hard to use. I try to make the best of it by setting up as much as I can ahead of time, but in the end I still lose about half a second compared to the previous TAS.
Hard 5/5
Time save: 2 seconds
Total time save in Hard 5R: 8 seconds
Total time save in Hard: 41 seconds
Total time save in the full run: 89 seconds
feos: Claiming for judging.