The blog of EagleSoft Ltd. Here, at EagleSoft Labs, I post about the development of my various retro homebrew, software, electronics, and indie video game projects, as well as review software, and post other geeky/nerdy stuff.

After nearly a 2 year hiatus (due to professional gamedev work), development on the Socket the Hedgeduck mod for Sonic 1 has resumed! Recently, Future Zone Acts 2 and 3 have been finished, as well as the entirety of the final zone, Time Castle Zone. A planned v0.4a demo will be released later this year and submitted to the 2019 Sonic Hacking Contest, after more polishing, bugfixes, and improvements will be made to the game.

Future Zone acts 2 and 3 were previously empty, due to figuring out a way to implement the reverse-gravity gimmick used in the original game for act 2. After a few failed attempts at porting S3K's reverse-gravity gimmick to Sonic 1 (which would have been a high cost, low benefit feature to implement, due to only one level requiring it), I used some out-of-box thinking to implement the feature. Instead of vertically flipping Sonic's gravity and physics, why not vertically flip the entire level around Sonic 😮?

Behind the scenes, in code, instead of implementing S3K's reverse-gravity gimmick, hitting an activated gravflip bridge instead transports Sonic between FZ2 and FZ4 levels, very similarly to the inter-level warp doors in Olein Cavern Zone 2 (OCZ2) or the boss doors in act 3 of each zone. (I call the types of warp doors that transport Sonic to a different location within the same level "inter-level warp doors".) FZ2 is the normal version of the level, while FZ4 is a copy of FZ2 that is vertically flipped (has vertically flipped level chunks and y positions of objects mirrored about the level's middle y midpoint). The only difference in the warping functionality for the gravflip bridges is Sonic's new warp position. Sonic's new x position is kept the same, while his y position is calculated to be a new one mirrored about the levels y midpoint. This creates the illusion of gravity flipping. Similarly to the Bonus Fence Zone (BZF) levels, where pressing A button while in Debug Mode will send Sonic to the background layer for collision, pressing A button while in Debug Mode will send Sonic between FZ2 and FZ4 levels to implement the "gravity flip".

Act 3 for each Zone is a unique remix I create using the existing chunks from the other 2 acts, since the original Socket game only has 2 level per zone (excluding High Speed Zone (HSZ) levels). Due to the fact that the Sonic engine (and Socket engine) use large 256x256 px chunks instead of Sonic 2 and later's more flexible 128x128 px chunks, these levels are usually remixed sections of the 2 previous acts, with a few unique chunks I design sprinkled in between to connect sections for smooth level graphics and layout flow. Unfortunately, gravity flipping act 3 would have consumed more than the zone limit of $FF Big ROM Chunks, so the reverse-gravity feature was only designed for act 2. All act 3 levels (except TCZ3) have a boss warp door leading to a boss area.

FZ3 is an extremely difficult remix of acts 1 and 2, with a ton of traps, surprises, and difficult obstacles, and might actually be the hardest level in the hack. The final section of the level consists of a Labyrinth Zone (LZ)-styled wind tunnel, inside a few huge glass tube chunks. Sonic must float upwards and downwards to avoid painful torpedoes (the same ones as used in Antiquity Zone (AZ)), horizontally moving spiked blocks, collect rings, and cling onto Satebô BS-X Satellaview satellites. (These satellites have the same behavior as LZ wind tunnel poles). The level ends with hitting the boss warp door, which leads to the boss area and a to-be-implemented boss.

FZ1

FZ2

FZ3

The entirety of Time Castle Zone, the final zone in the game, recently also has been finished. This zone was sitting at approximately 95% complete during the hiatus, and was just waiting on fully implementing 2 new custom objects (the hamster belts and clock platforms). This zone features some custom objects such as:

Beam bridges

Hit a button on the object, which unfurls a temporary solid bridge

Hamster belts

Operates like Metropolis Zone (MTZ) nuts in Sonic 2, but horizontally

Moving on the object will lock Sonic's position onto the belt

Moving Sonic left will move the hamster belt and Sonic right, and Sonic right move belt and Sonic left

Hamsterbelt will stop moving when it hits a wall either to the left or right

Makes squeaking noises as the object's art updates frames

Clown faces

Painful objects that rotate clockwise, counterclockwise, or upside down in either rotational direction

Clock platform

Platforms that rotate clockwise on clock faces in the level

2 variants

Platform with a shorter radius that moves slower (hour hand)

Platform with a longer radius that moves faster (minute hand)

Crusher blocks

Purple blocks that oscillate up and down, attempting to crush Sonic in various areas of the level

Collapsible platform

Standard Sonic 1 collapsible platform, just updated graphics for zone

Runaway Saws

Standard Sonic 1 saws and pizza cutters object from Scrap Brain Zone.

Only runaway version used, with updated graphics

Same objects as used in FZ

TCZ1 is a rather basic (but difficult) level, introducing the player to this zone's gimmicks. TCZ2 is a difficult labyrinth, and is the only level in the original Socket game to feature two bonus stage doors. TCZ3 is a remixed version of TCZ1 and TCZ2, with bottomless pits and a more difficult level layout. Currently TCZ has an odd memory leak bug somewhere where having too many clown faces and chained spikeballs on screen will cause the game to start corrupting object SSTs, not loading new objects, crash the game, or begin running arbitrary code. This bug happens often in TCZ2, and the bug will be investigated and fixed before the upcoming demo release. In the game mod's extended playlist, each act in TCZ features a song for both the bad ending (not having all 7 chaos emeralds) and the good ending (having all 7 emeralds). Some of these songs are currently WIP, while others are completed.

TCZ goes over Sonic's original Scrap Brain Zone (SBZ) level slot. The original Sonic 1 game has a SBZ3 level which is actually a Labyrinth Zone (LZ) act 4 level. The real SBZ3 level is Final Zone, and is actually just SBZ2 but starting at a further level position and having the boss implemented. I found this setup to be BS, and undid it completely. (I call this the "Anti-SBZ3 BS feature".) TCZ3 is a real level in this mod. TCZ doesn't have a boss; the next and final zone (a 1-act Time Lord Zone (TLZ)) does feature the final boss, the evil Time Dominator! Time Lord Zone is technically SBZ4 in this mod. It uses some extra chunks from SBZ3 and a new palette for the level. This is a far more acceptable setup for the final zone than the SBZ3/LZ4 BS in the original game 😀.

TLZ is currently just a level layout, with no final boss yet implemented. Like with TCZ, this level has both a good and bad ending song. I have plans down the road possibly to implement some cutscene screens in the game, replace the emeralds with Sonic CD Time Stones, and to explain a backstory as to why Sonic is in Socket's universe and as to why he is fighting the Time Dominator. In the bad ending, you just fight the Time Dominator; in the good ending, you fight both the Time Dominator and a brand new boss.

Other changes behind the scenes include refactoring the mod's original warp system to fix screen tearing and BG deformation issues. Inter-level warp doors no longer clear object RAM. This means you can no longer use warp doors and continuously farm up on rings by having them respawn. Sonic is the only object destroyed, and then reloaded with a new warp position set (classical quantum teleportation lol).

With both FZ and TCZ complete, all of the levels for the hack have been implemented 😀! All that is left to complete this hack is to fix bugs, polish the game, and to implement the remaining bosses.

About Me

Tamkis is a college graduate with a B.S. degree in software engineering, who is pursuing a career as a software engineer and a video game developer. He owns the website EagleSoft Ltd, where he posts his hobby and professional software and video games he developes, and is passionate about both retro and indie video game development.