Please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Proto:Sonic the Hedgehog (Genesis)

From The Cutting Room Floor
Jump to navigation Jump to search

This page details one or more prototype versions of Sonic the Hedgehog (Genesis).

Hiddenpalace.org logo.png  This prototype is documented on Hidden Palace.

Sonic1Proto MD Title.png

A prototype of Sonic the Hedgehog was released by Hidden Palace on January 1, 2021 (or December 31, 2020, depending on where you reside in the world). It shows the game in mid-development. Many stages cannot be completed due to the lack of signposts and bosses; some (like Clock Work Zone Act 3 and Final Zone) haven't been started at all, or are obvious placeholder designs (like the Special Stage).

Playing this build reveals a game that was originally tuned more for traditional platforming and exploration, rather than for speed, which eventually became the hallmark of the Sonic series. It also features a plethora of cut content that was previously only seen in grainy magazine screenshots and blurry video footage, like the giant rolling ball in Green Hill Zone, the UFOs in Marble Zone, and Spring Yard Zone when it was still Sparkling Zone. Also, Splats the Bunny!

A Sonic 1 prototype was sought after for over 20 years, during which time prototypes of all the other 16-bit Sonic games were eventually found, until one was finally dumped in late 2020 by Buckaroo. According to drx, this proto was confirmed to be sourced from a UK magazine at the time.

Download.png Download Sonic the Hedgehog (Genesis Prototype)
File: Sonic_the_Hedgehog_(16-bit)_(Prototype).bin (512 KB) (info)
Hmmm...
To do:
Stuff to add that's not accessible in the base ROM without patches. Some of this might be in patches that are available on release:
  • There's a ton of unused and changed chunks everywhere.
  • Unused/leftover layout data for GHZ.
  • Leftover old debug styles (see the Prerelease page for details).
  • There's a lot of changes, including minor things that one normally wouldn't notice (e.g. Sonic has no ceiling collision when hurt). There's also unused content from earlier builds that hasn't been removed yet; one bit, Obj02-07, appears to be leftovers from the February 1990 prototype.
  • This disassembly should help.

Zone Differences

Normally, only eight stages are playable without the Level Select: those being Green Hill Acts 1-3, Marble Acts 1-3, Sparkling Act 1, and Star Light Act 1. The level select still shows the prototype level order, meaning that either the developers already decided on the final level order, or that they went back to the original level order only to go back to the prototype order near the end of development.

Final Zone isn't available in the Level Select, and levels use their early names. Every Zone contains many differences in the layouts themselves.

Zone ID 06, which is used in the final game for the ending, hasn't been implemented yet. Trying to access it by modifying the current Zone/Act address will lead to "ZONE ACT. 1" briefly appearing onscreen, followed by the game softlocking because no level data exists for this level slot.

However, the "Act 4" stage ID (03) is also functioning, to varying degrees. Most other levels either contain nothing or an object layout from the first act of that stage. Notably, Green Hill's "Act 4" slot contains a complete duplicate of Act 3, heavily implying it was once considered for the ending cutscene before being moved to its own level slot.


Sonic1ProtoGHZThumbnail.png
Green Hill Zone
You can't stop the rock.
Sonic1ProtoMZThumbnail.png
Marble Zone
UFOs are real.
Sonic1ProtoSZThumbnail.png
Sparkling Zone
Good luck.
Sonic1ProtoLZThumbnail.png
Labyrinth Zone
Thankfully, there's no water here.
Sonic1ProtoSLZThumbnail.png
Star Light Zone
Under heavy construction.
Sonic1ProtoCWZThumbnail.png
Clock Work Zone
Before the big Scrap.

Special Stage

S1ProtoSS Full.gif

There is only one Special Stage in this prototype, with a very simple and unexciting layout implying that it's only a temporary design.

  • Only C can be used to jump. A and B speed up/slow down the stage's rotation counterclockwise and clockwise, respectively, and pausing the game will reset the rotation speed. There's no upper cap on the rotation speed, meaning it's possible to hold A or B for long enough to overflow it, and have the stage start rotating in the other direction. It's stored as two bytes in address F782 in 68K RAM.
  • Only two bumpers are in the entire stage.
  • A few clusters of rings are placed near the start point, but that's all until the player gets to the "Emerald".
  • Instead of a Chaos Emerald to collect, an ordinary green block is used as a placeholder, which does nothing when touched.
  • Goal tiles are split in two: the blue ones (with "GOAL" on them) don't animate or function, but their second frame (red tiles) will spin the stage around rapidly like normal before pausing for a moment, then resetting the stage.
  • The player cannot enter object placement mode, despite debug mode being enabled by default in this prototype, and thus cannot move freely around or place objects of any kind.
  • The UP and DOWN tiles - just one of each present in the whole stage - don't animate either, and seem to function like Reverse blocks instead of adjusting the rotation speed.
  • Collision detection seems to be less refined, with Sonic being able to stick to tiles much easier than in the final game.
  • No score summary is displayed upon exiting the stage.
  • The screen doesn't fade to white when entering or exiting the Special Stage.
Sonic1ProtoSSTransition.gif

General differences

ROM header

The prototype lacks a bespoke ROM header and instead contains boilerplate information, such as a date stamp of 1989.JAN, implying that this build was somehow compiled before development had even begun. A reasonable estimation, based on visual cross-checking against UK prerelease coverage of Sonic, places this prototype around March 1991.

Pre-game content

Proto Final
Just your typical average Sega Logo, nothing too special here. SEGA!

Instead of the well-known "Sega!" logo and iconic chant, this prototype uses the standard (and silent) palette-cycling Sega logo which opens most other Genesis/Mega Drive games. Unlike in the final game, the logo can be skipped with the Start button.

The title screen immediately follows; there is no SONIC TEAM PRESENTS card.

Proto Final
"PRESS START BUTTON" What button starts the game?

The prototype's title screen lacks a trademark (™) symbol, and features a PRESS START BUTTON legend missing from the final game; well, it is technically still in the final, but the developers accidentally dummied-out the message due to not clearing the "SONIC TEAM PRESENTS" screen (both objects use the same memory space).

During attract mode, BGM doesn't immediately stop when the Sega logo is displayed; the music fades out slowly instead.

Green Hill Zone Marble Zone Sparkling Zone
Special Stage Star Light Zone (Unused)
File:Nextone.mp4

The demos are clearly from an earlier build, as Sonic dies almost immediately by running into enemies with no player interaction needed. The Special Stage demo also plays in between every stage, rather than being played only at the end of the demo order in the final release.

While the demo cycle only shows Acts 1 of Green Hill Zone, Marble Zone, and Sparkling Zone, a demo of Star Light Zone Act 1 is present. It's not normally seen due to the demo cycle having a total of 12 entries, but the demo player code forcing a loop after the sixth. It's just as broken as the used demos, however.

The demo order in code is as follows (entries marked in bold are normally unseen):

  • Green Hill 1
  • Special Stage
  • Marble 1
  • Special Stage
  • Sparkling 1
  • Special Stage
  • Star Light 1
  • Special Stage
  • Marble 1
  • Special Stage
  • Sparkling 1
  • Special Stage
Proto Final
Uh-uh Finally no Xs

Level Select and Debug Mode are enabled automatically in this build for testing and preview purposes.

  • In debug, holding A and pressing C won't yet go backward in the object list, and instead place the highlighted object regardless.
  • Activating debug mode while sonic has any amount of momentum will cause the game to store the momentum and apply it to sonic when leaving debug mode. This was fixed in the final release.
  • Spring Yard and Scrap Brain are called Sparkling and Clock Work in this build, though the latter displays as "Clock Ork" since the title card font doesn't contain a W.
  • The level select contains Xs next to Star Light Zone and Clock Work Zone Act 3. These were likely used for when a stage wasn't implemented (though in this build it's a bit outdated, since Star Light Zone has been implemented).
  • Clock Work Act 3 cannot be selected. Attempting to load the level using a level modifier code reveals that the stage is completely empty.
  • Pressing B on the Level Select will load up Act "4" of Green Hill Zone (displayed on the title card by a copy of the blue oval graphic replacing the Act number), which suggests that it might have been used to test the ending sequence stage. In the final game, the ending stage instead uses a separate Zone altogether (06).

Gameplay

Proto Final
Sonic1ProtoGHZ-1.png Sonic1FinalGHZ-1.png
  • There are several differences with the HUD:
    • As seen in countless prerelease screenshots, the HUD says "RING" instead of "RINGS". The change was made circa the build seen in Shinsaku Soft Video, rather close to the end of development.
    • "RING" does not flash red when the player has 0 rings, nor does "TIME" flash when the clock reaches 9:00.
    • "TIME OVER" does not occur when the timer reaches ten minutes. The timer instead loops back to 9:00 indefinitely.
    • The time bonus works differently.
    • During a Game Over, the timer will continue counting up. The final game stops the timer.
  • Sonic's jump height is lower. On flat ground, the apex of his jump is 6 pixels lower than in the final.
  • Sonic's deceleration speed is slower, being $40 in the prototype and $80 in the final. The Power Sneakers deceleration speed is $80 in both this prototype and the final game, as it was not adjusted to account for the regular deceleration speed change, resulting in the Power Sneakers deceleration speed and regular deceleration speed being identical in the final.
  • Walking/jumping onto objects such as platforms and bridges causes Sonic to lose some of his speed.
  • When hurt, Sonic has no ceiling collison.
  • There is no combo bonus for destroying multiple Badniks in a row yet.
  • Sonic cannot run off the screen after touching the end-of-level signpost or destroying the post-boss Animal Capsule. Jumping during the ensuing end-of-level bonus tally causes Sonic to enter the "victory fist pump" pose seen in many prerelease screenshots.
  • The hidden end-of-Act bonus point markers haven't been implemented yet.
Hmmm...
To do:
Perhaps a comparison video between the proto and final Special Stage ring animations should be added.
  • Special Stage rings haven't been added to the end of Acts 1 and 2 yet. The ring object does exist with full graphics and coding, though it works completely differently from the final game:
    • When Sonic touches the giant ring, instead of instantly disappearing like in the retail version, he instead momentarily gains a "sparkle" effect, after which he then "warps" off of the screen (similarly to the way time travel works in Sonic CD). However, there doesn't seem to be any further coding beyond that at this point in development, as Sonic simply reappears a short distance ahead of the point where he vanished a brief moment after he disappears.
    • Given this behavior, it's probable that the Special Stage rings were originally intended to be placed at ground level just past the signpost instead of up in the air, to give the illusion of Sonic running through the ring and then warping away to the Special Stage. Why this was altered is unknown, but given that remnants of this functionality still exist in the final ROM, it's likely that it was changed fairly late in development.
  • Checkpoints are completely absent. In fact, they haven't been coded into the game at all at this point.
  • Extra lives are earned at 50 and 100 rings, instead of 100 and 200 in the final release.
    • "Ring memory" doesn't exist yet, meaning it's possible to earn two 1-Ups by collecting 100 rings, take damage, and then earn another two 1-Ups by collecting 100 more rings. In the final release, each ring threshold only grants one 1-Up per life, per level.
  • The Continue screen hasn't been implemented yet, likely because there's no normal way to earn Continues in this build.
  • The end cutscenes and credits are completely absent.
Sonic1ProtoInvincibilityBug.gif
  • Spikes damage Sonic during all forms of invincibility, including from monitors.
Sonic1ProtoSlowVerticalSpeedBug.gif
  • Vertical positioning is extremely buggy:
    • The camera is much slower when moving vertically, making it easier to outrun the camera (and, in some rare cases, die when doing so) when falling or traveling at high speeds.
    • The top and bottom of the stage wrap in every level, even in stages that don't normally utilize vertical wrapping. In stages with lethal pits, this results in the player dying if they travel above the upper stage limit (since Sonic wraps to the bottom of the stage, where the game then thinks he's fallen into a pit).
Proto Final
Sonic1ProtoCamBounds.png Sonic1FinalCamBounds.png
  • Object placement mode ignores camera boundaries. Camera movement also works differently, meaning going to the same coordinates in the same way won't always result in the camera being positioned the same way.
Proto Final
Sonic1ProtoGHZ3Transition.PNG Sonic1FinalGHZ3Transition.PNG
Proto Final
Sonic1ProtoMZ3Transition.PNG Sonic1FinalMZ3Transition.PNG
  • When a Zone is completed, graphics for the next Zone start decompressing during the fade-out, before the Act transition completes.
  • If the player touches the sky with the help of Debug Mode, sometimes Sonic will die, or sometimes the camera will go all wonky for a second.
  • Collision is noticeably glitchy, especially when rounding a small incline.

Graphical Differences

Hmmm...
To do:
There's more.
Proto Final
GREEN HILL ZONE ACT. 1 GREEN HILL ZONE ACT 1
  • Title cards have an additional period after "ACT". This was removed from the final, although the period remains in the data.
  • Sonic's sprites are almost identical to the final game, but he lacks his updated "breathing" animation and his extra hurt animation (used for slides).

Unused Sprites

Hmmm...
To do:
  • Upload any recent discoveries here.
  • Show the restored UFO animation in action alongside its in-game version.
  • There might be more unused sprites.
Sprite Location Notes
Sonic 1 Prototype Font.png
$018000 An 8×8 font with 3 copies in different colors. The palette used in this image is a mockup.
Proto Sonic The Hedgehog Genesis smoke puff.png
$02656E Some dust or puffs of smoke. These were overwritten with the checkpoint graphics in the final version.
Sonic 1 Prototype Water Splash.png
$026672 The Labyrinth Zone water splash, not used in this prototype as there is no water. It has simpler shading and seems to be intended to use Sonic's palette, unlike the final game which uses Labyrinth's cycling palette.
Sonic 1 Prototype Sparkle.png
$0267D4 Some sparkles.
Sonic1Proto MD Sprite UnusedFlame.png
$026BF6 Some fireballs, possibly for use in Marble Zone.
Proto Sonic The Hedgehog Genesis early Ballhog.png
$02A386 Ball Hog is completely programmed in the prototype, but its movement, sprites, and attack are different from the final version: It walks from side to side and drops bombs down vertically. This seems to match the version seen in early prerelease footage, rather than the version seen in leaked Digitiser artwork from the game's development.
Sonic 1 prototype Boss Spring.png
$060864 A spring included in the boss attachments art file. Parts of this sprite are used on Marble Zone's boss. Given that the boss attachments tend to follow the gimmicks of their Zone, this was probably intended for the Sparkling/Spring Yard Zone boss.
Proto Sonic The Hedgehog Genesis Skull icon.png
$06512E A skull meant for the Special Stage. Use unknown, though it probably had something to do with either death or losing.
Proto Sonic The Hedgehog Genesis U icon.png
$0651FE A U-shaped item meant for the Special Stage. It resembles a magnet when given Sonic's palette. Though its use is unknown, if it was intended to utilize Sonic's palette, it might have attracted rings towards Sonic like, well, a magnet.
Sonic 1 Prototype Unused 6th UFO.png
Sonic 1 Prototype Unused 6th UFO anim.gif
$06C8A0 A 6th frame for the animated UFOs in Marble Zone. To properly restore it in the animation script, use the PAR code 011430:0006

Unused Objects

The list of objects by offset can be found at ROM address $8580. There are 94 objects in this build, well below the final's 140.

Object ID Object Name Note
02 and 03 Unknown objects These objects date back to the game's earliest development stages. They don't have graphics, and probably never did. ID 02 is a sort of "pulsating" object, and ID 03 is rectangular in shape. Both have fixed coordinates and cannot be placed anywhere in a level. They have no interaction with the player.

Proto Sonic The Hedgehog Genesis early objects anim.gif

04 Unknown object An object similar to ID 03, but animated. It can be placed anywhere on the X axis, but its Y axis is fixed.

Proto Sonic The Hedgehog Genesis obj 04.png

05 Unknown object An invisible object.
06 Unknown object This object follows the HUD.

Proto Sonic The Hedgehog Genesis obj 06.png

1B Unknown object A static, collisionless object. Whatever it is, it has a variation with another sprite. No graphics exist for either. In the final version, another object with the same ID generates the water surface in Labyrinth Zone.

Proto Sonic The Hedgehog Genesis obj 1B.png

1D Switch An object that acts like any other switch to open a closed passage, only lacking sprites. The best guess for where this would be used is Marble Zone, since that's the only zone in this build that features switch-based interactions of any kind. This object is intact in the final version and remains unused.

Proto Sonic The Hedgehog Genesis early switch mz anim.gif

1E Ball Hog Ball Hog's behavior is different from the final version.

Proto Sonic The Hedgehog Genesis early Ballhog anim.gif

20 Ball Hog bomb A sub-object of Ball Hog, this round bomb falls straight down and explodes on impact with the ground.
2A Switch door A door that opens by pressing a switch. This object has a variant that is set up to use other tiles, has no collision, and doesn't react to switches. No valid graphics exist for it. In the final version, this ID is used for a one-way door object in Scrap Brain Zone.

Proto Sonic The Hedgehog Genesis early door anim.gif

2C Jaws Used in the final, but not in the proto. In this build it uses Sonic's palette and can only swim to the left, never to return. Its sprite is loaded in Labyrinth Zone, but is allocated to the wrong VRAM address.

Proto Sonic The Hedgehog Genesis early Jaws anim.gif

2D Burrobot Used in the final, but not in the proto. In this build, Burrobot uses the second palette line instead of Sonic's. It also does not start buried in the ground.

Proto Sonic The Hedgehog Genesis early Burroboy anim.gif

4A Special Stage entry This sub-object uses a special effect that was discarded from the final version. It allowed Sonic to enter a Special Stage after touching a giant ring.
4B Giant ring Does not take you to Special Stages.

4F Splats A scrapped enemy accessible via Debug Mode in Marble Zone.

Sonic 1 Prototype Splats.gif

5E Seesaw (SLZ) Only accessible through Debug Mode. Unlike the final version, this object is missing the spiky ball that gives Sonic a boost to reach high places.

Sonic 1 Prototype Seesaw.gif

Unused Object Positions

Located at 0x729CA is an unreferenced object position list that is presumably used for Sparkling Zone Act 1. Loading it in-game shows a number of differences, including Crabmeats near the entrance which are spawned on top of each other. To load, open the ROM in a hex editor and at 0x70040, replace 2460 with 29CA. You'll then be able to see the changes in SZ1. Interestingly, the object positions seem to match up with an early Sparkling Zone layout seen in screenshots of the pre-CES and CES-like builds.

Unused Level

Hmmm...
To do:
  • Is it possible to restore the level?
  • The Sparkling Zone uses a pattern of chunks with ID 01 similar to the unused map. Try to restore it using data from the Sparkling Zone.

The last level, the level ID 06 act ID 00, intended to be used as a cutscene in the final version, has a map of chunks at $6E348 that don't fit any zone very well, but seem to work best with Green Hill. The game softlocks when accessing it. Interestingly, this map holds 128 chunks and appears to be a normal level.
As seen in a hex editor:

02 03 04 05 06 07 00 00 00 00 00 00 00 00 00 08 09 0A 00 00 0B 00 00 00 00 00 0C 0D 0E 00 0F 10
00 00 01 01 01 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B
00 00 01 01 01 01 2C 2D 2E 2F 30 31 32 01 01 01 33 34 35 36 01 01 37 38 39 3A 3B 3C 01 01 01 01
00 00 01 01 01 01 01 01 01 00 01 01 01 01 01 01 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01


How this map could be hiding the value 00 for empty chunks: Proto Sonic The Hedgehog Genesis unused map 06.png

Unused Palette

Located after Labyrinth Zone's palette is an unused 4-line palette. It seems to have been intended for the Green Hill Zone tileset, as it fits extraordinarily well with only minor palette errors around rocks and such. This palette may be for an earlier version of GHZ, however, despite common belief, Green Hill Zone was not set at night originally, not even in the Tokyo Toy Show prototype (the low quality screenshots of that prototype make it appear that it was set at night), meaning that the reason the palette appears dark in this prototype's and the final's GHZ is simply due to level art colouring switching taking place sometime in development and not for a planned "Night Hill".

0x1D9C

S1ProtoNightPalette Screenshot.png

Opening Demo Gameplay

There isn't much to see with the opening demo gameplay because Sonic promptly gets annihilated by a Motobug. When the Motobugs and time limitations are removed, we're able to see this gameplay. The recording was made with an earlier level layout and isn't accurately depicted, but Sonic does several basic maneuvers going back and forth until about a minute and a half when the gameplay ends. To load, extend the time limit with FFF614:FFFF, and the Motobug object can be replaced at 0x867E with 8230 (or any other hidden object offset).

Sounds

There are many unused sounds unique to this prototype, which would go on to be replaced by different sound effects in the final.

Sound $A1

Similar to the sound played when touching Goal blocks in the Special Stage. Replaced by the checkpoint sound in the final release.

Sound $A8

Resembles a rocket or something similar taking off. Replaced by the aforementioned Goal block sound effect. This sound is used with the unused warping object.

Sound $A9

A longer, higher-pitched version of the rolling sound. Replaced by the sound used for touching speed/Reverse blocks in the Special Stage.

Sound $AD

A duplicate of the "badnik destroyed" sound effect. Replaced by the air bubble sound.

Sound $B0

A low-pitched siren sound. Replaced by the buzzsaw sound effect.

Sound $B1

A faster, higher-pitched siren which sounds like it was taken straight out of Pac-Man. Replaced by the sound effect used for Scrap Brain's electricity balls.

Sound $B2

Sounds like a buzzer of some sort. Replaced by the drowning sound effect.

Sound $B3

A rough, low-pitched sound that quickly rises and falls in pitch. Replaced by the sound used by the falling fireballs in the Marble Zone boss fight.

Sound $BA

Resembles the sound used by the color-changing bars in Sonic 2's Casino Night Zone. May have been an early version of the sound used by the color-changing blocks in the Special Stage, which ultimately ended up replacing this sound.

Sound $BF

Two quick, harsh-sounding noises that loop indefinitely. Replaced by the Continue sound effect.

Sound $C2

An alternate version of the "Badnik destroyed" sound effect, with one of the sound channels being a bit harsher. Replaced by the underwater timer "ding" sound effect.

Sound $C3

A deeper version of the bomb explosion sound (which, incidentally, occupies the next sound slot). Replaced by the sound effect used when entering a giant ring.

Sound $C9

A harsh, vibrating noise. Replaced by the noise used when touching end-of-stage point markers.

Sound $CA

Sounds like footsteps walking away; could have possibly been used as an "exit" sound effect for something at some point. Replaced by the Special Stage warp noise.

Hmmm...
To do:
Export sounds $D1-$D3.

Sound $D1

A louder version of the waterfall found in Green Hill Zone. This and the next two were completely deleted in the final game.

300px

Sound $D2

A strange rhythmic pounding sound.

300px

Sound $D3

A fiery noise that progressively oscillates. This and the previous two sounds don't end when playing in-game.

300px

Music

  • The snare drum and timpani samples used across all tracks are pitched lower than the final release, as the final game had it's DAC driver rewritten to accommodate the "SEGA" chant, which resulted in all samples being played at a higher pitch. However, the kick drum had it's pitch lowered in each song in the final game to compensate for the DAC driver change.
  • Stage music keeps playing even when the game is paused.
  • The extra life theme seems to cause various minor issues with the sound driver for a brief moment after it finishes playing.

$85 (Sparkling Zone)

Hmmm...
To do:
Word this section better and update the tracks.
Proto Final

Has a single note difference in the bassline. The final simply reuses a section that's earlier in the track, probably to optimize the song more. The original bassline note is still in the final game's credits medley. A note was also cut slightly shorter in the final version.

$8B (Ending Theme)

Proto Final

Slightly slower than the final track, and a couple of instruments towards the end are held for a bit too long. Goes unused in this build.

$8D (Final Zone)

Proto Final

Goes unused in this build.

$90 (Continue Screen)

Proto Final

Goes unused in this build.

$91 (Credits Medley)

Proto Final

Much of the instrumentation is either slightly different or missing.

$92 (Drowning)

Crashes the game due to using invalid pointers.

$93 (Got Chaos Emerald)

Completely missing; selecting this sound ID does nothing.