Tired of always helping Sonic get by, Tails has finally decided it is his turn to break the game. This run goes where no other runs have gone before and uses a disassembly of the game in order to squeeze the most of every trick.
Emulator used: Gens 11b + S3KCamhack + SolidityViewer + (partial)HitboxDisplay + LUA HUD for Genesis Sonic games
Commentary with HDL and Marzo (sadly, lacking video due to technical issues)
Table of contents
Game objectives
- Ignores delays caused by bonus effects
- Aims for fastest (primarily in-game) time
- Takes Damage to save time
- Abuses death
- Abuses programming errors
- Counts time spent dying
- Manipulates luck
Comments
New tricks
"Stair" clip
When a character is on-air, not moving upwards (i.e., vertical speed is zero or it is downwards), and his vertical speed speed is at least equal to his horizontal speed (in magnitude), he may fall through otherwise-solid ground. If the pixel portion of the vertical velocity plus 8 is greater than the distance both of the character's bottom collision anchors are inside the floor, then no collision with the floor is registered and the character can fall through. This is explicitly used in HCZ1 to enter the wall, and at LZR (both acts) to clip through the stairs. It is implicitly used to speed up entering the ground in LBZ1 and in MHZ1.
I believe this extra check was added to let you fall through a higher ledge when jumping to it from below if you did not go high enough to reach it.
Camera locking
In general, bosses wait for the camera to lock before they do anything. In all such bosses, the camera position was manipulated to make it lock as soon as possible.
General Comments
This run was made with constant reference to the disassembly available at Sonic Retro. This disassembly was used to determine the exact positions where the camera locks, how bosses and badniks behave, how several glitches work, and so forth. All this information is being collected and revised, and will be released in the future.
In-Game Time Table
Act | Time[1] |
---|---|
Angel Island 1 | 0:40::48 |
Angel Island 2 | 1:15::32 |
Hydrocity 1 | 0:20::47 |
Hydrocity 2 | 0:24::35 |
Marble Garden 1 | 0:35::30 |
Marble Garden 2 | 0:31::08 |
Carnival Night 1 | 0:36::20 |
Carnival Night 2 | 0:31::31 |
IceCap 1 | 0:48::44 |
IceCap 2 | 0:00::42 |
Launch Base 1 | 0:33::17 |
Launch Base 2 | 1:06::35 |
Mushroom Hill 1 | 0:34::20 |
Mushroom Hill 2 | 0:47::30 |
Flying Battery 1 | 1:01::14 |
Flying Battery 2 | 1:06::31 |
Sandopolis 1 | 1:09::43 |
Sandopolis 2 | 1:11::33 |
Lava Reef 1 | 0:51::50 |
Lava Reef 2 | 0:21::55 |
Hidden Palace | 0:26::44 |
Sky Sanctuary | 0:53::28 |
Death Egg 1 | 1:04::51 |
Death Egg 2 | 1:44::31 |
Total | 18:49::29 |
Time lost to deaths
Act | Time[1] |
---|---|
Hydrocity 2 | 0:05::19 |
Death Egg 2 | 0:04::31 |
[1] The value after the final colon pair indicates the in-game frame counter, and is restricted to the 0-59 range. It is updated every frame (except during lag frames), and increments the in-game second when resetting to zero.
Level-by-Levels comments
Here we mostly only mention what's not obviously clear when watching the run, each other situation pretty much speaks for itself or has been used in earlier TASes of this game.
Angel Island 2
By jumping at the right spot by the entrance to the tunnels, you don't slow down and thus save a considerable amount of time. With Tails, taking the upper route was the faster option.
Hydrocity 1
Here we abused a variation of the stair clip, which in this case was much harder to execute as the object that stops the horizontal movement resides quite far from the edge of the terrain. A small bit of time was lost to setup the quick death at the start of the next act.
Marble Garden 1
Tails can't sink far enough when jumping from the rolling state and therefore can't enter the yellow spring like Sonic, and thus a slightly longer route was necessary. There was luck manipulation at the end of the level: we caused a few extra signpost sparkles to be created to manipulate the MGZ2 boss pattern.
Marble Garden 2
There is a glitch that affects the boss fight: when the character is in a certain range of positions, the game will trigger the screen shaking and rising terrain. The problem is that going over the top of the screen when far enough to the right will trigger this. The main issue is that this creates a lot of terrain that make it impossible to break through the roof of the boss' arena. For this reason, the glitch is triggered early, so that this additional terrain has moved up enough to let Tails go in. There is a bonus to this glitch: while on air, Tails is dragged up by 3 pixels every 8 frames, meaning he can deliver 7 hits while above the screen.
Carnival Night 1
Wheel glitch happens because of the wheel's very large "hitbox", which encompasses the monitors, coupled with a bug in the code that short-circuits the case when the character is standing on an object. We could not jump for the boss fight or we would lose wheel glitch (which we want to keep for the next act), so the fight had to go a little slower than it could otherwise be done.
Carnival Night 2
Jumping off the barrel does not end wheel glitch. Wheel glitch is used along with a bug in the game's collision checking to enter the wall; after that, comes an ultra-rare vertical zip. We then used the glitched gravity to fall horizontally all the way to the boss.
IceCap
When only having one character, the slope glitch can still be activated by standing on the very right part of the moving ice-block as you hit the wall. Running though the act is faster then rolling as your speed won't be capped when you reach 16/pixels frame.
Launch Base 1
Here we abused the spike crusher to quickly perform a level wrap.
Launch Base 2
This was the most resilient level by far -- we simply found no way to break it with Tails. Due to a stroke of luck, we did not have to luck-manipulate the flamethrowers out of the way. At the first boss we flew over an invisible wall in order to start damaging the boss earlier.
Mushroom Hill 1
The boss' flames were on the way, so they were manipulated away at the start of the level with pauses.
Mushroom Hill 2
The upper route is the fastest, so we took the upper route. Tails is the only character other than Hyper Sonic that can gain enough speed to jump all the way to the bottom route at the end without help.
Flying Battery 1
A zip exist in the early part of the act, but that proved to be ~10 frames slower than the method that is used here instead. However zips became useful after the outdoor area to get to boss much faster.
Flying Battery 2
As the boss in the previous act is defeated, standing on the edges of the capsule will give you the slope glitch, which is used here to speed up the act considerably. The rising terrain at the end is triggered by camera position, not character position. Also, once triggered, there is nothing that can be done to speed up their rise. Once the terrain stops rising, it is replaced by a platform object which allows jumping through.
Sandopolis 1
Jump out of the sand, up the sand fall, fly to the platform above, hit the ceiling to zip left to a level wrap, wait for the boss to get close to the quick sand, hit it once - done. Luck manipulation at the end of the level: we caused a few extra signpost sparkles to be created to manipulate the starting positions of the SOZ2 ghosts.
Sandopolis 2
The ghost manipulation before the start of the act made it possible to play the whole act with the lights out. A number of glitches were used throughout the act including screen wrap, falling through the floor, the stair clip and spin dashing through a sprite off screen.
Lava Reef 1
Here we entered Knuckles starting area to perform a level wrap using the spike crusher. The hand boss was manipulated to be in the exact spot we want it to be by adding pauses at the start of the level.
Lava Reef 2
Level wrapped through most the act and then used the stair clip to pass the objects blocking the pipe.
Sky Sanctuary
The boss can move in different patterns and needs to be manipulated at the start of the act.
Death Egg 1
In the beginning we abused the extending stairs to perform a small zip.
Death Egg 2
Used another stair to enter the wall and work our way to a level wrap.
Other comments
Thanks goes to Nitsuja and Upthorn for their Sonic runs; to Orkal for his glitch videos; to HHS for his explanation of the Angel Island/Hydrocity transition glitches; to mike89 for his blooper videos; to HDL for hosting the TAS, and for his general awesomeness at this game; to the folks at SonicRetro involved in the making of the S3&K disassembly.
The Launch Base 1 crusher trick was found by DMTM with Hyper Tails; DMTM also discovered the Death Egg 1 zip.
S3KGlitches found out the Lava Reef 1 level wrap with Knuckles; we soon put it to use with Tails.
gamble5688 found out the DEZ2 level wrap, and he discovered that the LBZ1 platforms pulls you through walls.
turska: Judging.
turska: Great audience response. Accepting for publication to Moons as a new branch.