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

Submission #4515: marzojr & Aglar's Genesis Sonic 3 & Knuckles "newgame+" in 27:31.29

Console: Sega Genesis
Game name: Sonic 3 & Knuckles
Game version: any
ROM filename: Sonic and Knuckles & Sonic 3 (W) [!].bin
Branch: newgame+
Emulator: Gens 11 svn 351
Movie length: 27:31.29
FrameCount: 98950
Re-record count: 201240
Author's real name: Marzo Junior & Mikael Johansson
Author's nickname: marzojr & Aglar
Submitter: marzojr
Submitted at: 2014-12-09 22:32:44
Text last edited at: 2016-07-11 11:54:26
Text last edited by: marzojr
Download: Download (11718 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:
Regular HD stream.

CamHack HD stream.

Started at the same time as the Tails run, and worked on at the same time as its twin run, this run has been years in the making. Like the Tails run, a disassembly of the game was used in order to squeeze the most of every trick. This run saves 3:46.98 in real time over its predecessor, 2:02.90 of which is saved in in-game time. Every single level has been improved from the previous run.

Note that the rerecord count is an estimate.

Also note that Aglar contributed only indirectly to this run, through his work on the branchless run.

This movie starts from a savestate. Specifically, it is either this savestate (Gens 11a) or this savestate (Gens 11b).

WARNING: The awesomeness of Hyper Sonic may damage your eyes or trigger seizures in susceptible people.

Emulator used: Gens 11b + S3KCamhack + SolidityViewer + (partial)HitboxDisplay + LUA HUD for Genesis Sonic games

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


Note: Comments by Marzo.

Savestate and SRAM

A savestate was used instead of SRAM because of a few reasons:
  1. GMV format does not allow embedding SRAM
  2. GMV file format does not allow an SRAM dependency
  3. Gens defaults to clearing SRAM when loading a movie
  4. GMV file format allows a savestate dependency

These reasons make using a savestate anchor the more fool-proof method, even though starting from SRAM would be better for a number of reasons. For the previous version of the run, a procedure was developed to generate the savestate that guarantees that the anchor would be consistent and equivalent to using SRAM. The explanation is in the previous submission text, and I will not repeat it here. Playing the movie from a savestate generated in such a manner is equivalent to playing this hex-edited movie using the SRAM you obtained midway through the procedure; for convenience, you can get such an SRAM here. Note that the hex-edited movie differs from the submitted movie by one bit, the save-state dependency flag.

Since the SRAM does not have information that could affect synchronization (you know, other than the save file with all emeralds...), the movie is self-verifying: you can use the SRAM generated by playing back the movie to play it back again. The number of lives will be wrong, but that is about the only change.

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] Previous[1] Change
Angel Island 1 0:32::49 0:35::33 -164
Angel Island 2 1:03::20 1:06::09 -169
Hydrocity 1 0:18::37 0:32::26 -829
Hydrocity 2 0:21::58 0:25::24 -206
Marble Garden 1 0:44::54 0:25::53 1141
Marble Garden 2 0:03::24 0:35::36 -1932
Carnival Night 1 0:30::52 0:34::50 -238
Carnival Night 2 0:35::39 0:40::24 -285
IceCap 1 0:54::54 0:59::57 -303
IceCap 2 0:00::43 0:00::44 -1
Launch Base 1 0:27::52 0:32::18 -266
Launch Base 2 0:25::50 0:26::58 -68
Mushroom Hill 1 0:32::17 0:36::15 -238
Mushroom Hill 2 0:28::43 0:30::50 -127
Flying Battery 1 0:42::49 0:56::16 -807
Flying Battery 2 1:06::13 1:11::21 -308
Sandopolis 1 1:10::13 1:27::51 -1058
Sandopolis 2 0:43::20 0:48::52 -332
Lava Reef 1 0:48::48 1:03::23 -875
Lava Reef 2 0:20::53 0:21::42 -49
Hidden Palace 0:16::36 0:18::26 -110
Sky Sanctuary 0:52::13 0:52::25 -12
Death Egg 1 0:51::58 0:53::16 -78
Death Egg 2 1:37::15 1:59::23 -1328
Doomsday[2] 1:33::26 1:34::30 -64
Total 17:40::33 19:43::27 -7374

In-game time lost to deaths

Act Time[1] Previous[1] Change
Hydrocity 2 0:05::21 0:05::21 0


Act Time[1] Previous[1] Change
Launch Base 2 0:29::36 0:29::35 1

[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.

[2] The Doomsday timer stops at this value; the last hit (i.e., the point where the movie ends) is at time 1:29::30 (66 frames of improvement). Moreover, the last time visible on-screen is 1:32::46 (64 frames of improvement).

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 1

I had already improved the start a lot; Aglar went in and took it even further. The different stats of Hyper Sonic make the loop zip slightly slower to setup, but his much greater jump strength allows keeping much higher speed for much longer than any other character can. The second loop zip can also be done by regular Sonic, but he would need a lightning shield; Knuckles can also used, as seen by WST's TAS. Delaying a bit after the scenery burns down lets me bounce off the spring on the top and lets me carry on more speed

Angel Island 2

New zip first found by DMTM; I loiter about a bit after entering the ground to let the camera unlock enough so that the bubble monitor loads, letting me keep more speed.

Hydrocity 1

A 2-player variation of the stair clip is used here, 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. The quick death for the next act was setup at no cost thanks to Tails.

Hydrocity 2

Better camera management for the level wrap, plus a new way of getting into the boss arena that allows a frame-perfect kill.

Marble Garden

Tails moves as in the Tails run, carries Sonic along. When landing, Tails touches down 1 frame before Sonic, so the flight timer is not set and allows Tails to pickup Sonic right away later. New ground entrance (instead of using the spring) was found by DMTM. Improved precision carries the rest of the level, with a surprise twist: Nineko's trick with solo Sonic or Knuckles of doing both acts at once can actually be done as Sonic + Tails. The condition for it to work is that Tails must be off-screen at one specific frame; this is not normally possible if you don't know the condition, which was figured out through the disassembly. So it is absolutely crucial to allow Tails to respawn at that time, as he would be too late otherwise. The pattern at score tally minimizes the number of lag frames.

By the way, I was a bit sad about finding this trick: it is possible to use the route from the Tails TAS in act 2 and hit the boss above the ceiling; Sonic and Tails can deliver all 8 hits this way, but it ends up being a lot slower.

Carnival Night 1

As it turns out, Hyper Sonic can do the level wrap faster than getting Wheel glitch, and faster than regular Sonic can either. Entering the wall at the boss allows zipping out at at the right time, allowing for a nearly frame-perfect kill -- it is theoretically possible to beat the boss 1 frame faster, but his position relative to the spinning top at the time of the first hit actually makes it impossible. Balloon positions for next act were manipulated at the end of this act. The original version of the ground entrance was by DMTM and used a bubble shield; I proved it was possible to do it without the shield.

Carnival Night 2

Zip into Big Ring, catch a ride in zip-speed Tails, enter wall and save a ton of time.


Ditch snowboard sooner, abuse solid object to push Hyper Sonic into the ground, get into sliding block from underneath and better precision all the way. 43 frames of "act 2" after the boss are now accounted; previous runs did not count this time, which made them 44 frames shorter in in-game time than they actually were.

Launch Base 1

Based on the Tails trick and on the Mushroom Hill 1 door, this trick is almost as old as the version with Tails. Better boss fight, together with extra setup for death right after signpost stops, allows skipping the score tally entirely.

Launch Base 2

Better boss fight from lodging Sonic inside the pipe. Unfortunately, it is not possible to speed up the transition, and it got longer by 1 frame.

Warning: If you watch this level with a camera hack, be sure to get the latest version of the S3KCamhack in the thread, or Gens will hang.

Mushroom Hill 1

It is theoretically possible to use Tails to enter terrain right at the start of the level, before the Knuckles cut-scene, and level wrap right away; but this does not work, and Sonic is teleported back to watch the cut-scene. And while he will still be on terrain and be able to zip right away, it ends up being slower overall. Anyway: new hyper ground entrance, which I previously thought was impossible. At the end, I setup the loop solidity for the next act in such a way I don't need to grab a shield.

Warning: If you watch this level with a camera hack, be sure to get the latest version of the S3KCamhack in the thread, or Gens will hang.

Mushroom Hill 2

Starting without a shield allows much faster Hyper. Backtracking into a new zip, and improved precision all the way make short work of the level.

Flying Battery 1

Tee-N-Tee's new zip for Tails can be used here, but it is slightly slower than this.

Flying Battery 2

Used the boss of the previous act to gain slope glitch, and bounced the signpost to obtain a lightning shield. The latter is crucial for this route, as Tails cannot follow Sonic on this route: CPU Tails despawns when off-screen with slope glitch. The speed of climbing at the end is irrelevant as long as you don't die.

Sandopolis 1

Yes, as it turns out, this zip is possible for Sonic -- it requires entering it at perfect pixel position with near zero speed. I had previously tried only with positions attainable within the wall (trying all subpixels), and thought it was impossible; Aglar proved me wrong.

Sandopolis 2

Improved light handle glitch, new ground entrances, and improved precision throughout. One frame is wasted between two hits on the boss to save 30 from glitching his invulnerability counter.

Lava Reef 1

The Tails route can't be followed by Sonic, so we had to improvise a bit. The two characters can then team up to descend faster and setup a zip left, which locks the screen further left for the cut-scene. The idea of going through the drill came about by watching Amy do it in WST's TAS.

Lava Reef 2

Level wrap is now perfect: using spindashes to keep camera as far right as possible while zipping left, then using a flame dash to nullify the camera lock right after the level wrap.

Hidden Palace

Improved precision up to the teleporter. It is possible to gain 1 frame more up to it, but the teleporter is the one object in S3&K that has a 4-frame frame-rule. Glitched the boss even more, so Knuckles is down before his music starts... and then broke the level.

Sky Sanctuary

Replayed the level entirely, and managed to gain 3 cycles of the teleporter's 4-frame frame-rule.

Death Egg 1

9 frames were gained in the first frame of input in the level. The Tails zip at the start seems impossible; so improved precision carried the day. Used Orkal's trick to break the level transition and die with the timer stopped.

Death Egg 2

Level wrap by gamble5688, with lightning shield by DMTM.


1 frame saved by the new route to the mid-boss. The missiles can be forced to turn faster by pausing the game like that, so they can hit the boss much faster at the cost of real time. Avoided all obstacles after to gain a couple more frames.

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 his general awesomeness at this game;
to the folks at SonicRetro involved in the making of the S3&K disassembly.

Potential improvements

There is a 1-frame pause at the middle of Death Egg 2 to manipulate the Death Ball.

feos: Acceblishing. Gonna take time...

Similar submissions (by title and categories where applicable):