don't click here

Sonic 1 in Sonic 3 (S.C.E. Version) SHC2024

Discussion in 'Engineering & Reverse Engineering' started by TheBlad768, Sep 29, 2024.

  1. TheBlad768

    TheBlad768

    Tech Member
    46
    201
    33
    Sonic 1 in Sonic 3 (S.C.E. Version)
    This is a port of Sonic The Hedgehog (1991) to Sonic Clean Engine (S.C.E.), our heavily modified and improved Sonic 3 & Knuckles engine, which we have been using for a long time for our MD projects (such as Hellfire Saga and Sonic 3 & Knuckles: Epilogue).

    TheBlad768 had the idea for this project back in 2017, when we were working on Sonic Virtual Adventure. But at the time, porting the entirety of Sonic 1 to another engine was too difficult a task, and we had other big projects that couldn't wait. So it was decided to leave the idea for better times. In 2022, TheBlad768 had gained more knowledge and decided to return to the idea. By then S.C.E. was ready, so we started from scratch.The porting work took our team 2 years. But this is not the final version and we will continue to improve it with future updates.

    The original game was very poorly optimised and had severe FPS drops, so all the code from the original game was rewritten to ensure better performance.

    But the main reason for making this port is to help other ROM hackers. In the future, we plan to open source this project's codebase so that anyone can use it to create or improve their own ROM hacks. You can use it as a base for your own project, or for whatever other purpose you can think of. We just want to try and help others. There are no other goals here. We really hope you find something useful in S.C.E. :)

    Unfortunately, the source code is not available at the moment, as we're still looking for bugs and fixing them. And we hope that the open beta test will help us find more problems to fix.

    We are looking for feedback. Your opinions and bug reports are very important to us!

    Changes:

    • New game engine. The original Sonic 1 has serious performance issues, so the game runs much better now;
    • Some things are kept in the style of Sonic 3 & Knuckles. There is a mix of graphics and music from Sonic 1 and Sonic 3 & Knuckles;
    • Playable Tails and Knuckles. You can play as Sonic and Tails or Knuckles and Tails. The villain switches between Eggman and Eggrobo depending on which character you choose to play;
    • All level layouts have been updated to match Sonic 1 2013 and Sonic Origins. New paths for Tails and Knuckles in MZ3, SYZ2 and SLZ1, new secrets pretty much everywhere else;
    • New artwork for bosses and other stuff;
    • New settings menu;
    • Seven Special Stages. Special Stages are now only available through Star Posts, but only if you have 50 rings. The player will lose 50 rings for entering the stage.
    • You can get 7 Chaos Emeralds, but unfortunately you can't use Super/Hyper Transformations yet. This may be added in future updates.
    • Many minor improvements in polish, such as added SFX or boss intros.
    Many of those changes will only be appreciated by other ROM hackers, not the average player. The core gameplay of the game has not been changed due to the nature of the project, so it's possible that the source code will be much more interesting than the hack itself.

    Cheats and Secrets:

    • S1 Level Select: U, D, L, R, A+Start on the Title Screen
    • S.C.E. Level Select: U, D, L, R, A+C+Start on the Title Screen
    • Hidden Credits: Hold A+C on the Sega Screen
    • Debug Mode: 1, 9, 9, 1, 0, 6, 2, 3 in the Sound Test of any Level Select;
    • All Emeralds: 4, 1, 2, 6 in the Sound Test of any Level Select;
    • Results skip: A, B or C during Got Through/Special Stage screens.
    Roadmap for the future:

    • Act transitions. Levels have been edited to allow for these, but unfortunately they couldn't be implemented in time for SHC.
    • Fix Knuckles' socks palette.
    • SRAM (?)
    • Super/Hyper transformations (?)
    • Flamedriver has some issues that need to be addressed. Music speed-up is reset after 1UP. Continuous SFX have conflicts with other SFX. Continuous flag is not reset when playing normal SFX.
    • Of course all the bugs that are found will be fixed as well.
    (?) - We'd like to know if this really needs to be added.

    We look forward to your feedback!

    Visit our pages to keep up with all the news:

    Russian language only:

    Base Sonic Clean Engine (S.C.E.) on GitHub (without Sonic 1):


    Credits:

    Red Miso Studios Staff

    • TheBlad768 -- Project lead, sole programmer, S.C.E. Game Engine
    • kuroya2mouse -- Level art and level design edits, sprite art and other things
    • pixelcat -- Sprite art, options background art and other things
    • FoxConED -- S.C.E. Level Select font art
    • Dolphman -- Robotnik head art
    Testing and other help

    • giovanni.gen, KGL, DeltaW, Narcologer, CatswellMeow, Nintorch, FoxConED, lavagaming1, cuberoot, Vladikcomper, ProjectFM, MarkeyJester, VAdaPEGA
    Special Support

    • cuberoot
    Special Credits

    • Vladikcomper -- Kosinski Plus algorithm, Advanced Error Handler
    • Flamewing -- Kosinski Plus algorithm, Z80 Sound driver (Flamedriver), Ultra DMA Queue
    • Clownacy -- Kosinski Plus algorithm
    • Devon -- Enigma algorithm
    Software Credits

    • MainMemory -- SonLVL, Level Converter and other things
    • ProjectFM -- Modified SonLVL with two-byte layout support
    • kirjavascript -- Flex2
    Additional art Credits:

    • Sonic 1 Mobile (2013), Sonic Origins (2022), Headcannon (Stealth)
    Special Thanks

    • Flamewing, devon, RealMalachi and others for bug fixing guides
    • SSRG and Sonic Retro

    Download:
    https://shc.zone/entries/contest2024/1041

    Thank you all for the feedback!
     
  2. RetroKoH

    RetroKoH

    Member
    1,728
    107
    43
    S1Fixed: A successor to ReadySonic
    Checking this out. I've been following SCE for a little while now since returning to the scene. I'm curious to see just how well S1 runs in this engine.
     
  3. TheBlad768

    TheBlad768

    Tech Member
    46
    201
    33
    Sonic 1 in Sonic 3 (S.C.E. Version)
    I hope the ROM version may have shown what people will expect when the source code is released. The current version of SCE on GitHub shows you what to expect when S1S3 is released.
    If you can accept SCE, then you won't have any problems with S1S3.

    I've never liked the stock Sonic 1 source code. That's one of the reasons why I started working on S1S3. I'd really like people to learn more about S3K source code.
    I'd be happy if anyone finds S1S3 source code useful for themselves.

    And I've seen your posts about the sound driver. I plan to make two GitHub branches for S1S3 source code, as standard SCE has. Each branch will have its own sound driver. It's either Clone Driver or Flamedriver.
    Everyone will be able to choose their own version of the source code.
     
    • Like Like x 1
    • Useful Useful x 1
    • List
  4. RetroKoH

    RetroKoH

    Member
    1,728
    107
    43
    S1Fixed: A successor to ReadySonic
    This is actually a fantastic solution. I have also had one or two complaints about the clearer percussion sounding slight different to their ears due to MegaPCM 2, so I think having an option that may sound closer to the original would be amazing (and I think some people will be much happier with a Z80 driver as well :) ).

    Would you mind if I hit you up sometime later on for advice on how to go about it? I have MegaPCM2 in already, but I worry I might need to uninstall it and get Clone Driver into one version first (and will definitely need to uninstall it in the other version for Flamedriver)
     
  5. TheBlad768

    TheBlad768

    Tech Member
    46
    201
    33
    Sonic 1 in Sonic 3 (S.C.E. Version)
  6. Knucklez

    Knucklez

    I love 2B 'n' ass. Member
    689
    22
    18
    Based on the OP, I didn't realize you can account share now and let buddies from your team post on your behalf.
     
  7. TheBlad768

    TheBlad768

    Tech Member
    46
    201
    33
    Sonic 1 in Sonic 3 (S.C.E. Version)
    What do you mean?
     
  8. pixelcat

    pixelcat

    The Holy Cat Jr. Tech Member
    30
    129
    33
    The original post is directly copied off of the entry page, which was written by me from the perspective of the team. I assume TheBlad768 just copied the description here as it was. No need to jump to the conclusion there's any account sharing going on; if I want to post something to this forum, I have my own account to do it.
     
  9. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,425
    1,743
    93
    your mom
    I want to make a quick comment regarding SCE:
    A few years ago, I had attempted to convert chunk IDs to be 16-bit, but it seems I didn't fully get it implemented. I went ahead and opened a pull request to fix that. Whoops.

    @MainMemory pls merge
     
    Last edited: Oct 6, 2024