S3K/S&KC Random Special Stages

Discussion in 'Engineering & Reverse Engineering' started by MainMemory, Jun 2, 2017.

  1. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,595
    193
    43
    SonLVL
    http://youtu.be/gEhVRD3JUJA
    Have you reached the point where you've played S3K so many times, you already know how it's going to go before you even start playing? You've memorized all the Big Ring locations and Special Stage layouts and you know you'll have all the Chaos Emeralds by the end of Hydrocity and all the Super Emeralds just in Mushroom Hill. What if instead of the same old layouts you've played so many times, you got something different? That's where this hack comes in. Every frame of the game (that's 60 times a second), a new Special Stage is selected, based on the code in the Blue Sphere game, so even the smallest variation in your play will get you a completely different set of Special Stages.

    What's unique about this hack is, it comes in two flavors: the standard Mega Drive ROM and, for the first time ever, a mod for Sonic & Knuckles Collection on PC! You will need to get the latest version of the S&KC Mod Loader and use the mod manager program to install the loader and activate the mod.

    Download MD/Gen ROM: http://mm.reimuhakurei.net/misc/S3KRandomSpecial.zip
    Download S&KC Mod: https://github.com/MainMemory/SKCRandomSpecial/releases
     
  2. D.A. Garden

    D.A. Garden

    & Knuckles Member
    I really like this. I've been playing the MD/Gen ROM and it's actually quite refreshing to go into a big ring and not sigh in the knowledge that I'm going to be bored for the next few minutes. Nice one, MainMemory.
     
  3. DigitalDuck

    DigitalDuck

    Arriving four years late. Member
    5,091
    238
    43
    Lincs, UK
    TurBoa, S1RL
    Only random special stages? Get on my level, scrub. :v:

    The key takeaway here of course is the implementation into Sonic & Knuckles collection. I still have no idea how you did that. :v:
     
  4. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,595
    193
    43
    SonLVL
    Well the source code is right there. Unless you mean how I got to that source code, in which case, it's the same method I use for most mods: use IDA Pro to locate the function you want to edit in the disassembly (the S3K disasm works well as a guide here), press F5 or Tab to decompile it to pseudocode, fix up the type information on the variables and functions used by the function, then copypaste the function into your mod's code file, have the mod redirect execution from the game's function to your function (WriteJump or WriteCall), then modify the function's code as desired. I also took the opportunity to rewrite the code to not use any of the 68000 register variables that most of the game's code uses, for readability and efficiency's sake.
     
  5. Oooo, I love hacks that randomize gameplay aspects! Any plans that you might try to find ways to randomize other aspects of the game?
     
  6. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,595
    193
    43
    SonLVL
    That is beyond my ability, though I did offer DigitalDuck to port his level randomizer to S&KC.

    Edit: Well, other than randomizing entire levels, I could maybe randomize stuff like item box contents, level order, or character selection.
     
  7. Andrew75

    Andrew75

    Technical Artist Member
    1,988
    77
    28
    Project AXSX(Sonic Xtreme) + Misc Projects
    cool!!!
     
  8. DigitalDuck

    DigitalDuck

    Arriving four years late. Member
    5,091
    238
    43
    Lincs, UK
    TurBoa, S1RL
    I'm still open for that, but I'd have to port to S3K in general, which isn't straightforward.
     
  9. biggestsonicfan

    biggestsonicfan

    Model2wannaB Tech Member
    1,401
    270
    63
    ALWAYS Sonic the Fighters
    Could you add something in that will randomly transport you to a random special stage throughout the course of the level? boss battle areas excluded, of course. Would make this hack more appealing to play imho.

    Something like a timer, a probability from defeating an enemy or collecting a ring or something.
     
  10. That would be incredible if it were to happen. I imagine you could also randomize the level order pretty easily too, and even add levels from the first two games as well. Another cool feature if it would be possible would be to have each level have four palettes like Chaotix, and each zone would cycle through them as you went through the game. It'd start on a random time each time, and with randomized level order, you'd never know what to expect.

    This all would be a hell of a lot of work though so I imagine most those ideas may not happen. I have other ideas but I'll keep them quiet as not to gush over this project, it's just similar to a project I've thought about a lot and not had the skills to produce.
     
  11. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,595
    193
    43
    SonLVL
    Knuckles' Emerald Hunt But You Have To Play A Special Stage To Get The Emerald
    I dunno, maybe.

    One of my first ideas for an S&KC mod was to port Sonic 2 in its entirety, including KiS2. But I don't have nearly enough knowledge of S3K to make that work. Even porting one level would be really difficult.
     
  12. Blue Spikeball

    Blue Spikeball

    Member
    1,405
    450
    63
    I think that sounds like it would be a really annoying feature TBH. What's wrong with Special Stages being accessible only from giant rings like in the regular game?
     
  13. biggestsonicfan

    biggestsonicfan

    Model2wannaB Tech Member
    1,401
    270
    63
    ALWAYS Sonic the Fighters
    There is nothing wrong with it, but I feel it underutilizes the whole purpose of the hack itself. The point of the mod is to enjoy the new features as well as "something different" as stated in the OP. Once I use/finish/fail the random special stage, it won't be until the next ring that I get to play anything new/different. If I play with random special stages, it could possibly feel like playing two games? idk

    Hmm, I wonder... can this be ported to Blue Sphere? Might accomplish something similar to what I said, but will just be random special stages, no platforming gameplay.
     
  14. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,595
    193
    43
    SonLVL
    It absolutely could be ported to Blue Sphere, since it is just the Blue Sphere stage generator, but it might make more sense to have truly random stage selection in that mode, rather than timer-based.
     
  15. biggestsonicfan

    biggestsonicfan

    Model2wannaB Tech Member
    1,401
    270
    63
    ALWAYS Sonic the Fighters
  16. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,595
    193
    43
    SonLVL
    I've been thinking about remaking Blue Sphere Plus, and an option to play random stages could certainly be part of that. I want to make it as an S&KC mod too, but first I'd have to figure out how to fix the floor/sprite desync issue because that really bugs me.
     
  17. biggestsonicfan

    biggestsonicfan

    Model2wannaB Tech Member
    1,401
    270
    63
    ALWAYS Sonic the Fighters
    Holy fuck, I've actually always wanted this. I've always wanted to easily play just the special stage layouts from S3 for practice without the platforming element! I am SOOOOO slow omg...