Tool-assisted game movies
When human skills are just not enough

Submission #2784: Nitsuja & Upthorn & marzojr's Genesis Sonic 3 & Knuckles in 32:05.52

Console: Sega Genesis
Game name: Sonic 3 & Knuckles
Game version: any
ROM filename: Sonic and Knuckles & Sonic 3 (W) [!].bin
Emulator: (unknown)
Movie length: 32:05.52
FrameCount: 115531
Re-record count: 204431
Author's real name: JSP & JJN & MJ
Author's nickname: Nitsuja & Upthorn & marzojr
Submitter: marzojr
Submitted at: 2010-08-03 18:36:52
Text last edited at: 2010-08-15 00:09:33
Text last edited by: marzojr
Download: Download (17089 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:
While working on the New Game+ run, I found a few improvements for the any% run. These improvements include a couple of new shortcuts, better off-screen coordination with Tails, better control of Tails re-spawns and slightly improved precision; they combine to make an epic movie faster by 1226 frames in the in-game timer, which amounts to 832 frames faster in real time. Note that although neither Nitsuja nor Upthorn were actively involved in this improvement, they are listed as co-authors because their input comprises a large portion of the movie.

Game objectives

  • Emulator used: Gens 11a + S3KCamhack + SolidityViewer + (partial)HitboxDisplay + LUA HUD for Genesis Sonic games
  • 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
  • One player controls two characters


Several levels are improved due to slightly better precision: notably, Hydrocity 1, the death sequence at the start of Hydrocity 2, Marble Garden 2, Launch Base 1, the cutscene after Launch Base 2 and Lava Reef 2. "Improved precision" in this context also includes improvements to the boss fights.

Hydrocity 2 and Marble Garden 1 were improved mainly due to better off-screen manipulation of Tails, leading to better boss fights.

Flying Battery 1 and 2 gained new shortcuts, resulting in the large share of the improvement of this revision.

There are 20 frames worth of luck-manipulating pauses at the end of Sky Sanctuary; these are intended to put the Death Egg 1 mini-boss in a more favorable pattern. All other luck manipulation pauses from previous versions of the run have been eliminated.

Comparison Table

Act New Time Old Time Savings
Hydrocity 1 0:33::05 0:33::21 16
Hydrocity 2 death 0:09::09 0:09::19 10
Hydrocity 2 0:25::24 0:28::23 179
Marble Garden 1 0:30::07 0:30::29 22
Marble Garden 2 0:35::36 0:35::53 17
Launch Base 1 0:37::03 0:37::41 38
Post Launch Base cutscene 2 0:17::53 0:18::01 8
Flying Battery 1 0:56::16 1:08::22 726
Flying Battery 2 1:11::21 1:14::48 207
Lava Reef 2 0:21::41 0:21::44 3
Total savings: 1226 frames (20 seconds and 26 frames) in in-game time, 832 frames (13 seconds and 52 frames) in real time. Differences in lag and the removal of the aforementioned pauses compensated each other almost completely; but I gained a net 6 frames in real time from the balance.

The table shows the in-game timer values. The value after the final colon 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.

Stage by stage comments

Hydrocity 1

There was a substantial delay between the last two hits in the boss; with a slight change of velocity manipulation, it was possible to eliminate that delay. This was discovered by accident because I needed to manipulate Sonic's subpixel position to improve the death sequence at the beginning of the next act.

Hydrocity 2

The death sequence is improved in precision.

For the normal portion of the act, I manipulate Tails to stay on-screen longer at the start of the level; this way, his re-spawn is delayed enough that he gets teleported along with Sonic to the boss. Heavy off-screen coordination of Tails and Sonic allow me to get Tails flying above the top of the screen boundary at the boss, for a much faster boss fight.

Marble Garden 1

Manipulating Tails offscreen allows him to reach the boss faster.

Marble Garden 2

Improved precision when going inside the wall gives 8 frames because Sonic falls faster into the wall. The boss configuration is much more favorable, giving the rest of the improvement in this level.

Launch Base 1

The better boss fight gives a better time for the act. I delay the death at the end by 2 frames (by holding the jump button for 1 more frame) to manipulate the timing of the first flamethrower in the next act; if I didn't, it would harm Sonic.

Launch Base 2

Better positioning after the boss is killed slightly reduces the transition cutscene.

Flying Battery 1

The first improvement found for the any% run; I found this while working on the New Game+ run. The handle causes Sonic to fall to the ground several times, and makes for a jerky motion horizontally -- it is this jerkiness allows me to enter the wall. I must enter the wall to get both the handle and Tails offscreen while I jump off and hit the "ground" in the wall; anything else will cancel the anti-gravity glitch.

Flying Battery 2

The above improvement placed some timed objects in very inconvenient positions in the level, preventing me from using the route from the old movie. Undaunted, I found another one faster :-)

Lava Reef 1

Several frames worth of pauses were removed from the end of Sandopolis 2. This forced me to replay the boss battle which had desynched due to differences in luck.

Lava Reef 2

At the very end, an extra rev in the spindash not only is possible, but saves 2 frames due to the higher speed; the earlier jump to the platform saves the other frame.

Sky Sanctuary

Instead of adding pauses to correct the desynch, I simply replayed the boss battle, given that the attack pattern was as favorable as it was in the previous run.

Other comments

For more comments about the run, see the comments from the previous run, as well as the runs that it obsoletes.

I started the run from the previous run, keeping the rerecord count and splicing in the unchanged input as needed.

I also corrected the version of the run to the correct value (version 7) as discussed here.

I wish to thank Nitsuja and Upthorn for making the previous run(s), as well as improving the tools for making runs.

Possible Improvements

In Marble Garden 2, there is one of Robotnik's attack patterns which allows a 1 frame improvement; it takes much longer to manipulate it (with pauses or by loitering) than it is worth, unless one were to gain enough frames in the preceding levels to manipulate this attack pattern (not an easy task).

If one were to replay the Death Egg 1 boss, up to 20 frames in real time (but none in in-game time) might be saved by removing the pauses at the end of Sky Sanctuary. However, most of the boss attack patterns in that range are highly unfavorable and probably slower to kill; in all likelihood, at most about 10 frames of pauses might be gained by replaying the fight. Again, this would only be a gain in real time; in in-game time, no frames can be gained from this.

With the same input and the same position (right down to the same subpixel position), the death at the start of Hydrocity 2 can be 1 frame faster -- Sonic even dies at the same frame, but the timer stops 1 frame earlier. Likewise, the post-Launch Base 2 cutscene can be 2 frames faster by standing in the same exact position. I don't know what causes these differences, but it is probably related to cumulative differences in execution, as they usually occur when the preceding levels have changed in length (up or down). If one were to gain "enough" frames in the preceding levels (again, not an easy task), these "extra" frames might simply just go away; I have no idea what would constitute "enough" frames for this to happen, though.

I am not aware of any other improvements at this time.

Suggested screenshot

Frame 59745:

sgrunt: Removing the branch tag for consistency with previous runs.

marzojr: Updating and linking in suggested screenshot.

adelikat: Accepting for publication as an improvement to the published movie.

Similar submissions (by title and categories where applicable):