This run is 25 frames, 0.42 seconds, faster than the
published run. The improved time comes from a new trick involving the rocket launcher, a frame rule, and faster boss fights. More details below.
I know 25 frames isn't a substantial improvement, in particular since this run is close to 10 minutes long. In my defense, this game is quite easy to optimize, and most boss fights depend on a timer that you can't manipulate, so overall, it was very hard to save any frames at all. I play around more on boss fights, and end the game with a higher score, so hopefully this run adds a bit to the entertainment value too.
- You only have two speeds, either you stand still or you move 1 pixel/frame. There is no subpixel acceleration or position in the X direction.
- You automatically grab a ladder if you touch it during a jump.
- The knife landing trick, found by Arc: By attacking with the knife 13 frames before you land, you don't stop for 1 frame after each jump, as you normally do. This is the reason for all the knife swinging in this run. It is thanks to this trick that you can pretty much constantly move at top speed through the whole level.
- There are three additional weapons picked up in this run. The rocket launcher and the grenades come with three shots each. The gun lasts a certain amount of time, like the star in Super Mario.
- Weapons are not carried over to the next level.
The Rocket Pixel Push (RPP) trick
This trick is present a few times in the published run, but I don't think Arc was aware that it saved time. If you fire your rocket launcher when you're falling down from a jump, you won't have to perform the knife landing trick. Instead, you get pushed an additional pixel forward when you land! So each shot with the rocket launcher corresponds to 1 frame saved. It's not much, but it's a nice trick none the less.
Boss fights
The boss fights in this game deserve some mentioning. In the first 4 boss fights, enemies charge you from the edges of the screen. The boss fight ends when all boss enemies have spawned, all enemies on the screen are dead and a certain timer reaches 0. This timer cannot be manipulated, so there is no pressure that I have to kill enemies as soon as they appear, as long as all enemies are dead once this timer reaches 0, the boss fight will end as soon as possible. Boss fights 5 and 6 are a bit special, more on those in the individual level comments.
All dancing done during boss fights were done with the RAM addresses for the music, which easily allowed me to pick out each individual instrument, and choose which one to dance to with each player.
Level 1 - 8 frames saved
There are two rocket launchers to pick up on this level, so that's 6 shots. I need a rocket for the boss fight, because of the value of the timer that decides when the fight ends. Killing the last batch of enemies with the knife would be slower. 5 rockets equals 5 frames saved by the RPP trick. 1 frame saved on the boss fight too, and 2 frames saved by a frame rule that makes me start the next level sooner. This frame rule is a global timer and cannot be manipulated.
Level 2 - 4 frames saved 8 (12 in total)
One rocket launcher here, so 3 RPP tricks pulled off. However, Arc also pulls of an RPP on this level, so 2 frames saved using that trick. Just like level in 1, 2 frames saved by the between-levels frame rule.
Level 3 - 5 frames saved (17 in total)
The reason why Red climbs the ladder around frame 11870 is because of the mine underneath it - if I don't climb the ladder here, I would step on the mine and die, which is slower. Both grenades and the gun can be picked up on this level, and there are a lot of enemies, so overall, it's quite a nice level. 5 frames saved on this boss fight, and both Red and Blue dance their way through it.
Level 4 - 0 frames saved (17 in total)
The first section of the level can be quite laggy if you don't take care of the enemies as soon as possible. This is why I move back with Blue, in order to kill off enemies as soon as they appear. Because of this, it's not possible for me to climb up and take the rocket launcher around frame 17935. 3 rockets in total on this level, but Arc also pulls of an RPP here, so 2 frames saved using the RPP trick. I lose 2 frames by the between-levels frame rule, negating the 2 frames saved by the RPP.
Level 5 - 0 frames saved (17 in total)
I have to take the upper path, because if I take the lower path, I have to kill enemies with Red by laying down and attacking. This causes the screen to stop scrolling for a few frames, which wastes a lot of time. Jumping while on the lower path is not possible, because there are so many ladders that you would automatically grab. No rocket launcher on this level.
The boss fight here is a bit tricky. A paratrooper's initial Y position depends on the last Y subpixel position of the previous enemy that occupied that Y subpixel RAM address. In particular, for this boss fight, you want RAM address 0x586 to be as high as possible, in order for the last paratrooper to start as far down as possible. Unlike the previous boss fights, this boss fight ends as soon as all 3 paratroopers are dead, and both Red and Blue are on the ground.
Level 6 - 8 frames saved (25 in total)
Just like in level 3, I climb the ladder around frame 30090 because of the mine that is under it. It is faster to climb the ladder than to die on the mine. There is a risk for lag on this level, but just like Arc, I managed to avoid any lag.
The last boss takes 12 hits to kill. You can only damage him with the rocket launcher, and not the knives. I saved 8 frames on this boss by firing the last 3 shots better.
adelikat: Accepting as an improvement to the published movie.