http://tasvideos.org/userfiles/info/43661155805535296
Currently over half a minute ahead, very happy with how everything's turned out and the number of time saves I've been able to find. Lot of comments for this part...
(Heathernapped + Go Headdy Go +) Stair Wars (-8 total, -6 lag):
The idle animation RNG manip didn't help here, but I saved a couple frames anyway, and was able to reduce a lot of lag. He has two attacks, and which he does depends on the frame an attack ends.
I use a new trick where if you duck and hold left, you can move Bruin rightward without moving around the tower.
Towering Internal (-203 total, -8 lag):
A lot of small improvements here, especially with the parts where the camera has to pan to you. I abuse the insane height you get from damage boosts to save time on camera pans.
Having high X speed doesn't matter, as the tower's rotation is capped. So no fancy Hangman stuff.
I defeat the rolling soldier faster by purposely taking damage so that I can hit his otherwise inaccessible hitbox when he's on the ground. This saves a lot of time over using the time stop head.
Spinderella (+5 lag):
Spinderella is a simple boss for TAS, you do 8 hits in phase 1, get him facing a bit left (look at his little eyes during his second arm attacks), and then are able to do 9 hits in phase 2. I beat up Bino as much as I can too, eheh~
It looks weird, but I idle after the fight. I manage to still get enough pieces for a continue, though!
This was mostly to try to manipulate the Gatekeeper, but it ended up not actually affecting Gatekeeper's RNG. However, I did save 1 lag frame exiting the level, so I kept it.
Flying Game (+2 total, +4 lag):
Fairly basic autoscroller that I had to do twice... Most of the input worked the second time, although my Bird shots and the Battleship's pattern desynced me. I did learn that the Bird Head calls RNG for how fast its birds fire, however! This was the key I needed to manipulate the Gatekeeper; I could fire with the Bird Head during the start of Baby Face!
The Flying Battleship has 64 health, but if you try to take him below 8 health too early, he gets healed back up to 11. The clouds have to move all the way down before he can finally go down to 7 health.
You want him to die at a low vertical position; I use the Bird Head at the end to manipulate this. That's what saved me 2 input frames!
Fly Hard (-730 total, +6 lag):
The big time save here is by saving a cycle. Normally, Trouble Bruin will go back into the background midway through the fight; however, he won't do this if you leave his little electric guys alive.
Basically, whenever Bruin hits the center of the screen, he does something. The first time, he comes into the foreground; second time, launches electric guys; third time, launches electric guys and goes into the background. But leaving the guys alive messes that up! Once you've done 65 hits on him and he's in the background, he does a final bomb rush and the level ends.
Fly Hard 2 (+4 lag):
Basic autoscroller. I do an OOB glitch, and I bounce around the walls, whatever... At least it didn't desync at all...
Baby Face (-277 total, +3 lag):
This is a very cool idea for a 4-phase boss fight. Each phase has 33 HP, and will only switch to the next phase at the end of their current attack cycle. Man Face's cycles is a fixed length as far as I know, and you let Grandpa Face grab you and die of old age.
Baby Face will move towards you, then move back to the center. Depending on your position, that will take longer or shorter, so that's where the time save here is. I deal the 33rd hit on the last frame before his cycle ends, so frame-perfect.
Boy Face's cycles are a variable length based on RNG (which I can manipulate with the Bird head at the start). There's a potential 4 or 5 frames to save with better RNG here; this was the fastest RNG I could find (most RNG values are either too fast to do a 2-cycle, or are 30+ frames slower), and also led to the fastest Gatekeeper RNG.
Headdy Wonderland (-57 total, +3 lag):
Okay, ended up with a lot to say here, as I spent a lot of time messing around with manipulating this boss.
This is another RNG boss, like Stair Wars, where I need to delay frames to make the boss do a specific pattern.
I need Gatekeeper to hop 2 times each time; he can hop 2-5 times. The first hop can be manipulated by delaying entering the fight; the other hops can be manipulated with a combination of idle animations, and making his arm attack last longer.
Manipulating the arm attack is a pain, as he has a few set angles he can shoot at. So, after the fastest possible shot, the next fastest is 2 frames loss, and after that is a 9 frames loss.
Nasty Gatekeeper has 17 HP, and the fight basically goes like this:
Hit him once to enrage him, and bring him to 16 HP
He does quick attacks at you 5 times
He grabs Headcase off-screen, which has a Bomb Head, and opens up. Hit the Bomb the first frame it appears, so it detonates as soon as possible. He'll do two more arm attacks, then open up to be hit again
The Bomb will detonate just as he opens up, and hit him twice, dealing 8 each for 16 damage
The frame that his fifth quick arm attack ends (the frame the target reticle disappears/readjusts), he decides how many slow arm attacks he will do before hopping around (sometimes zero). He also decides which arm to attack with first (Headcase arm or Heather arm). So, I need him to attack with his Headcase arm, and do two more arm attacks without hopping away.
What he grabs offscreen (Bino or Headcase) is based on the frame his long attack ends; whether or not he opens up is also decided per arm attack. But the number of arm attacks before a hop seems to be fixed once his quick attacks are over. The majority of the possibilities either had him hopping immediately, shooting the Heather arm, or shooting the Headcase arm but hopping away after a third arm attack (which leaves no way to time him opening up). My original Gatekeeper fights needed 40+ frames to get the result I needed. In the end, both Gatekeepers combined, I waited 12 frames to manipulate what I needed.
I also found a timesave outside of the RNG. When he does his long arm attacks, his arm keeps going until it hits the floor, and stays there for a little bit of time. However, if he goes straight left or straight right, although his arm travels for longer, it never stops, and then comes back much quicker. This allows me to get the Headcase sooner. I also have him shoot leftwards, so that Headcase appears on screen sooner than if he shot rightwards (the only thing that matters in all this really, is how quickly I can begin a Bomb Head's detonation timer, and Headcase only cycles through his options when he is on-screen).
Being the first time I ran into bad luck, I went above and beyond trying to change it, which led to redoing Spinderella and the flying stages, with an idle animation during Spinderella.
In the end, I came out 4 frames ahead (3 lag frames, and 1 actual frame from having the Flying Battleship die lower), yet Baby Face and Gatekeeper's RNG stayed the same... It seemed very odd to me, as Flying Game/Fly Hard desynced as expected. But, hey, I was right back where I was but 4 frames ahead, so that was a successful night.
From there, with my newfound knowledge, I hoped that shooting the Bird head in Baby Face could change my Gatekeeper RNG. And it did! I also found out that Boy Face's phase length is random, and saved half a second there.
In the end, I delayed 9 frames entering the fight, did one 2 frame arm attack, and my Nasty Gatekeeper ended up needing one frame of manipulation to not get Bino. Only 12 frames of manipulation is very good, and less than emu did!
Now on to the spike head movement, which is probably the most impressive looking section of the old TAS... The only RNG left should be Dark Demon's attacks, and I should be able to idle during Fatal Contraption (and maybe even during Dark Demon between attacks) to help with that.