Hi! Since my last TAS, I've learned several things about how to make sure this one is going to sync. So, here are the commands:
/path/to/ballz.swf -g gl --no-gui
No GUI nonsense this time, no width/height commands now or in the future (although, this is already a pixelated game, so doesn't matter). If LibTAS eventually supported mouse scaling then I might reupload any vector games TAS encodes in the future.
But anyway, this game allows you to skip levels if you collect enough stars. So to get an idea of which levels I wanted to skip, I created a base TAS movie that I will link as a userfile, and that goes through all levels in order. But I'm certainly not willing to do a 100% version any time soon, so therefore, if anyone would like to base this off of the base TAS then feel free to do so, However there are a few things to keep in mind before you do this:
1. The Base TAS is missing optimizations that exist in the any% TAS. Since nothing integral in the game is based on PRNG, there's no desync issues there so entire levels can be copied without issue (just make sure to INSERT paste them to make sure they don't override any other levels!)
2. Due to earlier levels requiring you to go back and collect stars which require later abilities, going through all levels in order is not the fastest option. For example, "Age of Aquarius", "Lucifer Sam", and "It still stinks!" all have stars that require the Iron gene to collect later. It is also faster to return to either Desert kisses or White lies with the Rush gene, which I already do for White lies. But which is faster may be affected by the one star in Desert kisses that is farther to the right.
3. As you may notice, the Rush ability can be used just as you land to stay on-ground, such that you can cancel it by jumping and rushing again. This is important if you are trying to add optimizations, because using Rush gene starts at 10 units per frame, then decreases by 1 until it reaches the normal sideways speed of 2. So through average calculation, it's fastest to do a frame-perfect ground rush (Up, then Z, both at the right time), wait 3 frames, and then hit UP and Z to rush again. Rinse and repeat on flat ground.
Certain timing challenges may require deviating a frame or two from that to prevent going too far or not far enough, but it's a small price to pay, and still faster.
Ground rushing off of a platform will also count as a ground exit, allowing you to rush again (e.g. just before the end of the final escape level). Rushing at ground level toward another platform and pressing Up and Z at just the right time also counts as a ground contact, allowing you to ground rush- this allows you to glide over large sections of same-level platforms.
4. At the final level, I was able to press on the switch to open the trapdoor gate for the last prisoner NPC, which closes when they fall due to a switch just below. This prevents them bouncing back up, which would delay them starting moving right again, causing the level to finish around 8 frames less time. I did try to jump and re-press it so I could also let the 5th prisoner out, but if this is possible, it might require exact timing. The prisoner takes 6 frames to fall below the gate and onto the switch, but it seemed like if I jumped on the switch and pressed it the same frame it might not count as two presses, maybe? And even if it did, it would open the gate and bounce back up. If I pressed it one frame later (which requires precisely timed rushes), it still nay not let the next one through.
But most of all, even though I thought RNG wouldn't matter, it seems like maybe the outro where the now-freed prisoners disappear might use RNG to time it? Because somehow the other version I had took more than 8 frames longer to reach the "THE END" screen. So what matters more may actually be to waste a frame or two, since the particles are probably calling the RNG functions that would affect this.
Anyway, here is the base movie:
https://tasvideos.org/UserFiles/Info/638774272443577555