don't click here

Hack Sonic 1: The Super Challenges (Development Thread)

Discussion in 'Engineering & Reverse Engineering' started by DeltaW, May 25, 2024.

  1. DeltaW

    DeltaW

    Originally a Wooloo Member
    Note: At the time of writing this, there is no download link just yet, if you want early access to the project, please read below.

    I do wanna make a thread showcasing my upcoming hack, which will give me a good opportunity to post everything related to my work in one place and hear some feedback. I hope you guys enjoy what I'm gonna be uploading:

    Introducing Sonic 1: The Super Challenges!
    WoolooEngine003.png WoolooEngine002.png WoolooEngine001.png WoolooEngine000 (1).png

    It's a ROM hack where the main gimmick is to transform and speed through South Island before your ring counter runs out. Destroy everything in your path, collide with anything you bump into and try to get hurt. The only thing that'll damage you is time and you better be not wasting that. Every ring counts so try and collect them as fast as you can! Even though this is a challenge-based hack, you will find that this hack will have more than just a simple concept.

    New game modes - this hack will include 4 different modes:
    • Time Attack - it's you against both the ring counter and time. See how many rings you can hold before you reach the signpost.
    • Island Run - run as fast as you can till you beat the final boss. There are hidden paths for you to explore throughout a few zones, so check them out when possible. You may think this is easy, but it isn't and it should be noticeable once you play more and have another south island adventure :V
    • Endless Run - beat as many levels as possible in a randomized order. The counter will drain the more you progress so try your best to keep the ring counter high and y'know... don't lose rings. :p
    • Hardcore Run - you start with 50 rings and the ring counter will drain quickly. It's up to you to beat as many levels as you can before the ring counter runs out
    New powerups:
    • Magnet/Lightning - attracts rings nearby to you for a short period
    • Stopwatch - freezes time and rings for a short period
    • Random Rings - collect rings between 5 to 50 either positive or negative
    Playable characters:
    • Sonic - Super form is akin to Sonic 2's with the dropdash while Hyper behaves exactly like Sonic 3 and Knuckles
    • Tails - Super form being identical to Super Sonic while Hyper is Super from S3K
    • Knuckles - Super and Hyper are identical to S3K's behaviour
    • Amy - Super form being identical to Super Sonic while Hyper allows her to shake the screen and destroy objects on-screen
    As of writing this, they are in-game sharing behaviour with S3K/Origins with some of my tweaks here and there. I would love to do more with their forms as they are lacking and I want to make each transformation fun and unique. I will get to showcase all the characters at a later date. If you have any suggestions, let me know!

    This ROM hack is all running on a special engine I'm working on currently codenamed WoolooEngine. It is a heavily modified Sonic 1 engine I am working on that focuses on being feature-ready and optimized to ensure that I can jump on any project and not worry about wasting my time focusing on the engine when I can prioritize the main game.

    To list what's changed:
    • Sonic 3 and Knuckles' priority manager
    • Sonic 3 and Knuckles' rings manager
    • Sonic 3 and Kunckles' object manager
    • Sonic 3 and Knuckles' collision response list
    • Sonic 3 and Knuckles' mappings format and build sprites
    • Sonic 3 sprites (as an option)
    • Sonic 2's HUD manager
    • Elemental shields
    • So many optimizations from reducing cycle count to... really all sorts of stuff (trying to make Sonic 1 almost lag-free is painful >.<)
    • Spindash and its dust (ported from Sonic 2)
    • General Sonic 1 bugfixes (credits to Mercury's ReadySonic disassembly for some of the changes)
    • Some of Sonic 2's code for Sonic's object (it's a little nitpicky but I want to try and make it very accurate to Sonic 2/3K)
    • Tails and Knuckles ported from S3K while Amy is ported from Amy in Sonic 1/2

    Misc features and what's to come:
    • Toggle between movesets for Super Sonic (dropdash or jumpdash/homing attack)
    • Select a wide range of Super Sonic themes to play within the zone or to generate a random playlist for all the modes
    • The upper section of MZ and SYZ2 has unique secrets and layouts for you to check out near the end (akin to the 2013 remake)
    • SRAM support to save your record and attempt to beat it the next time you play the game
    • Fully-fledged menu allowing you to view the instructions, sound test, options and credits

    As the ROM hack is currently being worked on, I am unable to provide one publicly just yet. However, if you are keen on wanting to test for yourself or even help out, please read below.

    The majority of these features are either being worked on at the writing of this thread or are complete but will need to do some rigorous testing before I showcase them in a future post. In the meantime, feel free to suggest any ideas or drop me feedback on what you want to see in the project.

    Hopefully, I have more to share with all of you over the next few months so stay tuned! Given that I have plenty of free time, I could potentially see this release in this year's contest if things go all to plan.

    Here's a video demonstrating the ROM hack in action (it's also where I can showcase my modded Mega Drive and OSSC in action ;))


    How you can help:

    If you would like to playtest the ROM and become an active tester, please drop me a PM or let me know below and I may consider giving you a position to try out the ROM. If you would like to contribute more to the project then I am open to musicians who would like to compose/port over Super Sonic-related themes to use for the project.

    Main Credits (to be changed once I start showcasing more of what the project has to offer):
    • The Shining Stiffies - got the idea of the project based on their old hack from more than a decade ago
    • Filter - helping out with the extra optimizations that help make Sonic 1 (almost) lagless
    • devon - helped me with a few bugs I encountered along my way
    • Zeta_Null - helped coloured in a lot of sprites to not use palette line 0 (player's palette line)
    • KC - Chaotix SFX ports
    • LackOfTrack - music for Sonic R's menu theme (and Advance's invincibility theme in the sound test)
    • Everyone's who contributed to documenting Sonic 1, 2 and 3K's disassemblies which made backporting code a lot easier to understand

    Extra resources:
    • SCHG/Retro/SSRG - bugfixes and QoL improvements for the original game
    • Mercury - Sonic CD-styled timer and extra tweaks lifted from ReadySonic
    • flamewing - optimized decompression codes, Kosinski+ and UltraDMAQueue
    • vladikcomper - Advanced Error Handler and Debugger
    • Kilo - dynamic water palette loading routine (DynaWater)
    • Clownacy - Sonic 2 Clone Driver v2 (based on an older build (2.7+) but with some features backported from the latest version)
    • Doc Melonhead - finetuned Super Sonic (Sonic 1) sprites
     
    Last edited: Jul 6, 2024
  2. DeltaW

    DeltaW

    Originally a Wooloo Member
    It has been quite a while since I made a showcase. Here are a few things I posted earlier on Twitter:
    WoolooEngine000.png WoolooEngine002.png
    [​IMG] [​IMG]

    I am reaching the beta stages of my ROM hack and thus will have plenty to showcase this month, more than what's provided above. I will make another video showcase later this month so stay tuned for that!

    Also, I am still looking for bug testers and musicians for Super Sonic themes. If you would like to help, let me know when you can! The more that help, the better as I would like to hear more ideas, opinions, feedback, etc as I am willing to make the game enjoyable to all of you. I also hope to make a solid first impression as it will be my first standalone ROM hack that is less of a joke and generic-looking and I want to build upon the idea as time passes, so your help will be appreciated.