If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
Proto:Sonic the Hedgehog 3
This page details one or more prototype versions of Sonic the Hedgehog 3.
This prototype is documented on Hidden Palace.
The November 3rd, 1993 prototype of Sonic the Hedgehog 3 was released on November 16, 2019 as the finale of Hidden Palace's Sonic Month. Of all the Sonic 3 & Knuckles-related prototypes, this is the only available prototype that predates Sonic 3's release.
Although the EPROM labels claim a date of 3 November 1993, the ROM header suggests the data may be from late October, which would make sense given that this build is wildly incomplete for a game that was supposed to be finished by the end of November. Very few levels can be completed, and the game as a whole is extremely buggy. This prototype was built while the process of removing the portion that would become Sonic & Knuckles was underway, so it contains more leftovers than the final does, including Flying Battery and (technically) Lava Reef in playable states.
The most notable difference from the final is the soundtrack: the levels believed to use music composed by Michael Jackson and/or his associates in the final feature completely different music. Notably, this music would later resurface in the 1997 PC port Sonic & Knuckles Collection and the 2022 remake included in Sonic Origins, presumably to sidestep legal issues with the Jackson tracks.
The prototype seems to be the same one that was showcased in Sega Magazine's December 1993 preview, given that all of the screenshots are 1:1 matches of what's seen in this prototype.
Download Sonic the Hedgehog 3 (Nov 3, 1993 prototype)
File: Sonic the Hedgehog 3 (Nov 3, 1993 prototype).bin (2 MB) (info)
|
To do: *Find the differences between the final and early tracks.
|
Contents
Sub-Pages
Bugs |
Stage Differences Some minor, some major, some unplayable. |
Sound Differences Why is Sonic & Knuckles Collection stuff here? |
Data Leftover Azure Lake with no lake? |
Gameplay Differences
- Jumping while holding Straight Up will cause Sonic to do a quick roll forward after landing. Sonic and Knuckles are also able to use this ability in Competition Mode. The move is remarkably similar to the Drop Dash, a move that first appeared in Sonic Mania, which Christian Whitehead confirmed was a coincidence.
- Holding Down after doing an Up-Jump will cause Sonic to tuck into a Super Spin Dash without smoke/dust when landing instead.
- Elemental shields lack their specific effects and act exactly like the blue shield from Sonic 1 and 2.
- Special Stage rings aren't present, though all their respective locations are.
- The Insta-Shield isn't implemented yet.
- Even though sparkles appear above checkpoints when Sonic has 50 rings, the Bonus Stages are inaccessible through normal play.
- It's very easy to clip into walls due to unfinished collision.
- Tails will fly instead of swimming when attempting to fly underwater and is also capable of carrying Sonic underwater, which he can't do in the final version.
- Tails' flight ability is incomplete, and every jump press will result in maximum levitation, regardless of drop speed.
- Tails cannot change his flight direction if jumping from a curve-pipe.
- Tails will never get tired from flying or swimming.
- Tails cannot enter Debug Mode.
- Super Sonic has been partially implemented and has the ability to shoot rings, which was removed from the final.
- The "animation test" accessed by pressing B + C in Debug Mode has not been implemented.
- Many stage transitions have not been properly implemented yet, so the Level Select is required to continue to the next Zone in most cases.
- Objects that Sonic can hang onto still act like Wing Fortress' from Sonic 2, in that Sonic won't curl into a ball when jumping off, and his animation stays the same.
- The Competition Mode levels are overall more complete than the single-player ones and even feature the final game's player sprites. There are still some things that were changed, however:
- The Grand Prix and Time Trial modes (as well as the monitor options) do not exist as a result of a lack of a menu for the mode.
- The HUD timer uses a colon to separate the minute from the seconds, unlike the final which uses prime marks.
- The prototype features little markers near the black line that show the positions of the two players. They often change between three sprites for unknown reasons. These were removed in the final game, yet their sprites still exist within the data.
- The lap counter uses the blue/yellow palette of the "TIME" text instead of the final's red/white palette.
- It's possible to complete a lap in Chrome Gadget by jumping over the goal post.
- The game will declare a GOAL at Lap 6 rather than the final's Lap 5, but the race never ends. As a result, races can go all the way up to Lap 9, which results in it rolling over to 0 and continuing from there.
- The double-drowning bug (and resulting lives underflow bug) from Sonic 1, and Sonic 2, is present in this build. (See the video to the right)
Demo
It appears the Angel Island Act 1 demo is intended for an older build of the game: the demo desyncs after the player fails to hit a Caterkiller Jr., forcing Sonic to run into a Rhinobot and die before the demo's expected ending. When edited to add objects back into the spots, the demo continues all the way to the miniboss, showing off many level gimmicks along the way.
The existence of the demo itself is odd: there were no media showings of Sonic 3 prior to this build, which means the demo was likely designed for a private showing.
Super Sonic
Coding for Super Sonic exists even though the Special Stages haven't been implemented yet, thereby preventing you from gaining any Chaos Emeralds. He can only be accessed by destroying an S monitor (which normally can only be placed in Hydrocity Zone); additionally, the code was also modified to skip over the transformation check. Most of the code is reused from Sonic 2, with a few adjustments: the invincibility music plays instead of using a unique track (Flying Battery 2's theme if not using the S-monitor), and the palette cycling has been adjusted to only use three colors in Sonic's palette instead of the four colors that Sonic 2 required.
However, the actual colors used are still based on Sonic 2's palette format (where the darkest blue in Sonic's palette is indexed first, followed by progressively lighter shades of blue) instead of Sonic 3's format (where the lightest blue color is indexed first, followed by darker shades). As such, the palettes for both Super Sonic and Sonic's palette after the transformation runs out appear inverted (and in Hydrocity's case, the underwater palette from Chemical Plant is reused).
To transform properly, use the following codes:
- 00B716:0010: enable the Super transformation check
- FFFFB1:0007: have all 7 emeralds
Graphical Differences
To do:
|
Sonic 2 | Proto | Final |
---|---|---|
Sonic 2 | Proto | Final |
---|---|---|
- Sonic and Tails' sprites are nearly the same as the ones in Sonic 2, albeit updated for Sonic 3's palette. For Sonic, however, there are some additional sprites unique to this prototype.
Proto | Final |
---|---|
- Sonic's swinging animation used on the vines in Angel Island as well as flying with Tails is completely different, it has Sonic moving his body back and forth instead of pulling up and down. Because of this, this produces the illusion that he's a lot lankier than he actually is (his arms don't bend to appear proportionally small).
Proto | Final |
---|---|
- The rotating swinging animation used on the vines in Angel Island features a different handle design.
- Fire Shields use different graphics and always overlap the player.
- Neither Sonic nor Tails have victory poses, instead they use their "hurt" sprites upon finishing an Act.
- The Bubble Shield uses simpler graphics compared to the final.
- The invincibility stars are missing, but they do show up using the Fire Shield's graphics if the player has a Fire Shield.
- Some frames for the Lightning Shield haven't been positioned properly.
Proto | Final |
---|---|
- Title cards for levels use different graphics, opting for a dark red instead of the bright red seen in the final game. Additionally, the underline beneath the SONIC 3 text is red instead of yellow, and it only stretches part of the text. Only the 1P stages have title cards implemented at this point.
- Many sprites, such as the water behind Sonic's surfboard while he is surfing to Angel Island, are glitched.
- A majority of object palettes are not finalized.
Proto | Final |
---|---|
- The Speed Shoe and Heavy Shoe icons in Competition mode are different and more simplistic, they have an "S" in them with up and down arrows.
Proto | Final |
---|---|
- The HUD numbers have some shading that was removed in the final game, likely since they often appear heavily contrasted and hard to make out. The shine on the HUD text is also larger, with the shine being 4 pixels tall. The "Bonus" lettering wasn't updated to match the final's smaller shine, leading to a bit of a clash. The N in "Rings" was also made thinner by one pixel, which would be reverted in the final HUD, to match with its length in previous titles.
Proto | Final |
---|---|
- The "GOT THROUGH" text seen upon completion of an act has noticeably simpler shading.
Sonic 2 | Proto | Final |
---|---|---|
- The "Game Over" and "Time Over" graphics still use the Sonic 2 sprites, and haven't been refitted to use Sonic 3's palette.
Proto | Final |
---|---|
- Knuckles's unused Act Clear text is also different, appearing fitted like Sonic/Tails' text.
Sega Screen
Proto | Final |
---|---|
The Sega screen is still largely based on Sonic 2.
- Due to a bug in the code, too much RAM is cleared which ends up blackening the entire color palette RAM. This miraculously wasn't an issue in Sonic 2 because the RAM was arranged differently. It can be fixed with the following Game Genie and Pro Action replay codes: 97DA-GABY and 034634:00FF.
- Sonic's sprites have been updated to use the new player palette, but the SEGA screen still loads the old Sonic 2 player palette.
- Although it might not seem like it given its current state, some code changes were made to work with Sonic 3's new engine.
- In one of the more technologically... bizarre changes, this prototype has the Sonic 2 "SEGA!" sample run under a heavy low pass filter.
What makes this bizarre is that this change was done to the sample itself; NOT the sound driver (unlike Sonic the Hedgehog's sped up snare sample). The SEGA sample would then get changed again in the final, this time without the filter and slightly sped up.
Sonic 2 (24,947 bytes) | Sonic 3 (November 3rd, 27,817 bytes) | Sonic 3 (Final, 24,110 bytes) |
---|---|---|
Title Screen
Proto | Final |
---|---|
The title screen uses some very, very basic graphics. Specific visual differences include:
- There's no background at all - the final adds a nice skyline of Angel Island Zone. This also means no Tails (and Knuckles in Sonic 3 & Knuckles) or Tornado.
- Sonic's render was not touched up at all from his conversion to 4bpp and the palette appears to be computer-generated, therefore, color clamping issues show up. The logo banner was changed from a light blue/white to a red/white color scheme, and the logo itself was changed from dark blue with orange outlines (the way the text was presented on the box art for previous titles) to yellow with dark blue outlines. There's also no TM next to the banner.
- The model for the ring and Sonic himself seem to be the same but with some differences, Sonic's pupils are rounder, his fingers are fatter, and his ears have no inside. The ring's positioning, as well as the lighting, were updated. The final render makes better use of the color space since it dithers colors whereas the proto render doesn't. Sonic's mouth is also notably absent from the render, implying that it was a drawn-on feature when it was added to the final game's render. Sonic also isn't animated, though the banner still bounces up and down. The rest of his body is present below the ring, unlike the final.
- Incidentally, the text reading "Sonic the Hedgehog" below the logo is finalized - this simple text carried its way into the final build of the game, although it suffered from a palette change making it somewhat harder to read.
- The "© 1994 SEGA" text is absent, which is likely more of a given.
- Pressing Up, Up, Down, Down, Up, Up will enable Debug Mode.
- There are no menu options. Pressing Start automatically sends the player to the Level Select.
- Using the patch code FFFFD0:0000 will disable Level Select. Doing so will allow the game to immediately start on Zone 1 as in Sonic 1 and Sonic 2. This does not disable the soft reset (pause, A) or frame advance (pause, B) functions, however.
Playing as Tails or Knuckles
You can play as different characters by pressing the following button combinations at the title screen:
- Sonic & Tails: A + Start
- Sonic alone: B + Start
- Tails alone: C + Start
You can also play as different characters by using the cheat codes FFEF4C:000? FFFF08:000? FFFF0A:000?, where "?" is one of the following:
- 0 - Sonic & Tails
- 1 - Sonic
- 2 - Tails
- 3 - Knuckles (will use Tails' sprites instead)
Tails and Knuckles have graphical problems with their end-of-level signposts, however;
Tails | Knuckles |
---|---|
- When playing as Sonic alone, the signpost will display Tails instead of Sonic's image.
- When playing as Tails, the signpost will display a blue Knuckles instead of Tails' image.
- Knuckles has data in the game and his name card is still present, though when playing as him the signpost will load Robotnik's image instead of Knuckles'. He also exists in Competition mode, but it uses its updated graphics instead of older graphics, much like Sonic and others.
- When playing as Knuckles, the player object doesn't correctly set the collision plane when spawned, making navigating the stages very difficult. Setting memory address FFB046 to 0x0C will fix this.
Level Select
Almost the same as the final game, though it plays no music, rendering the Data Select theme unused. One other difference is pressing B while the Sound Test selection is highlighted will play the error buzzer sound.
Flying Battery is accessible by default, but the other Sonic & Knuckles Zones are not. Unlike in the final game, all bonus stages can be accessed (the last 2P VS Act goes to the gumball machine, while the two "Bonus" Acts go to the Sonic & Knuckles bonus stages).
The following Pro Action Replay codes can be used to regain access to these Zones, though not much of them remain in this build:
Zone | Act 1 Code | Act 2 Code |
---|---|---|
Mushroom Valley | 005C0E:0700 | 005C10:0701 |
Sandopolis | 005C12:0800 | 005C14:0801 |
Lava Reef | 005C16:0900 | 005C18:0901 |
Sky Sanctuary | 005C1A:0A00 | 005C1C:0A01 |
Death Egg | 005C1E:0B00 | 005C20:0B01 |
The Doomsday | 005C2A:0C00 | 005C2A:0C01 |
ID 0D | 005BF2:0D00 | 005BF4:0D01 |
Lava Reef Act 3/Boss | 005BF6:1600 | |
Hidden Palace | 005BF8:1601 | |
Death Egg Final Boss | 005BFA:1700 | |
Hidden Palace (Special Stage Ring) | 005BFC:1701 |
Each level can be played through the level selection. Lava Reef, Sky Sanctuary, and Death Egg are accessible using the first, second, and third 2P VS options respectively, while The Doomsday uses the Sound Test option. The gumball machine bonus stage can be played by selecting "Bonus". "ID 0D" can be accessed by selecting Angel Island Act 1 and 2. Lava Reef Act 3 and Hidden Palace can be played by selecting Hydrocity. Finally, the Death Egg final boss and Hidden Palace (Special Stage Ring) can be accessed through Marble Garden Act 1 and 2.
Sonic 2 Leftovers
Options and 2P VS.
By setting the game's screen mode to $24, you can access Sonic 2's options menu. Alternatively, you can use the patch code FFF600:2400 or hack the menu back in yourself. Much like the Level Select, no music is played here.
Pressing Start will begin the game at Angel Island with the selected character. The Sound Test can also be used to enter the Sonic 2 cheat codes:
- Level Select: Although enabled by default, the level select cheat can be entered by playing sounds 19, 65, 09, 17.
- Extra Continues: Play sounds 01, 01, 02, 04 for 14 extra continues. Unlike Sonic 2, this cheat plays the continue theme which is otherwise unused in this prototype.
The 2 Player Level Select screen from Sonic 2 can also be accessed using the patch code FFF600:1C00. Unlike the final version, not all Zones are disabled, though selecting any Zone with the Start button will send you back to the Sega screen, so you can't really do anything with this menu. Leftover graphics for the Sonic 2 Results Menu also exist, but all the coding has been removed.
Leftover graphics from the Results Menu can be found.
Leftover Objects
Most of the objects are used as references to implement the Blue Spheres special stage or other.
ID | Offset | Name | Description |
---|---|---|---|
N/A | 0000F972 | Classic Shield | A non-elemental shield seen in Sonic 1 and Sonic 2 exists in a functional state, albeit unused and lacking graphics. Used as a basis for the elemental shields. |
N/A | 00010C60 | Big Ring | The big ring object and associated flash object from Sonic 1 still exists. It was presumably reused as a basis for hidden rings in the final game. |
N/A | 00010FC2 | Slot Machine Rings | Leftover code for slot machine rings seen in Sonic 2's Casino Night Zone can be found. Presumably used as a basis for the slot machine bonuses. |
N/A | 00024BCC | Special Stage Results | Leftover object code for the Special Stage results screen used in Sonic 2. Could also be a basis for the Blue Spheres results screen. |
Unused Objects and Enemies
ID | Offset | Name | Description | Video |
---|---|---|---|---|
0B | 0001B338 | Red Revolving Spheres | A mass of spheres that can be spawned in Angel Island Zone Act 1 through debug mode. It's worth noting the coding for the object is separate from the test Special Stages, despite the similar behavior. | |
12 | 0001C6A0 | Early elevator | Apparently, the object's graphics came from an earlier build and not this build. Coding and mappings for the object exists, but its graphics are removed. If stood, it would act like a earlier variation of a Elevator, presumably for a different layout. Palette possibly doesn't fit quite well. | |
1A | 0001DFCE | Unknown | Apparently, the object's graphics came from an earlier build and not this build. Coding and mappings for the object exists, but its graphics are removed. If stood, it acted as a obstacle that will launch the player, presumably for a different layout. Palette possibly doesn't fit quite well. | |
1C | 0001E6C6 | Unknown(Leftover) | Apparently, the object's graphics came from an earlier build and not this build. Coding and mappings for the object exists, but its graphics are removed. If stood, it acted like a spike or rotating platform, presumably for a different layout. Palette possibly doesn't fit quite well. | |
1D | 0001C228 | Grabbing Platform | One of the LBZ platforms, but with a "grabber" underneath that can hold Sonic. Its tile mappings appear to be somewhat glitched and graphics are missing. Leftover from an earlier build that had a different stage design. Palette possibly doesn't fit quite well. | |
84 | 00040704 | Hey Ho | A very glitched version of Hey Ho, the Mushroom Valley Act 1 boss. He lacks any collision and doesn't move at all in the prototype.
Mushroom Hill graphics imported from Sonic 3C 0408 for visual clarity. |
|
86 | 0003F11A | Beam Rocket | An early version of the Launch Base Zone Act 2 boss. It makes some odd movements and the final phase takes two hits to kill instead of one; defeating him doesn't make Robotnik rise up (not that it would matter, since Big Arms is completely missing). It also spawns towards the middle of the stage, suggesting it was made when the layout looked quite different (Which had in conjunction with the other 4 objects which are the Elevator, Grabbing Platform, and 2 more objects.). | |
90 | 00049FB6 | Fireworm | Fireworm badnik for Lava Reef Zone. This object is missing its DPLC and art entries in its config (despite the DPLCs existing in the ROM) and is completely invincible unlike the final. In addition, it also freezes the game thanks to a branch to decrement its timer value pre-empting the proper coding, putting the game into an endless loop.
While its graphics are not present in this build, importing them from the final works fine with the mappings and DPLC present in the build. Note that for the video, the second palette line was also imported from Sonic & Knuckles final for visual clarity. |
|
91 | 0004A29C | Iwadomoki | The exploding "mock rock" badnik. Can crash the game. Uses a different palette, same as the blue rocks. Like with Fireworm, the graphics are not present in the build, however the mappings and DPLC fit fine with the final's sprites. | |
92 | 0004A400 | Toxomister | The smoke clouds lack the ability to drain Sonic/Tails' rings, and can only slow them down. Mappings are set up differently compared to final, but are still compatible with the final's graphics. | |
93 | 000495CC | Madmole | The mushrooms it throws have an exaggerated effect on Sonic. It appears in the Mushroom Valley object layout. | |
94 | 000499BC | Mushmeanie | The bouncing mushroom enemy from Mushroom Valley Zone. | |
95 | 00049B24 | Dragonfly | Flies up and down, as in the final game. | |
96 | 00049DCA | Butterdroid | Butterfly badnik from Mushroom Valley Zone. | |
97 | 00049E50 | Cluckoid | Chicken badnik from Mushroom Valley Zone. | |
98 | 0004107E | Sandopolis Golem | The miniboss from Sandopolis Zone. Functions, but covers less air in its jumps. | |
B1 | 00039F9E | Knuckles's MGZ2 Boss | Knuckles's variant of the Marble Garden Zone Act 2. Although coded, it isn't actually placed on the stage. | |
B6 | 0003CE96 | FBZ2 Barrier Eggman | The mid-boss of Flying Battery Zone Act 2. Although coded, it isn't actually placed on the stage. | |
C5 | 0004178A | Hidden Monitors | Hidden monitors that can be revealed by the falling signpost. | |
CA | 00035AD2 | Tornado Intro | Sonic during the Angel Island intro sequence. | |
N/A | 0001AA34 | Sprite Scaling Test | Another object that can be spawned in Angel Island Zone Act 1 through debug mode. It uses a software scaling algorithm to scale sprites, although the original graphics are no longer present in ROM. It also eradicates the zone layout when placed.
Unusually, this object writes to memory location $FEXXXX, which tends to get reserved for development carts able to write to themselves. This suggests that it was meant to output something in that region the developers could then use. |
Unused Graphics
Unused Moves
There are two unused moves in the prototype:
- RG6A-A6Z0 / 00B8B6:4E71: an early version of Hyper Sonic's multi-directional air dash that can be performed by pressing A in conjunction with the D-Pad while jumping. This move is buggy in that the camera will struggle to track Sonic if he dashes at an angle.
- RG5T-A6Z2 / 00B7B8:4E71 & RG5T-A6Z4 / 00B7BA:4E71: the ability to shoot Rings as projectiles by pressing B while jumping to shoot a single Ring in the direction Sonic is facing, or C to shoot Rings from both sides of Sonic. The Rings can take out Badniks as well as collect other Rings, and shooting them will not deplete Sonic's Ring count, though he cannot pick up the shot Rings themselves. When using B for the move, Sonic will uncurl from his jump and have a slight recoil in the opposite direction he shoots. For some reason, it calls Sonic's object collision code, meaning it more often than not fails to actually collide with anything. Whether or not the Rings were a placeholder for another object is unknown.