Sonic 1 Blastless DX

Discussion in 'Showroom' started by vladikcomper, Apr 1, 2021.

  1. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    404
    Location:
    Russia
    UPDATE 2021-10-11: Sonic 1 Blastless DX, an enhanced and extended edition of the original hack has been released. The download link in this post has been updated. Please see this post for more details: https://sonicresearch.org/community/index.php?threads/sonic-1-blastless.6253/#post-87665

    * * *

    As you all know, Sega Mega-Drive® is famously powered by Blast Processing™ technology. This isn't just a marketing term, but a really sophisticated, advanced technology behind SEGA's most successful titles, most notably, the Sonic series.

    So, as usual, I was working on my Sonic the Hedgehog™ hack, doing my usual Blast Processing™ wizardry to bring you state of the art High Definition Sound and Graphics™ experience. However, I got a little carried away and shoved in so much Blast Processing™ power into the hack that the ROM nearly exploded.
    It is now forever cursed and has forever lost any Blast Processing™ power. Or has it?

    [​IMG]

    But my senses feel that Blast Processing™ power is still there, well-hidden deep inside it. Can you regain it?
    Be careful, though, and avoid any form of damage in the game. With so much processing power already lost, who knows what may come out of it? If you aren't careful enough, you may enter into an Anti-Blast Processing™ parallel universe, where the power of your beloved Sega Mega-Drive® may be reduced beyond, I dunno, GameBoy®?

    Play it at your own risk! Your Sega Mega-Drive® won't feel the same anymore!


    Special Thanks:
    • AURORA☆FIELDS - For testing, and valuable debugging help;
    • Jet - For testing and various ideas;
    • RayDC - For making the presentation image;
    • LazloPsylus - For grammar corrections and enhancements to this post, because I'm too tired to come up with good text right now; and for coming up with a better name for this project which I ended up using =P
     
    Last edited: Oct 11, 2021
  2. Spicy Bread SSR

    Spicy Bread SSR You can call me Mal if you like Member

    Joined:
    Feb 27, 2021
    Messages:
    17
    Location:
    Green Hills, Australia
    Wow... I thought that Blast Processing was propaganda, but turns out that the Genesis is essentially a home Gameboy without it. Thank you Mr Fast Kosinski guy
     
  3. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    404
    Location:
    Russia
    A cross-post from Sonic Retro:

    Thanks to everyone for their reactions and feedback! I feel more than happy with how this hack was received, with some people even wanting to replay the whole game emphasizing on how different graphic modes change their perception on it. I'm really-really glad to see it as it means all the extra effort to get every level, every zone and every game mode (Special Stages included, unless you didn't know =P) under every "graphics mode" did pay off.

    This hack is actually a lot bigger than it may seem, as this concept (the way it functions in the final product) was insanely hard to pull off to say the least. The development started in 2017, and while it wasn't even remotely active all the way through until 2020, unbelievable amounts of time and effort were put into it, as the hack's premise required me to completely overhaul just about every subsystem in the engine that handled graphics display in one way or another (this includes level rendering, level and objects art loading, transferring tiles and palettes just to name a few; this hack even uses a completely custom sprites format!)

    So again, huge thanks to everyone, as it's your reactions and feedback that really inspires me to move forward with my projects and crazy ideas, now that I'm back after quite a hiatus (my last big release was Sonic Winter Adventures in 2013!)

    Anyways, I also came to bring a small update...


    A small update for anyone who is going to run it on Real Hardware

    So recently, Sonic 1 Blastless was featured in @redhotsonic's But does it work on Real Hardware? video (which was an honor, so huge thanks to redhotsonic for covering my hack in such a spectacular way!)

    It was, however, mentioned in the video that while the hack seems to work on the hardware pretty well for the most, some tests on some configurations showed that it sometimes may freeze completely when switching graphics modes in the water levels (LZ1-LZ3, SBZ3). I investigated the issue and it appears there was indeed a low-level bug when switching the "graphic mode" which introduced a data race that affected some machines (I assume it really comes down to tiny differences in memory performance of the flashcart and the system itself).

    This bug has now been fixed, so it should always work stable on any Genesis/Mega-Drive revision. Other than that, no noticeable changes were made, apart from a few tiny fixes listed below. If you're an emulator user, almost nothing really changes for you, so feel free to ignore it if you already played it.

    • Fixed a 1-frame corruption of purple flowers during "All Emeralds" ending;
    • Fixed another extremely unlikely theoretical crash; I think you'll never in your life trigger it, even I could never trigger it (hence it only exists in theory), but it was fixed anyways, which is good;
    • Don't reduce blast processing when Sonic's hurt wearing a shield (the original version subtracted a little of Blast Processing as a punishment, it was frustrating at times as the game would immediately downgrade the graphics if you had nearly zero Blast Processing to begin with);

    The download link is exactly the same (I just replaced the file on the server with the newer revision, hence the original post wasn't edited).


    P.S.: Redhotsonic's video also mentions a certain pleasant surprise Sonic 1 Blastless has for the PAL users! So you may want to check that section of a video or try booting the ROM in PAL mode (EU region) for yourself.
    I'm actually surprised no one has noticed it before, this also took me a quite lot of time and debugging to pull off! =P
    P.S.S.: Still surprised no one talks about the ROM size, haha.
     
  4. Pacca

    Pacca Having an online identity crisis since 2019 Member

    Joined:
    Jul 5, 2014
    Messages:
    1,168
    Location:
    Limbo
    NOOO Don't remove downgrading when getting hurt by a shield! It was the only way to legitimately get into a special stage in gameboy mode ;w;
     
  5. CuckyDev

    CuckyDev Newcomer Trialist

    Joined:
    May 1, 2016
    Messages:
    7
    where'd the 60 something kilobytes go you mad man
     
  6. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    404
    Location:
    Russia
    Wow, didn't even think of it, what an interesting exploit! How were you able to get through Atari mode without loosing rings though? =P
    Anyways, you can easily boot a Special Stage in any "graphics mode" you wish by getting a Game Over and then using Level Select to access it, because Blastless keeps the last mode when you game over (navigating through level select in Game Boy mode may be challenging though).

    Yeah, it's quite funny math, actually: all the original Sonic 1 assets + 3 completely new graphics modes for virtually every bit of the game + 8-bit/4-bit/2-bit music and sounds + extended PAL resolution support + Spin Dash, extended HUD etc. = ROM that is ~60 Kilobytes (12%) smaller than vanilla Sonic 1?!

    So yeah, I went completely crazy and optimized many of the game's data formats to the extreme, also removing nearly every unused bit of data from the original game. Note that just removing all the unused stuff will only save you 10-20 kilobytes or so.
    More size savings in Blastless come from:
    • Utilizing better compression format for graphics (Kosinski+);
    • Using custom sprites format and storage (reduced sprite mappings size by almost 15%);
    • Using unusual level layout format (compressed, resembles Sonic 2's, but arranged differently for more effective compression);
    • Optimizing compression for misc. data (Special Stage layouts, level chunks etc.)
    So I was kind of interested to save as much ROM space as possible without cutting down the original game (all of this besides all the technical challenges implied by the hack's concept itself).
    So, Blastless ROM being only 452.6 KB despite all the extra content that went into it is probably the smallest Sonic 1 ROM-hack so far [that has all the content from the original game].

    Speaking of the original game's content, there's only one place I cheated to be completely honest, that being the SEGA PCM sample. I figured I could compress it, as it was only meant to be played in 8-bit mode.
    I wrote a 1-bit DPCM encoder/decoder for this (a really similar in implementation to the hardware delta-modulation channel in NES' APU). This gave 8x compression with the sample still being recognizable (26.4 KB original vs 3.5 KB compressed), so this little cheat saved me ~22.9 KB I used for the extra content.
     
    Last edited: Apr 21, 2021
  7. Pacca

    Pacca Having an online identity crisis since 2019 Member

    Joined:
    Jul 5, 2014
    Messages:
    1,168
    Location:
    Limbo
    Maybe you could create an alternative release or an option to invert the blastless mechanics? I'd happily go out of my way to unlock the lower quality modes, I always feel disappointed when I accidentally restore the game into just being vanilla Sonic 1 again.
     
    TheInvisibleSun likes this.
  8. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    404
    Location:
    Russia
    Sonic 1 Blastless DX

    Today, I proudly present to you Sonic 1 Blastless DX, an enhanced and extended edition of Sonic 1 Blastless which is featured in Sonic Hacking Contest 2021!

    Since the original release, quite a few of people were asking to be able to leave the game in certain "Blastless" mode (most notably, Game Boy) or just to play certain modes separately. Your requests were heard, and I've made something even better just for you! For all of you returning players, the DX edition (which stands for Deluxe, not Director's Cut) includes the following exclusive hidden goodies (but shhhh, it's a secret~):
    • All-new DOS mode! - Imagine playing Sonic 1 on a good old i386 DOS-PC!
    • A brand new Configuration mode! - That changes the way you play the game! This is absolutely the most powerful built-in tool you may ever get in a Sonic hack!
    Can you figure out access to them?



    On top of that DX version brings in the following improvements to the original "Blastless" gameplay:
    • Even faster graphics mode switches! As if there weren't already fast enough, but the DX version is able to restore Blast Processing in the blink of an eye!
    • Subtle changes/improvements in some graphic modes;
    • Get a new life every 50,0000 score points;
    • Many bugfixes and QoL improvements (that SYZ3 block no longer blocks the way!);
    • Play it in PAL region! I know, 50 Hz is slower, but seriously, go play it at least once. Have you turned it on? You may need to doublecheck...

    Download DX version
    Go to hack's SHC page

    Hint: There's no in-game messages that reveal access to those hidden goodies, so you have to it figure out using a bit of brute force. Accessing them is easier than you may think though. It's just one step away from entering the Level Select mode! Once you activated that secret mode, you can also press certain buttons when paused the game to go back to Title Screen or Configuration mode respectively.

    Please note that current version is slightly (literally, 2 bytes) different from the one uploaded to SHC'21. That's because I had to fix a silly typo in the secret menu I made while in a hurry. I couldn't update SHC anymore build due to expired deadlines.

    Before you ask...
    [​IMG]

    I can't believe I did it, it was correct all the way even in the code!
    [​IMG]

    ... still here, huh?
    You've found a treasure:

    Cheats to access Configuration mode:


    On the title screen, press Up, Down, Left, Right, B + Start (in all regions, except JP).
    While in the level, press Start, B to return to Configuration mode. Press Start, A to return to the Title screen.
     
    Last edited: Oct 11, 2021
    ProjectFM, Giovanni, Angel X and 5 others like this.