Socket the Hedgeduck (hack progress)

Discussion in 'Showroom' started by GenesisDoes, Feb 9, 2016.

  1. GenesisDoes

    GenesisDoes Well-Known Member Member

    Joined:
    Jan 2, 2016
    Messages:
    106
    Location:
    Pittsburgh, PA
    • I'll add a DLE to resize the level bounds in that area
    • That was intentionally going backwards. I can look into making a proper looping remix of the song (although I suck at composing original music)
    • Do you remember which type of error code was generated? Please take a screenshot of it if you can replicate it, so I can look into fixing it.
    • There is a dead end area near the lower path in the beginning of the stage; only the Bonus Stage door can take you out of it. The level past that I can revise the level layout (the door in the next area is a warp door and takes you to the boss area). I can also add code to apply a different palette to distinguish between bonus and warp doors.
    • I'm keeping the Kirby Minecart song, that level is mostly a mine cart riding level anyways.
    • In the original Socket game, that particular loop acts like that. However, I am looking into modifying Sonic 1's loop system to handle properly the Big Rom Chunk feature that replaced it (some later HSZ acts appear to have proper Sonic 1-styled loops in Socket).
    • That is Future Zone that is inaccessible through the Level Select; it was disabled in the menu for the v0.3 demo as the level was in-progress during build.

    Thanks for the feedback!
     
    Last edited: Nov 7, 2016
  2. GenesisDoes

    GenesisDoes Well-Known Member Member

    Joined:
    Jan 2, 2016
    Messages:
    106
    Location:
    Pittsburgh, PA
    A new boss approaches! He was quite fun to program in.



    As for futures plans for the hack in general, I'm working on recreating the rest of the bosses, squashing more bugs, and finishing the rest of the level layouts. Hopefully I should have the entire hack well polished and finished by mid-January 2017.
     
    A-S-H, Jdpense, Bluestreak and 2 others like this.
  3. redhotsonic

    redhotsonic Also known as RHS Retired Staff

    Joined:
    Aug 10, 2007
    Messages:
    2,947
    Location:
    England
    Bosses, bug fixes and layouts within 2 months? I assume you mean 2018?
     
    HackGame, Novedicus and D.A. Garden like this.
  4. D.A. Garden

    D.A. Garden & Knuckles Retired Staff

    Joined:
    Aug 6, 2009
    Messages:
    493
    Location:
    England
    Yeah, I wouldn't expect 2 months to be enough time to complete all of that either. Especially when you mention "finishing the rest of the level layouts", which I can't imagine would be an easy task.

    That boss port is looking pretty good so far, although there's a few things off about it that I'm sure you are aware of that could do with a little cleaning up. (The falling spikes don't move right/disappear at times, the boss's movement looks a little off and, once he's defeated, everything just seems to either disappear or stop as-is, which is a little jarring. Just some examples of things I noticed.)
     
    KCEXE and Bluestreak like this.
  5. CaveQuest

    CaveQuest Creator and moderator for the telephone projects Member

    Joined:
    Jul 18, 2015
    Messages:
    750
    Location:
    Sweden
    GenesisDoes, Do not rush it. We got all time in the world here and I believe that it could take more then just 2 months to complete this.

    Anyway that boss looks interesting. It looks good. I however feel that this hack really needs alot of more polish overall with mainly the slowdown issues.
     
  6. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    148
    Location:
    Eastwatch Island
    This was honestly one of my favourite hacks of all of SHC16, because, as a fan of Time Dominator 1st, I have always wanted to see the superior Sonic physics in that wonderful, underrated classic. Now, as all of us do, we have some constructive criticism for the hack, and some ideas as well.

    1. I, and some others, feel it is best to put the High Speed Zones back as the first Act of each Zone like the original, and just remove special stages entirely rather.

    2. If you are able to learn how, try to find a way to increase the size of the Zones, so that level warps are no longer needed, giving a coherent, clean feel like the original game.

    3. Take a look at Sonic CD, and its coding, in Metallic Madness, how Sonic is able to go into the backdrop and run around in it. Something similar could be the key to perfecting the Fence Bonus Stage. with jumping over a certain spot transferring him back and forth.

    4. Whenever you can get all the Special Stages working 1:1 to the original, you could put the Chaos Emeralds in those, giving people a reason to hunt down the bonus areas, and unlike the original, actually rewarding players for completing them.
     
    Alex Hofstadter and A-S-H like this.
  7. Misinko

    Misinko Happy happy! Joy joy! Staff

    Joined:
    Apr 30, 2013
    Messages:
    572
    Location:
    Ohio
    I'd be damned impressed if he could pull this off, considering there is no public Sonic CD disassembly available at the moment, and sifting through hex is not a fun thing to do.
     
    Calvin likes this.
  8. jubbalub

    jubbalub One of these days... Member

    Joined:
    Dec 25, 2014
    Messages:
    244
    What? I'm pretty sure Sonic got shrunk in Metallic Madness, not transferred to the background.
     
    TheStoneBanana likes this.
  9. Clownacy

    Clownacy UP - ON - CPU Staff

    Joined:
    Aug 15, 2014
    Messages:
    734
    Location:
    Englandland
    Maybe he means Zone 3, where you go behind the foreground right before the boss.
     
    Bluestreak likes this.
  10. ProjectFM

    ProjectFM Optimistic and self-dependent Member

    Joined:
    Oct 4, 2014
    Messages:
    639
    Location:
    Portland, Maine
    In Metalic Madness Zone 3, right before the mini boss, there is a spinner thing that can bring you into the background and you can collect the rings there. There is actually a disassembly for it found here by qiuu: http://geoo.digibase.ca/Genesis/R83C__.asm.gz

    Edit: ninja'd
     
    Bluestreak and Calvin like this.
  11. redhotsonic

    redhotsonic Also known as RHS Retired Staff

    Joined:
    Aug 10, 2007
    Messages:
    2,947
    Location:
    England
    Call me stupid, but why would he need a Sonic CD disassembly? Couldn't you pull a similar thing off be just switching from Collision Primary to Collision Secondary? Thinking about it, that's probably how Sonic CD did it (an opinion, not a fact).
     
    Bluestreak and ProjectFM like this.
  12. Clownacy

    Clownacy UP - ON - CPU Staff

    Joined:
    Aug 15, 2014
    Messages:
    734
    Location:
    Englandland
    SCD, being based on S1's engine, doesn't have multiple collision sets. My guess is that it does what S1's loops do: have a pair of chunks, one with collision/high-priority-tiles in one place, and one with them in the other. Then they just get swapped when you change from foreground to not-really-foregound.
     
    Last edited: Dec 1, 2016
  13. Bluestreak

    Bluestreak Lady in red, living in dread. Member

    Joined:
    Apr 1, 2016
    Messages:
    148
    Location:
    Eastwatch Island
    So, Clownancy's idea should be able to help him recreate the fence stage as accurately as possible. Also, thanks for the pointers on that, and that disassembly ProjectFM. That may help me out someday, if I get into Genesis hacking.
     
  14. GenesisDoes

    GenesisDoes Well-Known Member Member

    Joined:
    Jan 2, 2016
    Messages:
    106
    Location:
    Pittsburgh, PA
    Not to derail too much, but I took a quick look at that area of MMZ3 in Gens KMod using the VDP Plane Explorer and VDP Sprites debugging windows, and looks like Clownacy's theory is correct. The spinning tiles in that FG chunk are just animated tiles with the VDP priority flag set. In this area, FG sprites have their VDP priority flag set, while sprites in the BG have their flag unset. The spinner object thing probably is doing a quick chunk swap to change the level collision and setting a few flags to prevent collision with objects when on different "layers", but I haven't looked at the MMZ3 code for the exact technical details.
    SCD_Spinner1.png SCD_Spinner2.png

    Using this knowledge, I properly implemented layer changing into Bonus Zone Fence (BZF), including proper sprite rendering and collision! It only took some slight modification of the affected objects in BZF, and of the ReactToItem routine to only check for collision between Sonic and objects if on the same layer flag (bit #7 of obStatus SST was used).



    = = = = =

    Item 1 should be very easy to program in, via another toggleable flag on the Title screen, swapping out for an alternative Level Order file to reference in code, and unsetting a flag I use to indicate special stage platforming levels (to prevent awarding a Chaos Emerald and triggering the Special Stage results screen in HSZ).

    Item 2 I can look into after I get the level layouts complete, as it might be difficult. I just need to modify the game engine to allow level layouts taller than 8 chunks (some levels in Socket are quite tall, OCZ2 and HSZ5 come to mind).
     
    FireRat, A-S-H and vladikcomper like this.
  15. Trinitronity

    Trinitronity Well-Known Member Member

    Joined:
    Sep 12, 2016
    Messages:
    88
    Man, I love it how the levels get closer and closer to the original in terms of functionality. Good job, GenesisDoes.

    It...kinda makes me want to make a Socket in Sonic 1 hack just for shits-and-giggles. Would also be able to use that to advertise your hack.

    In fact, if I somehow be able to make Socket in Sonic 1 in patch form and patch it on your hack, then we would finally get a good version of Socket with the actual Socket character. What do you think?
     
  16. Mr. Cat

    Mr. Cat The Holy Cat Jr. Member

    Joined:
    May 31, 2014
    Messages:
    352
    Work together and make it lock-on. :p
     
  17. Trinitronity

    Trinitronity Well-Known Member Member

    Joined:
    Sep 12, 2016
    Messages:
    88
    That's the plan...well, at least my plan, hence why I said patch.

    If I somehow be able to patch my potential Socket in Sonic 1 hack on any other hack with just Sonic in it, then my potential Socket in Sonic 1 hack might as well just be a lock-on hack.
     
  18. Mr. Cat

    Mr. Cat The Holy Cat Jr. Member

    Joined:
    May 31, 2014
    Messages:
    352
    Well, you'll not be able to do that sadly... if the other rom wasn't made specifically to make patches functional, it won't happen.

    You'll have to take into account that the data is shifted, patches just overwrite whatever is changed not taking shifted data into account. As a result, funny things happen.

    And then, even if you'll find a patch format that takes shifted data into account, it would be hard to make a patch for both S1 and StH.
     
  19. Trinitronity

    Trinitronity Well-Known Member Member

    Joined:
    Sep 12, 2016
    Messages:
    88
    Hmm...in that case...wasn't there a tutorial somewhere that allows a hack to load levels from a lock-on module, as a "make your own Sonic adventure" kind of thing? Maybe I could try to code my hack as an actual lock-on module that Socket the Hedgeduck could check then. But that requires both my work and GenesisDoes' work to be highly choreographed.

    In the end, though, it's up to GenesisDoes to decide and not up to me.
     
  20. Calvin

    Calvin DreamCast Enthusiast, or something Member

    Joined:
    Mar 1, 2014
    Messages:
    220
    Location:
    $C800
    Or you could easily finish the import, and send GeneisDoes the mappings/art/animation files of the ported Socket sprites.
    From there, he could easily make an alternative "with Socket" version, or use a Sprite/object swap that can be toggled through another menu.

    I've done something like that myself, way back when with "Escapade." I just had more of a 'push B to activate' thing, due to my programming ability at the time.