don't click here

Sonic Classic Heroes

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

  1. With your permission I want to publicize your hack via My YouTube Channel, flamewing.

    Its so great, IT MUST BE SHARED.
     
  2. Xenowhirl

    Xenowhirl

    Tech Member
    175
    0
    0
    Heh, I thought it was weird that nobody was working on this or had ever thought to try it before. Looks like I was wrong.

    This is well done and actually fun and you're definitely much further along than me (and I started mine 4 days ago, what a coincidence that the start time is so close), but, I have to criticize the palette choice: I can really notice the way it changes the enemies and some other objects, since the blacks turn into dark gray, the (lighter) dark grays get merged with that color too so shading detail is lost, the reds get darker and slightly bluish, and also bright things like everyone's gloves look flatter because of a missing shade of medium gray. And this could be incomplete but isn't Super Knuckles supposed to glow different colors from Super Sonic?

    But you're going in a different direction than me anyway by putting so many things from S3&K like the Sonic 3 sprites; I'm trying to keep it more purely Sonic 2 except for Knuckles as he behaved in S2&K.
     
  3. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,161
    65
    28
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    (edit: moved new stuff to first post)

    Following Aquaslash's suggestion, here is the topic for the hack.

    A description for those new to the topic:
    [​IMG]
    Sonic, Tails and Knuckles are fully functional in Sonic 2, having been backported from S3&K, and can be played at the same time.

    It has the following features already:
    - Powerups are shared between players.
    - Tails can fly, swim and can carry either Sonic or Knuckles.
    - Knuckles can glide and climb.
    - Sonic can use the insta-shield.
    - Lots of physics imported from S3&K.
    - Lots of graphics imported from S3&K, particularly when they could be used to reduce the VRAM footprint.
    - S3&K Shields have been ported, but aren't available yet in the game.
    - Projectiles bounce off of Tails' tails and from Knuckles when gliding, as well as from shields, like in S3&K.
    - Player 1 can swap to the AI-controlled players by pressing 'A'; player 2 can also do this, but he can only swap to the other AI. In all cases, the character must be on-screen and not being controlled by a human player.
    - New HUD, done so as to free VRAM for Knuckles.

    Future plans (as in: I already know about these issues and I will work on them as time allows):
    - Selecting appropriate locations to place the (already fully implemented and functional) S3&K shields.
    - Adding/reusing art so that Tails can carry Sonic and Knuckles at the same time (code already exists).
    - Adding code and adding/reusing art so that Knuckles can carry Sonic and/or Tails while gliding and climbing.
    - Adding code so that Tails and Knuckles can tailgate behind Sonic, especially when super.
    - Fixing special stages so that they work correctly.
    - Fixing Sonic in the Sega screen.
    - New title screen featuring the 3 characters, as well as a pre-title screen mentioning Knuckles.
    - New credits, particularly for Deebs for what little I used of her Amy Rose sprite (which still looks good despite palette mangling...)
    - Fix the options menu, including options to change character order and which members you want on the team.
    - Remove the 2p item in the menu screen, as the 2p mode has been thoroughly removed.
    - Fixing the endings, particularly in the super case.
    - Making all characters available in Sky Chase, <strike>Wing Fortress and Death Egg. An initial step has been done in the latest version</strike>.
    - Support for multitap, so 3 human players can play at the same time. This will happen only after I figure out multitap protocol.
    - <strike>Sonic's AI still does not set an animation when respawning, so he uses whatever he was using when he disappeared.</strike>
    - ROM title needs fixing; I didn't fix it yet because it is minor, unimportant and trivial to fix.
    - Knuckles has issues climbing on surfaces.
    - Editing the demos. This is the second-to-last thing I will do on this list (the last being fixing the ROM title).

    The following bugs from the <strike>previous</strike>first version have been fixed:
    - Instashield during the act clear screen messes up the letters.
    - Dying and respawning breaks it in a whole crazy way.
    - Music doesn't return after getting an Extra Life.
    - Weird crash with Knuckles (hopefully) fixed.
    - Portraits messed-up in Sky Chase, Wing Fortress and Death Egg.
    - Super portraits for Knuckles and Tails were missing.
    - The player mode variable was miss-behaving.
    - Balriky had wrong colors.
    - Knuckles' lower jump height makes his following the other duo a lot more difficult. (AI does not have a lower jump).
    - AI follows player much more closely now.

    Things to look out for:
    - There may be some remaining palette issues. While I did a good job of hunting them down, one or another may have slipped.
    - Badniks you can't interact with. I don't think there are any -- but to minimize lag, I switched to a S3&K-style collision list instead of checking for collisions with every object. This requires me to add code to add them to the list.

    Without further addo, here is <a href="http://www.mediafire.com/file/6nb89a2x9j816i1/s2heroes-v0.02.7z" target="_blank">revision 0.02</a>.
     
  4. I fucking love you!!!

    <strike>Playing this now, will post bugs if I find any</strike>

    EDIT: Nevermind, re-read the entire thing, lol. :v:
     
  5. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,161
    65
    28
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    <!--quoteo(post=525629:date=Nov 3 2010, 02:08 AM:name=Xenowhirl)--><div class='quotetop'>QUOTE (Xenowhirl @ Nov 3 2010, 02:08 AM) <a href="index.php?act=findpost&pid=525629">[​IMG]</a></div><div class='quotemain'><!--quotec-->This is well done and actually fun and you're definitely much further along than me (and I started mine 4 days ago, what a coincidence that the start time is so close), but, I have to criticize the palette choice: I can really notice the way it changes the enemies and some other objects, since the blacks turn into dark gray, the (lighter) dark grays get merged with that color too so shading detail is lost, the reds get darker and slightly bluish, and also bright things like everyone's gloves look flatter because of a missing shade of medium gray. And this could be incomplete but isn't Super Knuckles supposed to glow different colors from Super Sonic?<!--QuoteEnd--></div><!--QuoteEEnd-->
    You have a nice eye for detail. I went through the route of cramming the 3 characters in the same palette line; using the S3&K Sonic (which has one less shade of blue) allowed me to add one shade of pink for Knuckles and removing one of the grays allowed me to add the green for his socks. I then swapped the reds for the Knuckles colors, so that Sonic's and Tails' shoes aren't exactly red. The palette reuse everywhere from S2 made title cards, Robotnik and several badniks mis-colored, with the grays being merged being probably more noticeable -- although the changed reds is also noticeable, particularly in Robotnik.

    As for the super forms: all characters use the same palette cycle, and the same colors when super; the way I did things left me few other choices. Tails can probably flash with his correct super colors; but Knuckles would cause the other character's shoes (and his own) to glow as well.

    Edit: Changing the darkest gray to black and darkening the middle gray makes an enormous difference. So much so that I will be using it from now on.

    Unrelated: to any mods/admins out there, could you move the posts related to my hack to the thread I created?
     
  6. Namo

    Namo

    take a screenshot of your heart Member
    2,912
    0
    0
    [​IMG]

    Oh my God what is that!? Well at least for those of you wondering what the palette is... there you go. :specialed:

    But anyway, this is impressive. I was wondering how you managed to squeeze Knuckles in there. Does he seriously take up as much VRAM as the bits you removed from the HUD?

    I'll never understand these things.

    Also, encountered a bug that's not on the list yet.
    -The Speed Shoes slow down the music.

    AND The music did return after I got an extra life, though I got it via collectiong 100 rings. Would that make a difference?
     
  7. WOOHOO! You officially rule the universe and all that is holy. :)
     
  8. Wow, this is a cool idea. So it's P1, P2, and CPU? Or can you do P1 and two CPUs?

    <!--quoteo(post=525649:date=Nov 3 2010, 12:46 AM:name=Namo)--><div class='quotetop'>QUOTE (Namo @ Nov 3 2010, 12:46 AM) <a href="index.php?act=findpost&pid=525649">[​IMG]</a></div><div class='quotemain'><!--quotec-->Oh my God what is that!?<!--QuoteEnd--></div><!--QuoteEEnd-->

    Wild MISSINGNO.
    appeared!
     
  9. MathUser

    MathUser

    3rd top wiki contributor Researcher
    2,133
    5
    18
    Post a video of this if you can. It looks awesome.
     
  10. Hez

    Hez

    Oldbie
    this is titties. DO MOAR
     
  11. Namo

    Namo

    take a screenshot of your heart Member
    2,912
    0
    0
    Oh no.
    [​IMG]

    I died on the Chemical Plant boss (It's been years, my skills are rusty), and when I came back, I couldn't go on that loop - the left side's collision must have gone wonky. It may have been caused by Knuckles, because I switched to him before trying to run up the loop.

    Doesn't appear to be in the bug list.
    -Collision errors?

    EDIT: Sonic and Knuckles couldn't seem to go through the loop, but I switched to Tails and he did it fine after I flew around and collided with some stuff, albeit with some layering issues - he went behind the loop instead of in front of it, Layer wise.

    EDITKING: Strangely, the Speed Shoes don't seem to slow the music down in Aquatic Ruin zone.
    EDIT AGAEN: The Pinball flippers and launchers don't seem to work unless everyone is present. Wait, never mind - sometimes they just don't work. :(
     
  12. kazade

    kazade

    Member
    64
    0
    0
    A 2D Physics Engine
    This is the most fun/awesome hack I've played in a while! I'll see if I can record and upload a video of the gameplay at lunch.

    Amazing! Nice work!
     
  13. NeKit

    NeKit

    Member
    57
    0
    0
    Russia
    Sonic SCANF
    The hack freezes in Regen at Emerald Hill Act 1 title card. :(
     
  14. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,161
    65
    28
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    <!--quoteo(post=525658:date=Nov 3 2010, 03:09 AM:name=Namo)--><div class='quotetop'>QUOTE (Namo @ Nov 3 2010, 03:09 AM) <a href="index.php?act=findpost&pid=525658">[​IMG]</a></div><div class='quotemain'><!--quotec-->I died on the Chemical Plant boss (It's been years, my skills are rusty), and when I came back, I couldn't go on that loop - the left side's collision must have gone wonky. It may have been caused by Knuckles, because I switched to him before trying to run up the loop.

    Doesn't appear to be in the bug list.
    -Collision errors?<!--QuoteEnd--></div><!--QuoteEEnd-->
    Out of curiosity: were you playing as Tails when you crossed the checkpoint?

    <!--quoteo(post=525658:date=Nov 3 2010, 03:09 AM:name=Namo)--><div class='quotetop'>QUOTE (Namo @ Nov 3 2010, 03:09 AM) <a href="index.php?act=findpost&pid=525658">[​IMG]</a></div><div class='quotemain'><!--quotec-->EDITKING: Strangely, the Speed Shoes don't seem to slow the music down in Aquatic Ruin zone.<!--QuoteEnd--></div><!--QuoteEEnd-->
    Uff, I finally found what was causing this: the fact that I removed the 2p music. Strangely, I only had to add dummy music IDs for them to the list and it started working again.

    <!--quoteo(post=525658:date=Nov 3 2010, 03:09 AM:name=Namo)--><div class='quotetop'>QUOTE (Namo @ Nov 3 2010, 03:09 AM) <a href="index.php?act=findpost&pid=525658">[​IMG]</a></div><div class='quotemain'><!--quotec-->EDIT AGAEN: The Pinball flippers and launchers don't seem to work unless everyone is present. Wait, never mind - sometimes they just don't work. :(<!--QuoteEnd--></div><!--QuoteEEnd-->
    Thanks for the report. I found out what was causing it and fixed a slew of similar problems waiting to happen.

    I will release a new revision after fixing the layer bug and get Tails and Knuckles working on Sky Chase and Wing Fortress.

    Edit:
    <!--quoteo(post=525707:date=Nov 3 2010, 08:00 AM:name=NeKit)--><div class='quotetop'>QUOTE (NeKit @ Nov 3 2010, 08:00 AM) <a href="index.php?act=findpost&pid=525707">[​IMG]</a></div><div class='quotemain'><!--quotec-->The hack freezes in Regen at Emerald Hill Act 1 title card. :(<!--QuoteEnd--></div><!--QuoteEEnd-->
    I will investigate, but it is probably due to some missing 'even' directive somewhere. I have been diligent in adding them, but may have missed a few spots...
     
  15. kazade

    kazade

    Member
    64
    0
    0
    A 2D Physics Engine
    YouTube video:

    <!--id1--><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/qDrIoZ2Iowg&"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/qDrIoZ2Iowg&" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object><!--id2-->

    I've never uploaded a video to YouTube before so hopefully I've done it right :p

    EDIT: Btw you can see the reported collision bug at 1:08
     
  16. The Shad

    The Shad

    ↑ & ↓ & ↻ Oldbie
    3,073
    8
    18
    I'm eating this up. The novelty of it is amazing.

    Something I noticed, Knuckles edge animation starts normally but then he uses his looking up animation. Nothing major, but figured I'd point it out.

    Keep it up, man. This is great.

    Edit: Other things I noticed:
    - No count down while under water. I've been underwater with no shield for about.. 2 minutes now. Not had one bubble. I'm wondering if Knuckles or Tails has a shield and that's playing into it, but that brings me to the other thing
    - The AI characters don't return to you underwater. I had this problem in both Chemical Plant and now Aquatic Ruins.
    - In Casino Night, I'm getting nothing but Triple Robotniks in the slots. Well, once I got a jackpot and 2 robotniks, but still.
     
  17. Spanner

    Spanner

    The Tool Member
    3,350
    157
    43
    United Kingdom
    Sonic Hacking Contest
    It's funny in a way how when somebody was working on one hack, another person fires back with a similar modification. I'm enjoying this hack and even though there are bugs to be fixed, it's awesome how you managed to get enough VRAM space to cater for all three characters.

    Interesting how you managed to learn a lot from hacking Sonic 2 in a matter of weeks, most people take months, even years to get to a standard like this. I'll be watching this hack and any other projects you work on in the future.
     
  18. 87th

    87th

    FOX HOUNDER Member
    I'm having fun attempting to keep Knuckles following me while avoiding Tails.
     
  19. SonarDragon

    SonarDragon

    Member
    223
    0
    0
    I don't think Sonic and Knuckles are meant to hump the air when being carried by Tails... Try slowing down the 'hanging' animations.

    Edit: Hilarious, Knuckles hit a speed shoe monitor while Sonic was active, and it slowed the music down to half, but the speed was upped anyway. I kinda like that, you're going to fast so the music feels slow. Okay, that's stupid.
     
  20. Streak

    Streak

    Member
    I'm having alot of fun with this!
    There's an issue with the Mystic Cave vines, though. Sometimes you can't jump off, for whatever reason.
    Anyway, I need to kill about 8 minutes until the time runs out and I can move again. :)