Sonic 3 Cz v2.0

Discussion in 'Engineering & Reverse Engineering' started by Hayate, Oct 30, 2012.

  1. Hayate

    Hayate

    Tech Member
    Latest Info is HERE: http://forums.sonicretro.org/index.php?showtopic=30126&view=findpost&p=737418

    Hey, remember this? :v:

    after releasing the Casual Editions, I was still looking for something to do and figured I might as well go work on Cz some more.

    Two days later and this is the result:

    [​IMG]

    download

    Basically my plan of action was to make the entire game playable as Amy, and now it is.

    If you're wondering why I'd release something that's clearly unfinished, do note, I want to work on more bugfixes and features while anyone who wants to play it in its current state, can. If I waited til everything was done, I'd never release it at all. Actually releasing something motivates me to do more work on it, I guess. Besides, my name's Hayate, since when did Hayate not release things that were ridiculously glitchy messes? :v:

    Full changelog of what I've done in this little hacking spree:

    I must admit I haven't tested the hammer responses for things in SSZ and DEZ, as I kinda just flew through them in hyper mode... so you may need to do the same. But I'm sure everyone on here can collect 7 emeralds :)

    In addition to these changes, there were a ton of changes I made between the previous release and now, which I'd totally forgot even doing. I'll summarize what I can remember:

    Bugs worth drawing attention to:
    Oh, and for those who were wondering what Cz stands for? I've retconned it to stand for nothing. Yes the hack used to be called Customizable, but I don't really care to maintain that as Tiddles has steadily improved his customizable version which is far better. I've been thinking of what else to call it - called it Amy in Sonic 3 for a while because that's the main concept going on here, but then Psi came along with a far more fitting hack for that name once again. So because nobody else would ever have any good reason to use the name "Sonic 3 Cz", let's just use that and stick with it.

    Now after this enormous post, guess I have a wiki page to renovate...!
     
  2. Tiddles

    Tiddles

    Diamond Dust Tech Member
    471
    0
    0
    Leicester, England
    Get in an accident and wake up in 1973
    Nice to see a new version of this again. :)

    The pre-Doomsday bailout may be to do with loc_803D6/loc_8040C, which controls where you go at the end of DEZ3. SaveGame will look after how the save gets stored, but I'm going to assume that's not the bit that's wrong. :)
     
  3. Hayate

    Hayate

    Tech Member
    Oh wow - I knew I recognised 8040C when I read your post - I had been studying the code around there for ages and never noticed the access to $FFFF08 until now... and now it's blindingly obvious - as well as immediately following is code saying, if you're playing as Knuckles, go to the SEGA screen!

    I always thought the game actually crashed if you cleared that act as Knuckles - but this makes it clear that it was a deliberate choice by the original programmers.

    As for the Amy behaviour - it's sending anything that isn't Sonic, Sonic+Tails or Knuckles to the credits - which in the original game would be just Tails alone, but here, it would be all the new combinations as well.

    This has been very insightful, thanks very much :)
     
  4. BadCopNoDonut

    BadCopNoDonut

    O RLY? Oldbie
    785
    0
    0
    Sonic D T
    Awesome. Amy adds something new and interesting to S3K. Glad to see someone breaking into hacking it, as so few hacks of it are out there. I'll be following this one for sure. I don't have much technical feedback unfortunately, as I've always been purely an art hacker.
     
  5. Putmalk

    Putmalk

    Member
    33
    0
    0
    I downloaded this without reading anything really about it. I just saw the picture and thought it would be worth the time.

    Anyway, here is the result:
    http://www.youtube.com/watch?v=aleqGS8RfR4
     
  6. Hayate

    Hayate

    Tech Member
    Hey, thanks! It's always good to have feedback, and a video is a bonus :)

    1. Taking Knuckles' route in AIZ, you CAN get to the boss arena, but you can't complete the zone as the boss doesn't appear yet. This and the respawn issue will obviously be fixed in the future.
    2. It's a shame you didn't get to the top of the bonus stage. Try it!
    3. You were so close in HCZ. You're not supposed to go through the loop, I guess I should put a solid object there so you can't go down even if you somehow gain the momentum like you did. There's another path to take from that checkpoint.
    4. ICZ yes that bit is annoying. I'm not sure what to do about it yet. But at the moment you have to kill the penguin, then get some speed for the swing, and continue as normal. It's fiddly, but doable.

    If you haven't done so yet I wouldn't mind seeing your reactions to 2 and 3 in another video ;)
     
  7. dsrb

    dsrb

    Member
    3,149
    0
    0
    Oh, hey, it's pretty cool to see this showing signs of life again. What are your plans for future development? Can we expect any more fun little surprises like the one you omitted from the ‘full’ changelog? ;)
     
  8. RetroKoH

    RetroKoH

    Member
    1,661
    17
    18
    Project Sonic 8x16
    Great to see this hack back in the making. S3 Customizable was one of the first hacks I played from Retro back in the day.

    I don't really care for the alternative method of accessing special stages, but it's something new and different, which is a plus no matter what.
    That, and seeing a hack with a complete Modern Amy is always great.

    Looking forward to more of this Hayate! AND Welcome Back!!
     
  9. Hayate

    Hayate

    Tech Member
    What's this surprise you mentioned?

    If I omitted a change from the changelog, it means I made that change back in 2010 between the last release and putting the hack on hiatus and then forgot about it.

    All the planned changes that I want to make public will be on the wiki page.

    There are some more things I've been thinking about that I will keep quiet about for a while though ;)

    I put that in for two reasons - one, I thought it was far too easy to get there in the original game, and two, I felt the ability to climb off the top of the bonus stage was a missed opportunity.

    It's more challenging when you have to get a certain number of rings (in this case 80) - plus you have to beat the bonus stage as well.

    Good to see you again too :)
     
  10. Putmalk

    Putmalk

    Member
    33
    0
    0
    Here you go. ;)

    http://www.youtube.com/watch?v=8cBRKlDVi5w
     
  11. E-122-Psi

    E-122-Psi

    Member
    2,131
    328
    63
    Sorry I stole your thunder. :P

    Nice to see signs of life with this again, and you're making some interesting twists on the actual setup here and there.

    Most of the problems with bosses seem to be identical to ones I had with mine. You need extra flags to recognise when to switch to Knuckles' coding. I can try sorting it out, though it's been a while so it may take a while to refind where I edited everything.

    I'm still baffled how you got some of the break coding working, examples such as the Ice cap stuff is lot better done than mine.
     
  12. Hayate

    Hayate

    Tech Member
    Ahaha, don't worry about it, you already had Amy in Sonic 1/2, I feel bad about making you change the name for Sonic 3. :I

    Besides, your Amy is different! :p

    Yep, there will be more to it later on too :)
    The only annoying thing is that every time I look at the wiki page and see "redo Knuckles' ending completely", I wonder what the heck I planned for that, cause I don't remember at all.

    I actually made a couple of handy subroutines. One checks for Tails' presence, one checks which route the player is on independent of character, and two more set whether Amy is on Sonic or Knuckles' route.

    This way, when she selects a route at each of the branching points, it remembers which route you're on, and then it calls the checking subroutine later rather than comparing to FFB038 or FFFF08 directly. So all I need to do is track down where the code is that does the checking, and fix it. However, tracking that code down is sometimes extremely difficult.

    Similarly I made a subroutine to check for collision with Amy's hammer, and hunt down the objects that need to be breakable and call it. I also set $1E and $1F for these objects - which is a height and width normally unused - to the hitbox for colliding with the hammer. That's why many enemies are possible but very difficult to hit, because they have a 0x0 hitbox but because they're standard enemies they do still do the hammer check even without me coding for them specifically.

    Also, did you get my PM?

    Going to watch Putmalk's video now :)
     
  13. Hayate

    Hayate

    Tech Member
    Shame that your first video didn't work. :I

    Some comments though:

    1. It's intentional that Amy can't gain momentum from nothing. This is one of the ways her gameplay is more difficult - you have to build up your speed. Her high jump compensates for most problems this causes.
    2. The entire reason I made the HCZ midboss in the first place is because Amy can't do the normal wall crushing section due to no spindash. So she skips it by taking a different route.
    3. Yes, Amy is supposed to be the hardest character to play as.
    4. There aren't supposed to be many level edits - only what's necessary. I'll just say now that the only level edit so far is the HCZ midboss, so there's no need to keep playing through all the zones if you're just looking for level edits.
    5. Amy's not supposed to jump into a ball - it's another case of loads and loads of objects individually force the player into a ball when they jump out of them, and I have to go through and change them all one by one.
    6. You gave me an idea for the HCZ2 Knuckles cutscene... I'd intended you to be able to take Knuckles' route here, but wasn't sure how to go about it. But now I'm thinking, if you hit him, it should unlock the screen and allow you to progress :)
    7. Didn't know the bubbles in the HCZ2 boss were glitched actually, but I will see to fixing this. The reason is a bit of a long story, but ultimately it's due to adding the new signpost art - it causes problems in the LBZ midboss arena as well.
     
  14. Putmalk

    Putmalk

    Member
    33
    0
    0
    I'll continue to LP it - might as well, seems pretty interesting. Also might help you out.
     
  15. Putmalk

    Putmalk

    Member
    33
    0
    0
    Okay here it is. So many bugs and glitches prevent this from being completed past Marble Garden Zone.

    http://www.youtube.com/watch?v=lKrOSmv-vtI
     
  16. Dark Sonic

    Dark Sonic

    Member
    13,480
    710
    93
    Working on my art!
    You're hacks are always interesting Hayate. They're pretty unique but they're buggy to high hell and back. Also now that you have a good full sprite sheet, seeing it fully implemented would be nice (Still some gaps here and there, and that idle animation isn't right. Might as well change the level select icon for Amy while you're at it to the newer one). There also seem to be some SRAM problems. Since you don't have the life icons anymore, maybe you could use some of that space for Amy's sprites that on occasion take up too much space?

    And why no down B in the air move or hitting a spring with a hammer makes you jump higher like in E-122 psi's version? That was fun.
     
  17. Hayate

    Hayate

    Tech Member
    Aw jeez. xD

    CNZ - you need to jump to get in the wind tunnel, and then it works fine. This is actually a bug in the original game - it's very rare but it DOES happen. With Amy, the bug is a lot more noticable because she is shorter. I will fix this at some point.
    ICZ - yes the pillar is supposed to be breakable, but it should fall when you smash it (like it falls when other characters spindash through it), I haven't been able to find out why this doesn't happen yet. The cork block isn't supposed to be breakable as Amy, but that does create problems - I should probably force you to play the Knuckles route through ICZ as that one doesn't suffer from that issue.
    MHZ - yes she does need a way to break out of that vine... I'm not sure what to do about it though. Maybe jumping and using air hammer attack should free her.

    This is definitely helpful though, seeing where people have problems.

    Perhaps I should put up a video of me playing through the hack and collecting all emeralds just to show how to do it? :p

    They sure are :X but it gets them out there!

    I think I'm actually missing a few still...

    How so? It looks right to me...

    Those are a bitch to edit, so I didn't bother as I was planning to do some more work on the data select at some point so I figured I'd do it then.

    Not sure what you mean by this, I already have enough space to fit all of Amy's sprites in, and the life icons REALLY don't occupy that much space.

    Hitting a spring with a hammer to jump higher is something I want to implement.

    No down B moves because I want to stick with the "all buttons do the same thing" concept that Genesis Sonic games have always used. Also I don't feel it's necessary, learn how to use the air hammer attack accurately! :D
     
  18. Dark Sonic

    Dark Sonic

    Member
    13,480
    710
    93
    Working on my art!
    Oh did I say idle? I meant the balancing animation. That's fucked up (as well as some rotating while running sprites and super transformation, and some other stuff). And that Lp showed a glitch with the hammer attack sprite, like part of it looked fucked up in the top corner of it.
     
  19. Beltway

    Beltway

    Temptive Bongwater, Sealed in Can Member
    1,527
    88
    28
    Sega of Darkest Peru
    college courses / anime trash crusader
    Great to see this back in the making, I think this was (one of) THE first hacks of any of the Genesis titles to have Amy (Classicesque Modern Amy FTW) playable with Sonic, Tails, and Knuckles.
     
  20. dsrb

    dsrb

    Member
    3,149
    0
    0
    What I meant, and can now spoiler since you already have, is the new boss for HCZ. I said that because I'd taken “full changelog” to mean all the changes, which looks silly in retrospect, now that I read your post again. :v:

    Awesome. :D Changes to the architecture of levels don't interest me nearly as much as do new characters, dynamics, and enemies – particularly when they make things a bit more challenging. This is very promising in that regard, especially since it's one of your aims!