Hack Sonic the Ghosthog (Source + S/H Guide)

Discussion in 'Engineering & Reverse Engineering' started by Iso Kilo, Nov 9, 2020.

  1. Iso Kilo

    Iso Kilo

    Local Wolf-Fox Member
    43
    71
    18
    Small Town, BC
    Various Sonic 1 MD and J2ME Experiments
    Recently I've been playing with the MD's shadow and highlight mode, so to show what I learned, I made a little hack!

    Sonic the Ghosthog!
    Title Screen.png

    This little hack makes Sonic a ghost with new abilities.
    Phase through enemies when walking at slow speeds or standing still
    Phase.png
    And when you phase through Caterkillers, you scare them to pieces!
    Scare Caterkillers.png
    Ghost Sonic also gets a double jump! (Since flight would be too overpowered)
    Double Jump.png
    And as a ghost, Sonic logically doesn't need to breathe underwater.
    No Air Limit.png
    And because of the way S/H works, indoor areas like MZ and SBZ are thematically enhanced, as they cast objects in darkness.
    Indoors Enhanced.png
    This may also prove as a new challenge as you could lose Sonic in the darkness. Which is especially the case in Special Stages since I could not make any of the plane A tiles high priority.

    I also made some cute art for this hack!
    Ghosthog Drawing.png

    Now if you have any questions or confusion about something in the hack, 90% of the time the answer will be due to the limitations and functions of S/H. For example, Green Hill's dirt is mostly darkened because low priority tiles are shadowed, if I had made it high priority to make it render normally, all the objects would go behind it, making it near impossible to play.

    Included is the source code, and in the zip there is also an HTML with a beginner's guide to using S/H. Hopefully that will help some of you learn S/H for yourselves.

    There's also an Easter egg in the release ROM you won't find in the source code~

    Edit: There's a few things involving priority I want to fix up, and I want to enhance the HTML further, so stay tuned for that.
     

    Attached Files:

    Last edited: Nov 9, 2020
  2. Lostgame

    Lostgame

    turntablist, dinosaur goddess Oldbie
    4,114
    37
    28
    Toronto, ON
    The O.I.C.
    Awe, I love it - fantastic use of a VDP exploit!
     
    • Like Like x 1
    • Agree Agree x 1
    • List
  3. FSF

    FSF

    Sonic player Member
    5
    0
    1
    This is a simple yet supremely cool Sonic 1Hack!
    I could feel a different atmosphere from the usual Sonic 1.
    Thank you!
     
  4. Vangar

    Vangar

    Member
    3,639
    55
    28
    Is this real transparency on mega drive? Im very curious about how this works, but i'm not a mega drive programmer ...
     
  5. rata

    rata

    Member
    609
    22
    18
    Argentina
    Trying to be useful somehow.
    Kind of, it's using Genesis Shadow/Highlight capabilities, which can make the background plane's pixels behind a sprite mask darker or lighter, depending of the colours of the mask (colours 14 and 15 respectively if I recall correctly?). This is used for example on Mortal Kombat 3 for the character's shadows, instead of being opaque like the original Arcade version.

    It cannot, however, do a real transparency blending like a SNES could do, and that's why you see the 'every other' drawn Sonic on the title screen, as this can't blend colours.
     
  6. Iso Kilo

    Iso Kilo

    Local Wolf-Fox Member
    43
    71
    18
    Small Town, BC
    Various Sonic 1 MD and J2ME Experiments
    Thanks for all the kind comments! It's a really simplistic hack so it makes me happy that everyone's enjoying it.
    And @Vangar I'd recommend you take a look at the HTML provided in the source code version, it's a beginner's guide to S/H. I still have some things that need to be improved in it, but it still covers the basics.