Sonic Classic Heroes

Discussion in 'Engineering & Reverse Engineering' started by flamewing, Nov 2, 2010.

  1. jasonchrist

    jasonchrist

    Give Us A Wank Misfit
    1,893
    0
    0
    Sonic Classic Hybrid Project
    Hello, it's me again pointing out plotholes and that.

    What happens to Knuckles in Heroes 3K? Does he turn bad for a second to push a switch and then rejoin you? Or will he be replaced with another antagonist like Metal Knuckles or something?

    Can't fucking complain though really brother, because I've just played the best hack of all bastard time!
     
  2. dsrb

    dsrb

    Member
    3,149
    0
    0
    Meh, I'd've assumed Eggrobo, which seems simplest all round, but Metal Knuckles could be a cool idea.

    In either case, what about HPZ? Simplest to me seems fighting [whoever else] then having player Knux become an NPC for a bit.

    But flamewing probably already has a plan, or just doesn't want even to think about one for another year or two. ;)

    Anyway, about the hack that actually exists! Can't try it yet due to laptop failure (hello from Wii :/ ) but I'm looking forward to doing so.
     
  3. BlueAuraEX

    BlueAuraEX

    The Blue Aura
    20
    0
    0
    ????
    Nothing..."Yet"
    Well, amidst the ones already pointed out, I seem to keep having trouble using a team of two on GHZ. It'll happen randomly: The game just simply freezes, and the only way I can break out of it is if I reset the game. It seems to happen most when I switch between the two anytime during the level. I'm going through each level and seeing if it happens in each level, or if it's JUST GHZ right now. While playing with the Chaos Emerald cheat activated, I was playing in CNZ (with all three characters at once), when all the sudden some objects started to freak out (CNZ pinball springs/blue blocks/etc.) and disappear. I'm not sure what exactly caused it. I'll need to do more tests. The emulator I'm running is the Genesis Plus GX emulator for Nintendo Wii, if that could be an issue.

    EDIT: Update on known glitches, using Genesis Plus GX: The freezing glitch happens on just about every level when using two characters only. It happens almost instantly whenever I switch between them, and a bit later if I don't switch at all, but still have the 2nd partner following me. It's possible this might be a graphics rendering issue, but I'm not certain. Using three at the same time seems to work just fine, though on rare occasions, some objects will start randomly disappearing. Also, using just one character works perfectly. I played as Sonic all the way through, getting all the emeralds and completing the game, and there was no glitches in sight.

    One weird thing "did" happen to me though, and it was in Labyrinth Zone: I died RIGHT above the checkpoint in one of the underwater segments (forgot it was there, hehehe...) and when Sonic fell down after drowning, he touched the signpost, and it still let me start from that checkpoint. I don't know if this is just this hack, or the actual game in general, but just thought I'd mention it here in-case that's not supposed to happen. Granted though, I hope it doesn't get changed, that small glitch saved my life! XD

    In the S2 special stages, the characters (even when playing as just one) seem to have an odd "skip" in their running animations at the start of the special stage. Also, the "RINGS" text just slightly blocks the first number of the ring count whenever it reaches over 100 (when playing as just one character only), but this is probably just a texture flaw that hasn't been finished yet (or it's my emulator, I'm not sure). None of this is gamebreaking, though.

    In the endgame screen, after the credits roll, it still says "Sonic The Hedgehog 2 Heroes" but again, probably just a texture that isn't finished yet. Also, it's more of just a nitpick than a glitch.

    EDIT 2: Here's a secondary update on the glitches I've found: From my experience playing this so far, the problems seem to mostly stem from using two characters only. As I mentioned before, the game just randomly freezes whenever it feels like it when using two characters only. In Marble Zone, when pushing the blocks (having three characters), sometimes they go a bit too fast. There's one instance where I think I "almost" broke the game by pushing one set of blocks too deep into the lava. Thankfully I dodged that, but it was concerning.

    The new 7th Special Stage is a well-made special stage, but perhaps maybe it could be made just a teeny bit harder. Perhaps removing the red crystals from the exits would suffice (that's just me though. I just figure the 7th Emerald should be the largest challenge, ya know? Just don't remove ALL the red crystals. Maybe just a small select few.) Why am I talking about this special stage though you ask? Because I "almost" got so stuck, I had to reset the game (was really far too, that would've sucked...). I simply suggest having someone test this special stage thoroughly to make sure there's no places you can get trapped indefinitely (specially it being the 7th Chaos Emerald).

    Like in Sonic 2 Heroes, in CPZ, you still have the characters in front of the barbed wire wall at the entrance to the secret path near the Act 2 boss battle (ya know, the one that leads to the three ring boxes, and invincibility box? Yeah, that one!). This is mostly just a graphical nitpick, not much a glitch.

    In ARZ, when you jump too high in Act 2 (maybe in Act 1 too, couldn't check during my second run), the sky has this massive black abyss above the blue sky. This is a pretty huge graphical issue, but I'm not sure what's causing it. Maybe a camera placement issue?

    These are all the known glitches I've found. I'll be sure to post up more later as I find them. Oh yes, I'm also having that weird, super sonic-haired normal Sonic glitch when I finish an act, so it's definitely not just a coincidence. Though it only seems to happen every so often, it happens most on MCZ, both acts. It's very random, so it must be because of a certain action that a player does to cause it when using Super/Hyper Sonic.

    I figured. The memory is the key in things like that. Oh well, just thought I'd ask. Thank you for replying so quickly, and good luck in the contest this year! I haven't played a whole bunch of recent hacks, but I'm sure this one will either get a really high grade, or maybe even win. Here's hoping to ya Flamewing!
     
  4. dsrb

    dsrb

    Member
    3,149
    0
    0
    Thanks for the details, both as general potential to improve SCH and because I might end up trying it on GPGX at some point.
     
  5. PsychoSk8r

    PsychoSk8r

    PsychedelAnt | Tone Turner Oldbie
    2,582
    3
    18
    Birmingham, UK
    30 Day Project: Revisited.A New Release!
    This hack did something that most hacks don't. It made me sit and play the entire thing, getting all emeralds in one session.
    This was awesome. Keep up the good work. =3
     
  6. MathUser

    MathUser

    3rd top wiki contributor Researcher
    2,120
    4
    18
    I've been playing this for a while. Lucky guys you finally get to play what I've been beta testing for months. This is a great hack.
     
  7. jasonchrist

    jasonchrist

    Give Us A Wank Misfit
    1,893
    0
    0
    Sonic Classic Hybrid Project
    Is anyone else completely awed and at the same time depressed that you can rape both Sonic 1 and 2 in under 30 minutes with Team Super?
     
  8. PsychoSk8r

    PsychoSk8r

    PsychedelAnt | Tone Turner Oldbie
    2,582
    3
    18
    Birmingham, UK
    30 Day Project: Revisited.A New Release!
    To be honest, I had a blast with Team Hyper, playing through at ridiculous speed.
    That was what I call a reward for getting all emeralds. =P
     
  9. Crash Mobile

    Crash Mobile

    Member
    12
    0
    0
    Portugal
    SonicKit
    Only now did I notice that you stretched Marble Zone's walls to the top of the screen. No more skipping the whole level with Tails or Knuckles :argh:

    I'm also getting the freezing glitch when playing as Tails and Knuckles in GHZ (and both times it happened while using Knuckles). Also, I grabbed the last invincibility monitor in GHZ3 and got what looks like glitched insta-shield art:

    [​IMG]

    Glitches aside, this looks great.
     
  10. dsrb

    dsrb

    Member
    3,149
    0
    0
  11. BlueAuraEX

    BlueAuraEX

    The Blue Aura
    20
    0
    0
    ????
    Nothing..."Yet"
    Oh yes~ That was so~ effing satisfying. I'm also loving how, whenever you use the Chaos Emeralds cheat on the Level Select screen, you still turn Super at the very beginning with 100 rings, but when you get an invincibility box, you just go plain overkill and get Hyper for a limited time. That was a stroke of genius.

    What emulator are you using? If it's Genesis Plus GX, I'll know for sure it's not just an emulator issue. I haven't actually tried using this on Gens+ yet (though I really should, just for testing), but I'm wondering if this is either an emulator problem? Or it is definitely a graphics issue having problems rendering two characters. Did you try any other combinations other than Tails and Knuckles? Also, you serious?! Dammit, Flamewing, I loved doing that as Knuckles! XD But if you really think about it, it broke Marble Zone beyond belief, so I think it needed to be done. True, in Knuckles in Sonic 1, that's still present, but also, that was just Knuckles in an untouched form of Sonic 1, so that whole ordeal wasn't so bad. If it was done in THIS hack, it'd be even EASIER to beat Marble Zone, so it'd be as if it didn't even exist. XD

    As for that glitched shield art, that seems to happen on a random basis with many types of textures that involve a swirling animation around the character. One time, I went Hyper after waiting out Super when using the Chaos Emeralds cheat, and when I did, the Hyper sparkles were all glitched up. I don't know if this is a level texturing problem or not, but it's extremely odd how it gets so glitchy. Maybe it's because the textures are combining, and it's causing the game to go into WTFBoom mode?
     
  12. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,161
    62
    28
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    This made my day! I looked at the other disassemblies, and it is a "feature" since Sonic 1 -- and it is present all the way to S3&K!

    Will check both of these. It helps these glitches to exist that the options screen was broken until very recently, so testing was a hassle (broke during porting of S3&K sprite rendering functions, never bothered to fix).

    Yeah, I have been meaning to fix that but always find something more important...

    A wrong set of labels when I split the scroll managers.

    It happens only with Hyper Sonic, and only when he is flashing the redder tones. I fixed this one.

    Edit:
    Fixed.
     
  13. RetroKoH

    RetroKoH

    Member
    1,661
    17
    18
    Project Sonic 8x16
    Wow... just wow. Just when I thought I couldnt be a bigger fan, flamewing, you go ahead and pull this. I am in awe, sir. Some things I wanted to point out.

    The Sol Emerald Special Stages character sprites look like they are missing a frame.
    Playing in Labyrinth Zone, you can still get air bubbles when having a Water Shield.
    Also in Labyrinth Zone, the characters slide down the water slide WAY too fast!
    In Marble Zone, characters push the block WAY too fast.
    (I think these last two have to do with the multiple characters, but that should probably be fixed sometime.)
    You can switch characters after they are in their Victory pose. I don't remember that being allowed in the old game. Shouldn't that be nixed?

    Anyway I'll look for anything else. Great work, and I love the inclusion of Amy in the Sonic 1 cutscene. Looking forward to the next release.
     
  14. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,161
    62
    28
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    I added the capability to switch at the end of act, yes: so you can select who you want to play on the next level. The blocks, I was going for multiple characters helping, or hindering, but it doesn't work that well; I will try a new way.

    I fixed the bubbles with water shield. The LZ slide... the only think I can think of is if I borked the speed table while I changed its working; will check.

    Edit: The random crashes with 2 characters were due to a list corruption bug. With my new Chaotix+S3&K bastard half-breed object manager, I reorder the order of execution of the player objects so they draw in the right order without me having to fiddle with their priorities. Moreover, the player objects are reserved, and unavailable for use for other objects. But when playing with 2 characters, the swapping logic didn't check if the player was in the game before reordering. This caused the unused player to be brought back, causing him to delete itself and putting him in the free object pool, which is available for normal objects. When another object used its slot, he would fill the object code pointer, which the monitor code uses to detect missing players. The monitor would then try to use a field that only the players have -- a vtable with character-specific functions -- and would jump to an invalid address.

    The code to reorder the execution is also used at the start of every level; but at that point, the unused characters have a code pointer to a special delete function that removes them from execution and does not put them into the common pool. With a single character, this bug was invisible because he can't swap mid-game; with 3 characters, it is irrelevant because all 3 players are in use; but with 2 players, the unused character slot suddenly becomes relevant.

    TL;DR: 2 players + swapping them + monitor = crash

    Edit 2: I also fixed a related bug in the code to reset the speed/acceleration/deceleration/jump strength of all characters when swapping, which could cause similar problems.
     
  15. Crash Mobile

    Crash Mobile

    Member
    12
    0
    0
    Portugal
    SonicKit
    Also, if you run fast enough on the slope at the start of SYZ3, you go through the floor near the end of the ramp, and you can jump back out after you land.
     
  16. BlueAuraEX

    BlueAuraEX

    The Blue Aura
    20
    0
    0
    ????
    Nothing..."Yet"
    Is it fixable with the code that you have in place currently? Or do you think you'll have to do some code restructuring to make 2 character-adventures work again? I'd hate if you had to go back and redo coding to fix such a small bug! D= Also, I didn't really notice the Labyrinth Zone water-slide speed up myself, but I guess it "could" be a potential problem if someone ended up going a little too fast, though I think it'd only cause problems on rare occasions. Other than that, it's fine to me. The Marble Zone block feature is a definite worry though. I like the idea of having some more pushing power with more players helping out, but maybe you could somehow weaken the pushing speed? Even with just one character, the speed's way~ too fast than it used to be in the original S1.

    Is there any way to just add up vanilla pushing power with each character that helps push the block? Or does things like that work like a doubling system? Maybe if you just added a "tiny" bit of extra pushing power with each character that helps, making the block-pushing not too much faster than it is in vanilla S1, it'd help make sure the blocks don't screw up at all, and it'd still make block-pushing a fairly quick routine with extra players. With just one character though, it should be pretty much just like it is in S1, but stop me if I'm going off-logic here, because I have no idea how that action's coding works.

    On a final note: Holy shit, you serious?! That checkpoint deal is in the original games?! I need to check that shit out sometime when I get the chance...
     
  17. RetroKoH

    RetroKoH

    Member
    1,661
    17
    18
    Project Sonic 8x16
    Its not a huge problem... in fact, it's really just nitpicking and doesn't cause any real problems that I noticed... in fact, it could just be a byproduct of the general faster pace of the game itself... which I can point out and notice at EVERY turn.

    but it stands out to me, as many small details with the classics do.
     
  18. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,161
    62
    28
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    Yeah, I am stumped on how I will fix that one. The slope there simply can't change the direction of the speed fast enough. I have some ideas, but I am focusing on the options screen for now.

    But in any case, there is a new revision available; changes:
    Enhancements over previous revision:
    • Less lag from water ripples, based on some ideas by djohe.
    • Less lag from invincibility stars.
    Enhancements over original games:
    • Faster ring processing (based on code by redhotsonic, SpirituInsanum and djohe).
    Bugs fixed from previous revision:
    • Fixed crash when playing with 2 players, swapping them, then moving near a monitor.
    • Getting emeralds caused the S1->S2 transition to fail.
    • Fixed fix for loops in wrapping levels.
    • Incorrect use of Super Sonic ending pose on some cases when ending the level as Hyper Sonic.
    • Wrong background scrolling in ARZ (both acts).
    • Fixed garbled invincibility stars graphics.
    • Fixed lightning flash from getting the lightning shield while underwater (can happen in LZ boss as the water rises).
    • Fixed animation glitch from S2 special stages.
    • S2 special stage ring count shows up wrong with a single player.
    • Push blocks are slower.
    Bugs fixed from the original games:
    • Bugged interactions of 1-up and speed shoes.


    Edit: if you have downloaded it before this edit, please redownload it; I fixed the push blocks issue too.

    Edit 2: also, I looked over the LZ water slides and confirmed that I am using the exact same set of speeds that Sonic 1 and 2 used.
     
  19. Miles3298

    Miles3298

    Member
    555
    3
    18
    This is fantastic.

    Since everyone has touched on almost all of what I've found so far in terms of bugs, I still have one thing to note: if you hit two invincibility monitors before one runs out, you get another set of stars objects to go with the ones you already have.
     
  20. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,161
    62
    28
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    Oh, crap; I knew I forgot something. Will fix it tomorrow.