don't click here

Sonic 3 Complete

Discussion in 'Engineering & Reverse Engineering' started by Tiddles, Dec 25, 2009.

  1. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    I wasn't aware of it until recently - I spotted it when I was doing the colour work. The darkest frame of the Super/Hyper cycle is indeed identical to the pinks used on AI Knuckles, and I had the same thought about whether it might be a leftover of that being his base colour - but I guess we'll never know for sure.
     
  2. MastaSys

    MastaSys

    Member
    700
    56
    28
    Speaking of Hypers and colours, (And this is more of an personal nitpick, sorry.)
    Hyper Sonic cycle through several colours, but the green is horrendous, and for me always made the transformation a bit more "lame" than Super.
    It's possible to make the green more lighter like the rest of the colours, or remove the green or something? Or maybe just alternate between Super Sonic Yellow and white? :P
     
  3. D.A. Garden

    D.A. Garden

    Sonic CD's Sound Test Member
    I apologise for the late response; only just realised that there was a question at the end.

    Anywho, the purpose of the Object 6B is to kill you between the moving wall and the non-moving wall. Simply touching the object will result in instant death, depending on sub I.d. and there are even variations, including instant damage and electric/lava variants. If the object isn't there, you don't die and fall through the wall (This is due to the moving wall actually being a moving background with high-plane level chunks and 2 level chunks colliding with Sonic/Tails/Knuckles between them doesn't trigger any sort of coding that would harm or kill the player)
    I 'believe' if you lowered some of the objects by a few pixels, then it would fix the issue, but might cause problems elsewhere (Liking being able to be pushed into the first few pixels of the floor and possibly zipping left/right).
    Unfortunately it's hard to tell if it'd work on a global scale and is more likely a case by case thing that could work in one area and not in the next.
     
  4. BlazeHedgehog

    BlazeHedgehog

    A "Community Enigma"? Oldbie
    1,472
    18
    18
    So I decided to start up a new game on Sonic 3 and decided to use Sonic 3 Complete. I livestreamed the whole thing through my Wii with GenPlusGX. Archived here. I think it's the most recent version of Sonic 3C, but bugs I noticed:

    1. I picked the version without Big Arms, and when Launch Base Zone Act 2 faded out, instead of taking me to Mushroom Hill, it just dumped me back to the titlescreen (but picking my file sent me to Mushroom Hill just the same).

    2. Transitioning between zones caused a lot of problems with sound. Frequently the sound would die as Act 2 would fade out, and upon loading the next zone the sound would continue to be muted until I did a hard reset. I think I had the option selected where music fades out, so maybe the volume isn't being reset? Barring that, I get the feeling this is a problem with GenPlusGX, as it seems to have problems with games that emulators I use on my PC do not have (I remember Vector in Sonic 1 would crash the emulator a lot unless I disabled some sort of checksum option). Still, something to keep in mind, I guess. You can see it happen in the archive when I finish Angel Island and go to Hydrocity. Happens a couple more times, too, like Flying Battery to Sandopolis.

    3. Likely related to the above, Hydrocity to Marble Garden muted some of the song's instruments, but not all of them. Similarly, Hidden Palace to Sky Sanctuary caused all of the music to hang completely. Again, a Hard Reset is all it took to fix it.

    If I'm a version behind, well, sorry for the inconvenience. :v:

    Edit: Oh, jeeze, there was a version on June 23rd? Yeah, I'm definitely at least one version behind. Guess that makes me an asshole!
     
  5. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    I probably won't be changing that, sorry. There are a lot of things that'd need to change to stop Hyper Sonic from looking stupid, and it'd be more creative than I intend for this.

    I suspected as much; just wondered if you'd tried it in any layouts. I guess I'll have a go sometime! Thanks for the info.

    I wouldn't say I ever like to hear about bugs, but having a video attached is very helpful! :)

    Good job it saves early, eh? This is the second time I've had this reported recently, both seemingly with the Big Arm removal patch in place, but I still can't reproduce it, dangit. muteKi, does the crash in the video (between 1:17:00 and 1:18:00) look to be at about the same place as yours? Same emulator or different? If you guys could let me know the exact combination of patch options you use, that might help too.

    I've never seen this, and I think I'll have to chalk it up to an emulation issue unless I get further reports. :\

    I listened to the Marble Garden one, very weird - it's like a very slow fade request, with PSG and DAC cutting out at the start.

    I'd be interested to know if the new version does make any difference. I haven't changed much in that regard, so I doubt it, but then I haven't changed much in terms of track invocation since the beginning so I don't know where these issues came from in the first place!
     
  6. muteKi

    muteKi

    Fuck it Member
    7,899
    149
    43
    That happened in the same place it did for me. That said, I forget if I'd had it happen while using the new build with the arm boss disabled or not.

    He had the Act 2 music after title card on, I noticed; I did not. In fact, these are the options I changed from their defaults as best I recall them (though I suspect the arm boss being disabled is the most significant one):

    SK miniboss and S3 knuckles; S3 miniboss for knuckles (third option)
    Fade level music before results screen
    Collect a total of 50 rings for slot machine continue
    Disable the continue progress HUD
    Skip big arm boss

    I've been playing it with the arm boss in the new version and haven't seen it happen. I think my first playthrough of the new version with Tails might have had that boss disabled, so it might still be in the new version under that setting. I'll redownload that version and try a few more times to see.

    EDIT: Also, FWIW I'm using Fusion. I don't have the ability to test it on an emulator as far as I can tell since I think it's just a teensy bit bigger than I can fit onto my Megacart.
     
  7. muteKi

    muteKi

    Fuck it Member
    7,899
    149
    43
    OK, having done some simple testing, playing as Tails with all the super emeralds, it seems that I can trigger the reset to occur when the arm boss isn't there if I beat the cannonball boss before Robotnik shows up (naturally this is not TOO hard to do as Super Tails, though I dunno yet if it can be done with Sonic).

    I realize in the video that that's not how it was triggered but this is only my result from the newest version of the game, and only one way I tried to trigger it (though I was able to do so reliably). Again, this only happens when the arm boss is disabled (and I had no problem with resetting with it enabled, even when I beat the boss that way).

    I can't guarantee there are other ways to do this, but this was with the newest version, so the bug is still there. Aside from being connected to the arm boss removal I don't know if I have any other answers or suggestions.
     
  8. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    Thanks to your description, I've managed to get a savestate that'll consistently crash now so I can work on this.

    It seems to be something to do with the background manipulation code, particularly the scrolling water line. I fiddled with some events relating to this to make the clouds less absurd and static when the screen scrolls up, but occasionally that seems to do very bad things. I'm thinking this probably relates to how much more quickly you can finish everything up if Big Arm isn't present, such that you might still, theoretically, be fairly near the water line. (Beating the first Robotnik incorrectly may contribute to that in not setting the screen lock properly.) So hopefully I can figure out a fix.
     
  9. muteKi

    muteKi

    Fuck it Member
    7,899
    149
    43
    I'm trying it with another save, and in that one it doesn't seem to matter how Sonic beats the cannonball boss, but the reset doesn't occur if he waits a few seconds before trying to beat the tiered boss -- usually I just stand on the platform at the point where it spawns as super sonic, which means the fight ends really quickly, but if I let it go up instead then the reset doesn't trigger.

    So I think you're on the right track with what's causing it. In the meantime I'll probably keep the arm boss enabled, as it works just fine for me with that, and the bug that always made it a bitch to fight isn't there any longer anyway. :P
     
  10. TehKaker

    TehKaker

    Member
    12
    0
    1
    I know this glitch:

    In S3K and in your hack in Sonic & Tails mode, in the first cutscene at AHZ1, after tails touchs the floor, may be controlled by 2P controller, and if Tails picks Sonic you may move them before the cutscene ends, causing many graphics problems.
     
  11. muteKi

    muteKi

    Fuck it Member
    7,899
    149
    43
    Remember how I mentioned that I was frustrated at the way the master emerald glowing worked during the credit sequences for both characters?
    I took a dump of the cram during Knuckles SSZ and the ending for Sonic and Tails; as it turns out (somewhat unsurprisingly), they both use the same palette, at least for the emerald and floating island and stuff.

    [​IMG]

    As the first line suggests, this was (ripped from Gens KMod) during the ending for Sonic and Tails. That third line there is where the emerald palette lies. As you've noted there are a couple colors used for the emerald that are also used for the stage art. Trying to make them cycle would make the island look weird; they're used for the grass on the level. I marked them with a brown line. I'm not quite 100% sure on that second one, though I am for the first. Also as a note, that light teal was instead a light gray in DEZ, Doomsday, and HPZ, and didn't cycle.

    During those levels only two colors on the emerald actually do cycle. Note on the far right I listed the colors used in the emerald (which aren't the same ones on each palette line -- HPZ has them in a different part of the palette from DEZ and both are different from SSZ). The two colors which cycle in the ending are marked with red arrows. The equivalent of the two colors on the emerald which cycle in HPZ and DEZ (I.e., the ones that SHOULD cycle to look right) are pointed to with a yellow arrow. They're the two greens aside from that light teal (which, in those two cases is, again, actually a light gray). In SSZ (and the S&T end) one of those is still cycling, but the second one is actually a slightly darker color -- it's the one after it. That's why it ends up looking wrong.

    Now, here's the frustrating thing. See those two pinks marked with with the gray line below them? They're used for the little teleporter at the start of SSZ for Knuckles. That's the only one; as soon as it goes offscreen those two colors are unused. Since the emerald and teleporter aren't onscreen at the same time, either one make a great replacement for that second lightest color -- but this would require redrawing the master emerald art. Note there's also a glowing version used when the sonic robot jumps onto it which you also might need to redraw if you do that.

    [​IMG]

    Here's the palette for Hidden Palace. The two glowing colors are marked.

    [​IMG]

    Here's the one for Doomsday. Again, marked. DEZ's final bosses have a similar configuration, but the emerald's colors are on the third line rather than the fourth, so they must use the same art.

    Incidentally, something similar is true for the brief bit of AIZ shown in the Hyper Sonic ending -- the same colors (including those unused pinks) in the emerald palette line show up (not surprisingly, since the emerald is there), but on the second line rather than the third. If you try to correct this, keep that in mind too.

    I haven't poked around the S3K stuff enough to figure out where all the art of the Master Emerald actually is, and the SCHG isn't very helpful in terms of finding art locations.
     
  12. That One Jig

    That One Jig

    aka RichterSnipes Member
    67
    2
    8
    Somewhere in America
    (Not) Working on My PokéHack
    Hey everyone, I've been following this hack for a long time now, and all I can say is wow. This is easily one of the best hacks I've ever played! (Just about) everything I thought felt wrong about the original Sonic 3K has been fixed, and then some! I can never go back to playing the old game now.

    Anyways, I've been messing around alot with Sonic's sprites recently, replacing all of them with his Sonic 1/2/CD style sprites. In doing so, I ran into quite a few annoying quirks about the vanilla S3K sprites that still exist in the current Sonic 3C.

    1) As Gsuki pointed out in the Sonic 2 Heroes topic, the last two of Sonic's transformation sprites have misaligned mappings, making for an awkward looking super/hyper change. This same problem existed in Sonic 2, and, since the transformation sprites aren't that different between the two games to begin with, I guess it was just overlooked.

    [​IMG][​IMG][​IMG]

    2) Sonic still uses his S2 style upwards corkscrew sprites (ex. when you ascend the hollow tree in AIZ1). This was likely either done to save space on the ROM or was just another oversight. Sonic should be using his spring rotating/horizontal corkscrew sprites flipped 90 degrees. Sure, they'll probably take up a bit more space, but I know of ways to alleviate enough space in Sonic's uncompressed sprites to permit all the tiles to fit in the current space given for him.

    [​IMG][​IMG]

    3) Speaking of S2 style, three of Sonic's shimmy sprites in FBZ seem to resemble that style more than the Sonic 3K style. Look at the face!

    [​IMG][​IMG][​IMG]

    4) And as for Sonic's Special Stage sprites...ugh. They're a misaligned mess. More than half of them either have off mappings or are just sloppily put together. The opening screen alone should suffice in making this point:

    [​IMG]

    And to think that even though the character who matters most has screwed up SS sprites, Tails's and Knuckles's sprites in there are all just fine :specialed:

    I was able to fix these problems in my small hack. Well, not the middle two since I was focusing on reverting the style anyways, but I could do those anyways if necessary. I'm all welcome to helping with these kinds of problems in S3K if you'd like! Again, thank you so much for this hack!
     
  13. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    I'll happily take any donated fixes for those - they're all very much uncontroversial bugfixes, and why duplicate the effort? :) Thanks!

    In other news, I believe I've fixed that potential crash at the end of LBZ - there should be an interim release fairly shortly with that in and a few other bits and pieces, including Neo's improved Tails results graphics and Knuckles underwater palettes (save for the shoes, which are part of the level palette rather than a Knuckles patch - so I need to do some more investigation into whether those colours get picked up anywhere else before I change them.) These sprite changes will almost certainly end up waiting for the next major release as I'll want to have them in test builds for some time before a release.

    I'll try to have a look at the Master Emerald palette business for the next release after this interim one, too.
     
  14. That One Jig

    That One Jig

    aka RichterSnipes Member
    67
    2
    8
    Somewhere in America
    (Not) Working on My PokéHack
    Okay, I'll be sure to send you those changes ASAP. I won't be able to tonight, though, because its real late where I am.
     
  15. Sparks

    Sparks

    Member
    3,166
    190
    43
    Sondro Gomez / Kyle & Lucy
    I don't see a problem with the Special Stage sprites. Is it just because it looks like a 90s pre-render (or whatever)?
     
  16. That One Jig

    That One Jig

    aka RichterSnipes Member
    67
    2
    8
    Somewhere in America
    (Not) Working on My PokéHack
    Sonic's special stage sprites are misaligned. Compare the top half of his body to the bottom half and you'll notice. Here's how it looks ingame:

    [​IMG]

    Look at Sonic's lower spines and legs. Really off, aren't they? Here's how he should look like:

    [​IMG]

    Problems like these persist throughout many of Sonic's moving sprites in the special stage. I can see how its easy to overlook, though :)

    Edit: Oh, I also did a few "touch ups" to make the sprite look less bulky. But those are just superficial compared to the alignment issue.
     
  17. Mosqui

    Mosqui

    Member
    32
    0
    6
    I have been playing this recently and I must say I am impressed. I knew that Sonic 3 and Knuckles was supposed to be one game but the extras and fixes to some of the existing code and such from Sonic 3 and Knuckles really cement that as the truth to me.
    I'm just curious as to the goal of this project, though. A few of the main game errors and glitches have been fixed which I am happy about but I was wondering if that was also one of the main objectives of this project? If so, would you be open to other suggestions of things that need to be fixed?
     
  18. Liliam

    Liliam

    Oldbie
    1,563
    117
    43
    Sonic 3's sprites in general are very inconsistent. It's quite clear that some of them were touched up very late in development to have a cleaner look, but not all of them -- in particular the eyes generally vary a lot from pose to pose. Then there's also the fact that for a while the game just used the sprites from Sonic 2, so it's likely that as new interactive objects were added into the game, new poses were added to Sonic's repertoire, some of them never getting updated, like the aforementioned sprites.

    The vertical corkscrew in particular should definitely get fixed, and I tinkered with the "shimmy" sprites to make them blend in better with their peers. I could literally spend all day fixing inconsistencies in Sonic's sprites, so it's pretty hard to figure out where to stop. I don't think I've made particularly offensive changes, though: (new ones at the bottom)

    [​IMG]

    On a completely different note:

    Generally I try to keep my personal issues to a minimum so I don't look like a complete jackweed flooding this topic with metric tons of requests. I try to wait for other people to put forth suggestions before I shove in more of mine. These requirements have been now met, so...

    One of the things that irks me about S3&K is how the HUD has absolutely no integrity and lets its palette get raped by almost everything in the game. There's the notorious Angel Island cock-up with the white shadows, but we've been over that a number of times and there doesn't seem to be any acceptable way to fix it without messing something else up.

    However, bosses in general seem to always screw the palette up. Some do minimal damage like make the shadow a bit more greenish, a bit more purplish, but some are frankly ridiculous. First of all, here's the lives HUD as it should look, for reference:

    [​IMG]

    The yellow text has a bluish-gray drop shadow, the white text has a dark olive drop shadow, and the lives counter in particular has a silver shading near the top and bottom. Let's see how well that holds up.

    This is how it looks fighting the laser boss in LBZ2:

    [​IMG]

    Uh-oh. The bluish shadow turned green and the silver shading is noticeably darker. Moving on to Big Arm, and...

    [​IMG]

    Silver shading is even darker, and the green has turned to pure black.

    [​IMG]

    When the Death Egg starts falling in the background, the olive shadow also turns black and the silver shading gets brighter again.

    [​IMG]

    MHZ2's boss has a bit of fun and makes both the shadow and silver shading blue.

    [​IMG]

    SPZ1's golem prefers more earthy tones.

    [​IMG]

    This is how SSZ looks IN GENERAL. The silver shading is already ridiculously dark, but wait:

    [​IMG]

    Mecha Sonic turns it even DARKER!

    [​IMG]

    And it comes full-circle when the whole place is collapsing, with the silver shading becoming darker than the drop shadow. Good job.

    [​IMG]

    DEZ's bosses don't fare much better, but that's just an appetizer for Doomsday:

    [​IMG]

    Tada!

    Now, I'm sure most of these are impossible to fix. The bosses usurp the palettes and use them for whatever they need. However, would anyone be against at least getting rid of the shading on the lives counter? It is easily the most distracting part. Just flat-shade it white like the other games and call it a day. As it is the number gets to be completely illegible at times.

    Other random thing while we're at it:

    [​IMG]

    [​IMG]

    This tiny sand object seems to disappear when playing the game normally. I think it has something to do with going over the top of the level and wrapping back to the bottom, which is exactly what happens right before this segment, where rising sand pushes you up a vertical shaft and beyond the level's border.

    And finally:

    Wait, what? Am I missing something? Since when do Knuckle's shoes use a different palette line than the rest of his sprite? o_O

    (Profound apologies for the blatant amount of arrogance in this post.)
     
  19. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    They don't - the green is on the player palette line but it's not "Knuckles-specific", I.e. the palette entry is there for every character. That means there's a chance something else, somewhere, makes use of it, and I want to check that possibility out before releasing that change. Also, it's a lot easier to change the underwater reds for a quick patch because they're all loaded in the same place. :)

    The HUD business is indeed dodgy, and presumably this is why the shading that used to be on the top left HUD numbers in the beta screenshots got removed. In most places it's at least relatively inoffensive on the lives icon, and I kind of like it where it does work, but maybe there's a patch option in it. Hey, I've got to leave a few endearing quirks in, or it wouldn't be Sonic 3!

    There is one option I could pursue for the HUD outline. Ever noticed that the outline of the HUD numbers doesn't have the same problem as the letters? I could change all HUD text to use that palette index. The side effect of that is that hitting a boss no longer makes it flash. I think that's a shame since that appears to be by design, but I'd be interested in what others think.

    Love the FBZ hang sprites BTW. I agree, there is nothing controversial in them, they look like a good fit.

    Mosqui: I am indeed happy to take bugfix and indeed suggestions, although I reserve the right to reject or ignore them (and probably get flamed for it later!) Really, the primary goal always was to make Sonic 3 as I wanted it, but I try to be accommodating as time and effort permits - I don't get a lot of time to work on it so if I commit to doing things I'm not that interested in, the whole thing goes even slower due to lack of enthusiasm. Also bear in mind that maintaining patch options is hard work! I mostly try to test pretty thoroughly on the default build, but as we've seen, it's easy for to miss intermittent issues triggered by patches.

    Also, I just released the new version. Here are the few new things:
    • Used Neo's underwater palettes for Knuckles - except for the green sock colour that's not a character-specific swap in.
    • Replaced Tails' results lettering with Neo's improved graphics.
    • Improved "Clear" positioning on the save screen.
    • Patch option to set Sonic 3 credits music as HPZ's act music.
    • Fixed (hopefully) intermittent crash at the end of Launch Base when skipping Big Arm
    • The debug cursor now respects screen locking.
     
  20. Liliam

    Liliam

    Oldbie
    1,563
    117
    43
    Ohhh. I get it. Well, while I can't remember anything other than Knuckles and monitors, I don't blame you for wanting to check it out thoroughly first. Better safe than sorry!

    The thing is, the HUD very explicitly uses a gray shade for the yellow letters, and a yellow shade for the gray (white) letters. I believe this was completely intentional, as it helps balance it all out. Correct me if I'm wrong, but the yellow is only on palette line 1, so if you were to move any of the graphics to another palette line, they would have to lose the yellow.

    Thanks for putting up with me. :P