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.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14853
Location: 127.0.0.1
This topic is for the purpose of discussing #4537: marzojr's SegaCD Sonic the Hedgehog CD in 17:04.27
Experienced player (630)
Joined: 11/23/2013
Posts: 2208
Location: Guatemala
Watched the entire thing. Really friggin good, voted yes. Gotta love that music. Gotta go fast.
Here, my YouTube channel: http://www.youtube.com/user/dekutony
GoddessMaria
She/Her
Reviewer, Experienced player (849)
Joined: 5/29/2009
Posts: 514
Location: Hell...
That was fast! Started 2015 off with an amazing run! Loved the improvements over nitsuja's movie! I was very much entertained! Encoding this now! Also, voting yes!
Current projects: failing at life
AntyMew
It/Its
Encoder, Player (35)
Joined: 10/22/2014
Posts: 425
GoddessMaria15 wrote:
Encoding this now!
Noooo T_T Btw, even though nitsuja provided a JP/EU-synced version of the previous movie, Flygon instead used the US file and did this for the JP/EU music encodes:
NesVideoAgent wrote:
<h3>Music</h3> This was made with the US version of the game, but if you prefer the music from the Japanese version, you can tell Gens to run the US game but use the music from the Japanese game. The way of doing this depends on whether you are using ISO+MP3 or BIN+CUE. If you are using MP3s, simply replace the MP3 files with the ones from the Japanese version. If you are using BIN+CUE, you can edit the CUE file of the (J) version to use the (U) version for track 01 (data) and use the (J) version starting at track 02 (audio). It should look like this, except with the filenames matching the ones you have: <p>
  FILE "Sonic CD (U).iso" BINARY
TRACK 01 MODE1/2352
INDEX 01 00:00:00
FILE "Sonic CD (J).iso" BINARY
TRACK 02 AUDIO
PREGAP 00:02:00
INDEX 01 12:14:49
TRACK 03 AUDIO
INDEX 00 12:18:63
INDEX 01 12:20:63
TRACK 04 AUDIO
...and so on...
One thing those won't work for, though, is the ending music. For that, you'll have to use the actual Japanese version of the game, not only the Japanese audio tracks. You'll also have to use a <a>different version of the movie file</a> for it to sync and version 1.00 of the Japanese MegaCD BIOS. Be warned that Quartz Quadrant has slightly slower in-game times than in the US version (differences during lag frames) even though the movie is about 10 seconds shorter (mostly due to shorter level end music).
I'm not sure if it would be better to do this or use the JP/EU-synced movie instead, though
Just a Mew! 〜 It/She ΘΔ 〜
Techokami
He/Him
Joined: 6/23/2008
Posts: 160
I was not expecting this level of a beating. Also, I like the idea of an outtakes reel. Yes vote!
Joined: 6/16/2011
Posts: 48
Can't wait to see an encode of the JP run. Sonic CD the way it was meant to be heard.
marzojr
He/Him
Experienced player (748)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Anty-Lemon wrote:
I'm not sure if it would be better to do this or use the JP/EU-synced movie instead, though
Just a nitpick: The JP and EU versions are actually different; the JP is NTSC-J (60 fps), while the EU is PAL (50 fps).
Marzo Junior
Experienced player (962)
Joined: 8/30/2012
Posts: 373
Still waiting for the encode but I'm excited to see all the improvements! Great work.
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
GoddessMaria
She/Her
Reviewer, Experienced player (849)
Joined: 5/29/2009
Posts: 514
Location: Hell...
I'm very sorry for the delay, everyone! I was having internet trouble and needed to redo something, but I am working on them now.
Current projects: failing at life
N._Harmonik
She/Her
Joined: 8/27/2006
Posts: 502
Location: Canada
Any chance of an all-Time-Stones, all-Good-Futures run?
Why, oh, why do I even <i>try</i> to understand my own species?
marzojr
He/Him
Experienced player (748)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
I actually have been thinking/planning how a 100% run might go. The issue is defining exactly what would constitute a 100% run. These are the possible goals in the game:
  1. Destroying the machine in the past;
  2. collecting all time stones;
  3. destroying the Metal Sonic hologram (optional).
Destroying the hologram is possible in all levels except Metallic Madness (which doesn't have them); destroying them makes no difference in the ending, but it does make animals come back to the game in present and future (which are unlikely to be revisited after going to the past to destroy them). Destroying the machines becomes unnecessary once you have all time stones (you automatically get good futures), so either the last time stone should be collected as late as possible for a more unique run (and much longer), or as early as possible, in which case half the game would remain the same.
Marzo Junior
Joined: 5/9/2005
Posts: 748
I was going to ask about your interest in doing one of the 'Good ending' runs when this was accepted marzo. For what it is worth, in my opinion all 3 of those goals would be completed. Like you say, get the last Time Stone in Metallic Madness 2 and smash up all the Robot Machines and Metal Sonic holos in the past. Having the uniqueness you mention coming from the trips to the past for the whole run sounds somewhat vital in this game having a second category. But also getting the Time Stones seems like a goal that should be done... It's a Sonic game with (potentially?) interesting Special Stages. That's unique in this series I think. I can see arguments against the Metal Sonic Holos due to its arbitrariness being upto debate, though I would hope what it adds to the run and how it differentiates from this makes up for it.
Site Admin, Skilled player (1235)
Joined: 4/17/2010
Posts: 11264
Location: RU
GoddessMaria15 wrote:
I'm very sorry for the delay, everyone! I was having internet trouble and needed to redo something, but I am working on them now.
Progress?
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:
GoddessMaria15 wrote:
I'm very sorry for the delay, everyone! I was having internet trouble and needed to redo something, but I am working on them now.
Progress?
She came to irc yesterday saying she was having problems with an hd encode. The error message said something about fonts, iirc. I directed her towards tasencodingpackage2 since she was using an old package, but I don't know if it helped or not
Just a Mew! 〜 It/She ΘΔ 〜
GoddessMaria
She/Her
Reviewer, Experienced player (849)
Joined: 5/29/2009
Posts: 514
Location: Hell...
I have downloaded Package 2 and it's proceeding fine so it will be ready today, hopefully.
Current projects: failing at life
Site Admin, Skilled player (1235)
Joined: 4/17/2010
Posts: 11264
Location: RU
GoddessMaria15 wrote:
I have downloaded Package 2 and it's proceeding fine so it will be ready today, hopefully.
Oh, so you're actually making encodes for publication?
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.
GoddessMaria
She/Her
Reviewer, Experienced player (849)
Joined: 5/29/2009
Posts: 514
Location: Hell...
That has been my intent.
Current projects: failing at life
Site Admin, Skilled player (1235)
Joined: 4/17/2010
Posts: 11264
Location: RU
BTW, this game requires "Proper aspect ratio in low-res mode" checked. Since it's gameplay is standard resolution, while some other stuff isn't and should be stretched.
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.
GoddessMaria
She/Her
Reviewer, Experienced player (849)
Joined: 5/29/2009
Posts: 514
Location: Hell...
I have finished encodes for the US Soundtrack. Starting the JP/EU Soundtrack now.
Current projects: failing at life
Joined: 5/9/2005
Posts: 748
GoddessMaria15 wrote:
I have finished encodes for the US Soundtrack. Starting the JP/EU Soundtrack now.
I swear, even if it is better, you don't need to post the JP music version at the same time if you have the US version to show now.
AntyMew
It/Its
Encoder, Player (35)
Joined: 10/22/2014
Posts: 425
Paused wrote:
GoddessMaria15 wrote:
I have finished encodes for the US Soundtrack. Starting the JP/EU Soundtrack now.
I swear, even if it is better, you don't need to post the JP music version at the same time if you have the US version to show now.
She is doing the publication encodes, not the temp encode. All the temp encode takes is to dump the avi and throw it on youtube; it doesn't actually involve any encoding
Just a Mew! 〜 It/She ΘΔ 〜
marzojr
He/Him
Experienced player (748)
Joined: 9/29/2008
Posts: 964
Location: 🇫🇷 France
Anty-Lemon wrote:
All the temp encode takes is to dump the avi and throw it on youtube; it doesn't actually involve any encoding
Easier said than done; I did try making a temp encode like that when I submitted the movie. Upload ETA was 3 weeks per movie (my upload speed is not that great, I know...). Encoding improves that, as the file size goes down; but with my (limited) experience in uploading Sonic videos to youtube, sending a video without resizing (at least 2x) will result in a blurry mess because youtube thinks that low resolution = low quality.
Marzo Junior
AntyMew
It/Its
Encoder, Player (35)
Joined: 10/22/2014
Posts: 425
marzojr wrote:
Easier said than done; I did try making a temp encode like that when I submitted the movie. Upload ETA was 3 weeks per movie (my upload speed is not that great, I know...). Encoding improves that, as the file size goes down; but with my (limited) experience in uploading Sonic videos to youtube, sending a video without resizing (at least 2x) will result in a blurry mess because youtube thinks that low resolution = low quality.
Considering the gigantic file size, you dumped it losslessly, correct? Using a lossy codec, notably x264vfw, could help a lot. It has pretty good quality for being lossy. And honestly, the majority of temp encodes aren't resized, but I don't mind considering they get the job done Respect for trying to make a temp encode yourself, btw. I don't entirely understand why someone would give themselves more work after the TAS is done :P
Just a Mew! 〜 It/She ΘΔ 〜
Joined: 2/1/2011
Posts: 88
I am dying right now to see this TAS! But I can't... Because the Youtube encode isn't finished.
Editor, Player (68)
Joined: 1/18/2008
Posts: 663
yeah, the games I want to see always are slow to have encodes. tasvideos knows
true on twitch - lsnes windows builds 20230425 - the date this site is buried