A completely new TAS of the slow-paced weird brother of the Genesis Sonic games. Every level has been replayed entirely and improved, and none of Nitsuja's or Upthorn's input survives. All told, it is 0'31"53 in in-game time faster than the previous movie.
Emulator used: Gens 11b + SCDCamhack + 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
  • No deaths
  • Abuses programming errors
  • Uses time travel to save time

Comments

Synch and JP version

The US version of this run was done with a bin/cue of the US disc, where the bin had MD5 091498f94fe76d5c43af5f513e2b5e8f. The BIOS used was named us_scd1_9210.bin (version 1.1), and has MD5 2efd74e3232ff260e371b99f84024f7f.
The Japanese version of this run was done with a bin/cue of the Japanese disc, where the bin had MD5 bb293a0b5a5ad9dea4f0c807c7a3d694. The BIOS used was named jp_mcd1_9112.bin (version 1.0), and has MD5 bdeb4c47da613946d422d97d98b21cda.
Making the Japanese version was a matter of compensating for lag frames and BIOS differences. Since the submitted zip file can only have 1 movie, I uploaded it here; ROM name is "Sonic the Hedgehog CD (NTSC-J) [G-6021].bin".

General Comments

A troll Sonic game by any standards:
"Where S2 rewards skill with speed and punishes failure with slow, SCD punishes speed with walls and interruptions, and rewards going slow by letting you progress at all"
― Covarr, in this post
The peelout and spindash are slow to charge. There are many dead-end routes which force backtracking, and troll springs placed on places where they are guaranteed to slow you down or bounce you back. Everything in the game is designed to make you go slow. Despite this, the game can be quite fast if you know how to abuse the engine.
This run was made with constant reference to a partial in-progress disassembly of Palmtree Panic 1 Present, with skeletal disassemblies of other zones being done as needed. This was possible because the game shares a common code base among all zones, with a few tweaks here or there (for example, you can play as a full-featured, if invisible, mini Sonic in all levels by using the PAR code FF195A:0001; he is even visible in Tidal Tempest). These disassemblies were used to determine exactly how a few things worked so they could better be abused; they are not available anywhere yet. All in all, very little was found that helped.

The Moving While Charging Peelout (MWCP)

One of the major sources of improvement in the run, the exact workings of it were found by reference on the disassembly before it was tested on the game. Nitsuja and Upthorn understood the basics of this, but failed to realize its true potential. In a high-level manner, here is how this works:
  1. You start charging a peelout (duh);
  2. while charging a peelout, the game checks if you are at the edge of terrain (important) or an object (not as important, but also interesting);
  3. after determining you shouldn't lose balance, it then proceeds to the peelout code: there is a 16-frame timer for looking up or down after you press up/down that prevents you from starting a peelout or spindash;
  4. when you press or hold down while charging a peelout, the game determines whether you should duck (if you had pressed down to start the timer mentioned above) or start charging a spindash;
  5. after either of the paths above, the game goes into the normal code that applies natural deceleration when running and not pressing right or left; this code is skipped in the normal course of charging a peelout;
  6. after this, the game updates your X and Y speeds based on ground angle and inertia; this code is skipped in the normal course of charging a peelout;
  7. finally, the game checks for zipping; this code is skipped in the normal course of charging a peelout;
  8. after this, the game checks whether or not to start rolling.
The variant used by Nitsuja and Upthorn simply pressed down. This caused a frame's worth of deceleration to be applied (but because of (2), the deceleration applied was wrong: 13 instead of 12), the game checks for zips on this frame, and there is the possibility of rolling. In the end, you have 4 cases:
  1. 1-frame charge + 1-frame deceleration (Launch speed 87), no zip: speed is insufficient for rolling, so you don't roll and get to keep the launch speed;
  2. n+1-frame charge + 1-frame deceleration, no zip (Launch speed 87+100*n): you move for 1 frame, and your inertia is sufficient for rolling, so you get converted to a spindash and lose the charge when you release down;
  3. n+1-frame charge + 1-frame deceleration, with zip (Launch speed 87+100*n minus 256 times the number of pixels Sonic gets inside the wall): inertia gets set to 0 due to zip, which prevents rolling; you get to keep the quoted launch speed after the first frame; you lose the current charge;
  4. n+1-frame charge + 1-frame deceleration, no zip, the launch movement plus the smaller rolling hitbox makes you go over an edge (Launch speed 87+100*n): you get to keep the full speed of the launch, and you will keep moving when you land and will resume charging from the inertia you keep from landing.
The variant I discovered presses down+forward. This prevents the deceleration from being applied, and moreover, you can't roll when you are pressing right or left. This means you get launched at your full current inertia (the peelout charge) and you keep charging your peelout since it is not converted into a spindash (as long as the timer mentioned above is zero when you press down+forward). And since zipping is disabled when charging a peelout, you get to run through walls on all frames except those you pressed down+forward on. Finally, you are also not affected by slopes, meaning you keep your full speed even while running up a slope.

In-Game Time Table (US)[1]

ZoneTime[1]Previous[2]Change
Palmtree Panic 10'20"300'20"75-45
Palmtree Panic 20'15"280'16"60-132
Palmtree Panic 30'17"510'17"71-20
Collision Chaos 10'15"660'15"83-17
Collision Chaos 20'19"750'22"06-231
Collision Chaos 30'03"160'03"35-19
Tidal Tempest 10'17"860'21"38-352
Tidal Tempest 20'29"600'31"65-205
Tidal Tempest 30'22"560'23"90-134
Quartz Quadrant 10'15"850'18"65-280
Quartz Quadrant 20'16"550'17"91-136
Quartz Quadrant 30'50"550'50"86-31
Wacky Workbench 10'12"780'22"03-925
Wacky Workbench 20'25"500'27"25-175
Wacky Workbench 31'02"581'03"05-47
Stardust Speedway 10'14"410'14"75-34
Stardust Speedway 20'17"210'17"63-42
Stardust Speedway 31'04"881'05"01-13
Metallic Madness 10'16"360'18"71-235
Metallic Madness 20'23"080'23"61-53
Metallic Madness 31'07"301'07"56-26
Total9'08"739'40"25-3152

In-Game Time Table (JP)[1]

ZoneTime[1]Previous[2]Change
Palmtree Panic 10'20"300'20"75-45
Palmtree Panic 20'15"280'16"60-132
Palmtree Panic 30'17"510'17"71-20
Collision Chaos 10'15"660'15"83-17
Collision Chaos 20'19"750'22"06-231
Collision Chaos 30'03"160'03"35-19
Tidal Tempest 10'17"860'21"38-352
Tidal Tempest 20'29"600'31"65-205
Tidal Tempest 30'22"560'23"90-134
Quartz Quadrant 10'15"880'18"68-280
Quartz Quadrant 20'16"580'17"95-137
Quartz Quadrant 30'50"550'50"86-31
Wacky Workbench 10'12"780'22"03-925
Wacky Workbench 20'25"500'27"25-175
Wacky Workbench 31'02"581'03"05-47
Stardust Speedway 10'14"410'14"75-34
Stardust Speedway 20'17"210'17"63-42
Stardust Speedway 31'04"881'05"01-13
Metallic Madness 10'16"360'18"71-235
Metallic Madness 20'23"080'23"61-53
Metallic Madness 31'07"301'07"56-26
Total9'08"799'40"32-3153
[1] The Japanese and US versions have a slightly different way of handling the in-game time and lag frames. The US version works like the other 2D Sonic games and only updates the in-game timer on non-lag frames; the Japanese version, however, appears to update the timer also when there are two consecutive lag frames. This happens in a couple of places in Quartz Quadrant, making these levels longer in in-game time.
[2] Time is in the pseudo-centiseconds used by the game. What the game really does is have an internal frame counter in the [0,59] range that is used to update the seconds every 60 frames. The centiseconds are obtained from this frame counter by multiplying it by 100 and dividing by 60, rounding down (the game does an integer unsigned division and sets the remainder to zero).

Level-by-Levels comments

All levels benefit from improved precision or MWCP; these comments talk about only things that aren't covered by these.

Palmtree Panic 1

There is a level wrap, which leads to inevitable death; it is in the outtakes video. There are time-traveling level wraps, which are slower.

Palmtree Panic 2

Speed shoes + peelout = level wrap.

Palmtree Panic 3

Better boss fight.

Collision Chaos 2

New route abusing speed shoes + peelout to enter a wall and zip through to the end.

Tidal Tempest 1

Entering a wall and launching at zip speeds to cut a portion of the level.

Tidal Tempest 2

Average speed in the portion of zipping and jumping is marginally better than running at the bottom; the portion with a straight zip clinches the deal, and avoids the switch.

Quartz Quadrant 1

Time travel to the future ends up being faster in in-game time than going for the speed shoes in the present.

Quartz Quadrant 2

Glitched into a wall instead of going around it using the spring. Sadly, speed is lower at the end, and I need to jump into the last spring instead of standing where it will load.

Quartz Quadrant 3

I disassembled the boss to find out the fastest way to beat him. As it turns out, you can start damaging the boss right after hitting him the first time (which must happen on-screen). Sonic accelerates at 12 subpixels/frame/frame, whereas the conveyor belt accelerates at a rate of 8 subpixels/frame/frame; the conveyor's speed maxes out 32 subpixels/frame slower than Sonic's top speed, and is the rate at which the boss gets damaged. If you are moving slower than the conveyor, its speed decreases by 7 subpixels/frame/frame, unless you are on air, in which it decreases only by 1 subpixel/frame/frame. So you want to be on the ground faster than the conveyor belt whenever possible, and just holding right is enough to damage the boss as fast as possible.

Wacky Workbench 1

New route, playing the level at zip speeds and going through walls at every turn. There is a level wrap, but you can't activate the signpost — you are too low (see outtakes video).

Wacky Workbench 2

A most annoying level. I can do the first part faster with MWCP, but it takes longer at the bottom for the ground to throw you up. There is a ton of possible zips on that first part, but they all leave you stuck on those long rotating poles and lose all the time you get up until the moving platform after hitting the ground. There is a level wrap, but it is slower (see outtakes video).

Wacky Workbench 3

There is a level wrap into the third level of the boss, but it is slower and useless.

Stardust Speedway 1

In the outtakes video, I show a level wrap. Just playing through the level is faster.

Stardust Speedway 3

Metal Sonic and Eggman are slow; they cap out at 6 pixels/frame if you are far enough ahead. So you need to wait for them at the end, meaning the only real gains were until the screen locks at the start. I did play it much faster anyway. The outtakes video shows a (slower) level wrap.

Other comments

Thanks goes to Nitsuja and Upthorn for their runs;
to Zone 0 for maps and information about the game.

Potential improvements

None I am aware of.

Spikestuff: Publishing for the Goddess. Need to hand this off to someone else to wait and publish.
feos: Grabbing since it's such a big deal.


Patashu
He/Him
Joined: 10/2/2005
Posts: 4043
True wrote:
yeah, the games I want to see always are slow to have encodes. tasvideos knows
Hahahaha
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Samsara
She/They
Senior Judge, Site Admin, Expert player (2239)
Joined: 11/13/2006
Posts: 2822
Location: Northern California
I should have an HD temp encode up within an hour or so if another encode doesn't pop up in the meantime. EDIT: Link to video There we go. HD is done. 60FPS is done as well if you view it on Youtube.
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Joined: 8/29/2006
Posts: 13
Finally! I've been waiting for this one since I saw the "blooper reel" encodes.
dot dot dot EXCLAIMATION POINT
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4036
Thanks for the encode, Samsara! That was a really good run, marzojr; voting Yes.
Joined: 2/1/2011
Posts: 88
Nice, very nice. Very happy with this run, while it may not be the fastest looking Sonic game it certainly has its tricks; voting yes.
Joined: 6/16/2011
Posts: 48
JP coming soon?
Experienced player (985)
Joined: 8/30/2012
Posts: 373
Thank you for encode, and I a\was very entertained by your run, marzojr :D Great improvement again.
Previous TASes: Frogger's Adventures: The Rescue Paper Mario: The Thousand-Year Door any% x 8 Paper Mario 64 Luigi's Mansion Sonic Heroes - Team Sonic Mario Kart Wii ILs
Samsara
She/They
Senior Judge, Site Admin, Expert player (2239)
Joined: 11/13/2006
Posts: 2822
Location: Northern California
RedGreenSonic wrote:
JP coming soon?
If you mean a temp encode, it'll take me a couple hours, but sure. EDIT: Done. 60fps at the Youtube link and all that. Link to video
TASvideos Admin and acting Senior Judge 💙 Currently unable to dedicate a lot of time to the site, taking care of family. Now infrequently posting on Bluesky
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Joined: 6/16/2011
Posts: 48
Thanks a lot. That JP soundtrack just melts my ears :P
AntyMew
It/Its
Encoder, Player (35)
Joined: 10/22/2014
Posts: 425
GoddessMaria15 wrote:
I have finished encodes for the US Soundtrack. Starting the JP/EU Soundtrack now.
How's it going?
Just a Mew! 〜 It/She ΘΔ 〜
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11479
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
Anty-Lemon wrote:
GoddessMaria15 wrote:
I have finished encodes for the US Soundtrack. Starting the JP/EU Soundtrack now.
How's it going?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
AntyMew
It/Its
Encoder, Player (35)
Joined: 10/22/2014
Posts: 425
feos wrote:
Anty-Lemon wrote:
GoddessMaria15 wrote:
I have finished encodes for the US Soundtrack. Starting the JP/EU Soundtrack now.
How's it going?
<GoddessMaria> everything is done
Just a Mew! 〜 It/She ΘΔ 〜
AntyMew
It/Its
Encoder, Player (35)
Joined: 10/22/2014
Posts: 425
@GoddessMaria: Since you apparently missed this in IRC, I'll leave this here You don't have to fill out the title or description, you can just leave them as todo. They are both automatically filled out once te encodes are linked to the movie. The tags are wrong; semicolons do not split tags, commas do. As a result, YT is reading yt:stretch=4:3;tasvideos as one tag, so the AR is not corrected. They can be fixed by using SystemTVCControl EDIT: Oh, and click update on SystemTVCControl to update the video itself
Just a Mew! 〜 It/She ΘΔ 〜
Joined: 5/14/2007
Posts: 525
Location: Pisces-Cetus filament
I really enjoyed this run, even though the fact that the fastest routes for a few stages involve level wraps makes it less entertaining for me than the previous one. I suggest the following screenshots:
AzumaK wrote: I swear my 1 year old daughter's favorite TASVideo is your R4MI run :3 xxNKxx wrote: ok thanks handsome feos :D Help improving TASVideos!
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Zeupar wrote:
I really enjoyed this run, even though the fact that the fastest routes for a few stages involve level wraps makes it less entertaining for me than the previous one.
Uhhh... there is one level wrap that wasn't present in the previous version, that of Palmtree Panic 2; there are no new level wraps that aren't either slower or don't let you complete the level. Does one more level wrap really make the run less entertaining? Or are you misremembering the previous run as having no level wraps?
Marzo Junior
Joined: 5/14/2007
Posts: 525
Location: Pisces-Cetus filament
marzojr wrote:
Zeupar wrote:
I really enjoyed this run, even though the fact that the fastest routes for a few stages involve level wraps makes it less entertaining for me than the previous one.
Uhhh... there is one level wrap that wasn't present in the previous version, that of Palmtree Panic 2; there are no new level wraps that aren't either slower or don't let you complete the level. Does one more level wrap really make the run less entertaining? Or are you misremembering the previous run as having no level wraps?
Yes to both questions.
AzumaK wrote: I swear my 1 year old daughter's favorite TASVideo is your R4MI run :3 xxNKxx wrote: ok thanks handsome feos :D Help improving TASVideos!
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
I really like this one: Thanks Zeupar!
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Joined: 8/5/2013
Posts: 6
I like this one best myself
Spikestuff
They/Them
Editor, Publisher, Expert player (2648)
Joined: 10/12/2011
Posts: 6441
Location: The land down under.
Yup
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Mitjitsu
He/Him
Banned User
Joined: 4/24/2006
Posts: 2997
Spikestuff wrote:
Yup
Is that a glitch that causes that, or an emulation error?
AntyMew
It/Its
Encoder, Player (35)
Joined: 10/22/2014
Posts: 425
Nach and Spikestuff wrote:
I'm a fan of this one as well, but imo I prefer these :)
Just a Mew! 〜 It/She ΘΔ 〜
Skilled player (1458)
Joined: 11/26/2011
Posts: 656
Location: RU
I like this one:
I show you how deep the rabbit hole goes. Current projects: NES: Tetris "fastest 999999" (improvement, with r57shell) Genesis: Adventures of Batman & Robin (with Truncated); Pocahontas; Comix Zone (improvement); Mickey Mania (improvement); RoboCop versus The Terminator (improvement); Gargoyles (with feos)
Joined: 5/9/2005
Posts: 752
It's only been a few posts in on the Picture vote; but this is the longest debate on the internet about Sonic CD that has not devolved into a soundtrack argument. Great job guys! Anyway, if there was a screen shot that was cool enough that showed off that the time warp in QQ was faster I'd vote for that one.
marzojr
He/Him
Experienced player (761)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Mitjitsu wrote:
Is that a glitch that causes that, or an emulation error?
Glitch; in a nutshell, the trigger to load the bubble graphics is skipped. It is similar to S1/S2 when you do a level wrap and the signpost ends up all garbled. This actually shows poor coding of this level -- Sonic CD has an interesting system for loading graphics automatically based on camera position (not present in any of the other Genesis Sonic games); had they used it here, the graphics would not been garbled. But alas, they used similar means to what S1/S2 use in this case...
Paused wrote:
It's only been a few posts in on the Picture vote; but this is the longest debate on the internet about Sonic CD that has not devolved into a soundtrack argument. Great job guys!
That is because everyone agrees: US Metallic Madness, Sonic Boom at opening and ending, JP for everything else. /me runs
Marzo Junior
Joined: 10/23/2009
Posts: 545
Location: Where?
Nach wrote:
I really like this one: Thanks Zeupar!
I like this one too.