Several people suggested I do a run of Sonic and Knuckles 3 to see if I could improve on SprintGod's run. I didn't think I could improve such a perfect run by more than a few frames, but it soon became clear that I was completely wrong about that. SprintGod's movie is full of amazingly precise playing and several tricks I have to admit I never would have found, but there were still some glitches he didn't find and some occasional slight imprecision in the playing. Also, he played 1-player with Sonic instead of 2-player with Sonic and Tails. Tails makes quite a difference, although my (extremely rough) estimate is that about 50% of this improvement could have been made without him. I should emphasize that I had (/made) much better tools for making this run than SprintGod had. Speed display + camera hack for each character + map maker + jump predictor + multitrack recorder... In any case, the result was a significantly (about 10 minutes) shorter movie.
|Angel Island 1||0:38||5|
|Angel Island 2||1:16||2|
|Marble Garden 1||0:37||10|
|Marble Garden 2||0:35||25|
|Carnival Night 1||0:34||8|
|Carnival Night 2||1:08||38|
|Launch Base 1||1:38||10|
|Launch Base 2||1:07||2|
|Mushroom Hill 1||0:46||2|
|Mushroom Hill 2||0:37||23|
|Flying Battery 1||1:08||36|
|Flying Battery 2||1:14||98 (1:38)|
|Lava Reef 1||1:12||26|
|Lava Reef 2||0:51||129 (2:09)|
|Death Egg 1||1:04||27|
|Death Egg 2||2:18||34|
I chose to not use death to save time, either in-game or real-time; SprintGod didn't use death either, and probably more people would be annoyed by it than appreciate it in this case. This also applies to entering bonus games, which interrupt the action and put you back at the last checkpoint and roll back the timer in a way similar to dying.
Thanks to Upthorn for showing how to activate the glitch in Icecap 1 and another glitch in Marble Garden 1, and for his Knuckles movie to give another source of ideas and comparison, and for giving some feedback about this movie while it was in progress, and for his recent work on Gens and help with some tools in it. And I believe it was mike89 on Sonic Center who revealed the Marble Garden 2 glitch.
See SprintGod's comments for a good explanation of the game's basic physics and quirks/glitches. Some more detailed (but currently very incomplete) information can be found at Sonic the Hedghehog tricks. A few things to add are: Acceleration is better in the air than on the ground, but deceleration is better on the ground (unless rolling) than in the air. Most of the glitches used to pass through objects work by tricking the game into putting those objects offscreen long enough for Sonic to pass through them, because the game does not do any calculations with objects that are offscreen.
Sorry for what I do to Icecap 1 and 2, but it is clearly much faster than beating it normally, and at least Icecap 1 has some nice music to listen to.
Some things that might seem like mistakes:
- At the end of Mushroom Hill 1, Tails has to hit the signpost to the far left, otherwise Knuckles won't appear. I get a fire shield earlier because it is not in the ground anywhere on that screen to get from the signpost.
- In Hydrocity 2, I have to wait for the third timed object, but starting that level enough later to save another time unit would place the first and/or second timed objects in places where I would need to wait even longer to get through.
- The "teleport" glitch I use mainly in Launch Base and Lava Reef requires that Sonic be on the ground and at high speed from more than half of a screenful away (so it is not possible to use it in very many places), and sometimes it is slower even when it is possible because there is rarely enough time to do a full-speed spin dash when doing it.
- Ending Flying Battery 2 where I do is actually faster than ending it with Sonic all the way to the right because of the jump, and the flying glitch I would normally do to save time is not possible there because of the type of ground.
- At the very end of Hidden Palace zone, the game has a bug where it forgets to return control to player 2. The level won't end until both Sonic and Tails are in place by the teleporter, so I make Tails go there indirectly by using Sonic's command for a spindash as a jump for Tails.
- In Launch Base 1, I run past a booster without triggering it because I am already moving faster than the booster speed, and rolling down that decline would be slower because rolling has a speed cap (which running does not).
- I briefly pause the game before the fight with Metal Sonic in order to manipulate his random attack pattern into something better (the same one SprintGod had).
- When Tails is uncontrollable, he can be tricked into landing early by jumping at the right height near him. But it is difficult to make him actually arrive anywhere earlier; the game will take away his control and teleport him to a predefined nearby spawn point when he has spent too much time offscreen, giving player 2 typically less than a second of control over when he starts flying (very slowly in the vertical direction) to reach you. He only arrives quickly at boss fights because the edge of forced screen boundaries will push him there.
- The start of Mushroom Hill 2 (while offscreen) progresses more slowly than normal because all of the loops are broken (they are impenetrable walls that must be jumped on top of) and the springs and other objects are not there.
- In Sandopolis 1, I don't use Tails to bypass the red spring under the sand river because it's not enough faster to avoid the next wait for a timed object.
- I found a way to skip the midboss of Launch Base 2 that would save time, except it causes the timer to not stop for the extremely long cutscene.
- The Launch Base 1 boss is "afraid" of Sonic and moves up when Sonic is in the air nearby it, so it's faster to kill it with Tails alone and keep Sonic always under it.
- Sonic can't touch any of those moving platforms in Flying Battery without losing the glitch.
- It's possible to zip further into the level in Launch Base 1, but doing so would skip the speed shoes and ultimately be slightly slower.
- No death
- Aims for fastest (primarily in-level) time
- Ignores delays caused by bonus effects
- Takes damage to save time
- Abuses programming errors in the game (a lot)
- Manipulates luck (a little)
- One player controls two characters
- Emulator used: Gens Movie Test 9j (works with 9f, etc.)