don't click here

Sonic Generations Hacking (and More!)

Discussion in 'Engineering & Reverse Engineering' started by Andrew75, Jun 23, 2011.

  1. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,231
    968
    93
    Long-term happiness
    Well, I'm no music critic, but I'll try: I think it's missing a level of bass that the original has. For comparison:

    http://www.youtube.com/watch?v=FfG09iLCKsM

    One thing I remember about how this game's soundtrack really pushed the YM2612 to its limits was the echoing bass in most of the game's tracks, and this one is one of the more obvious ones.
     
  2. Retroman

    Retroman

    Member
    733
    2
    18
    Please backup projects on CD if you can/upload online storage/external/internal drives
     
  3. Jason

    Jason

    *Results not lab tested. Member
    Has anyone made a template for the Sandworm badnik (labeled as EnemyNal in Generations code)? I wasn't aware of its non-existance, so I can't add them to a level. I can't even load them up in Planet Wisp in SonicGLvl to see what to do with them. Not even a pink box. Halp.
     
  4. I don't know why you don't have it, but here's the files: http://www.mediafire.com/?2qplkcc3y6mfllk

    Make sure to add these two lines under templatelist.txt under category enemies as well:

    templates\enemies\EnemyNal2D.xml
    templates\enemies\EnemyNal3D.xml
     
  5. Jason

    Jason

    *Results not lab tested. Member
    Thanks, Sky. My template list was standard, so did you have to get those XMLs from somewhere or did you make them yourself?
     
  6. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    JoeTE hasn't swung by and post this so I will in his place:

    http://www.youtube.com/watch?v=PodPGN2hg9A

    Preview of his new version of his Metal Sonic mod.
     
  7. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works
    I've been working on getting the Unleashed Model to work in Generations with its original animations. But when you normally would port those animations usually things would be wrong or just not compatible for the Generations System. But I've decided to go and actually redo some of the animations using the real animation side by side to get things to look as close to the real thing as possible. Unleashed didn't have two mouths for flipping things around. It actually only used one mouth and a animation that would invert the mesh to go over to the other side. Thats why it would look odd on the left side in Unleashed since the bones where getting mirrored over actually.





    Now then when I did port some of the animations from Unleashed they actually had files that fixed some of the issues that I had to manually do since they didn't support the xml files that would correct these animations from Unleashed. As well as me having to do over 100 custom animations for Unleashed Sonic to use the gimmicks and other things that were specific for Generations or something that it had introduced that Unleashed didn't have. I based off the Generations animations as best as I could.

    Before you go asking "Why didn't you just use the Generations animations on Unleashed Sonic then?" Well that would be because of the rigs and their rotations and transforms being different between the two rigs. Then you might ask "Why even do this mod? Why not just rig Unleashed Sonic over the Generations Rig?" The answer to that I want to do a full thorough Character mod, not just a Character Skin Swap. And besides I wanted to do this for the Unleashed Project but didn't have the time back then.

    And for the Unleahsed animations that I did import I had to redo all the mouth animations since importing it got rid of that rotation values for the poses for the mouth bones, eye brows. Since I need to re-animate the Idle animations for the second mouth and same for the Rank animations and other animations that used the mouth in motion. It takes more work but I want to be complete with it.

    There are still many things that need working and debugging. Since no one has actually done a custom character mode without using Generations Sonic's Skeleton for it. I've been finding out what bones it actually uses to offset sonic in places and what does what and what can break the model. Its a pretty huge deal to me when figuring this stuff out incase others may want to try it.

    I found that you need to have the rootbone be Chr_Sonic_HD then leading to the Reference bone afterwards. Sure it can work without the rootbone being Chr_Sonic_HD but if the animations don't have that name you exported Sonic can have some problems in-game. Such as when you move slightly while in walking mode leading to fast walking mode and stop he'll continue in a Running pose animation. I found this out due to Unleashed animations not having that name in the animation. But when I re-exported the animation it fixed the problem just fine. Same thing with grinding as well. he would move off this rail offset off of it. But re-exporting it with the correct bone name would fix this issue.

    I figure I would say this stuff here just in case some people would like to know about it.

    I also learned that Generations hardcoded which mouth appears for the Rank Animations while doing this. I had to redo parts of the rank anims to make the mouth flip during the animation to look correct in the end.
    http://cloud-2.steampowered.com/ugc/902131725145305489/82BDD8F90C91380123E5EB1FE27A19B6A568C363/
    http://cloud.steampowered.com/ugc/903258160795006379/B393AAE0AD15493EBAD6F9FEFD1E7139F80A5DC6/

    Then once when fixing it and having the material to "two-sided" you can used the MouthReference bone and invert it to make the mouth appear on whatever side you would like it to be one without having it mouth's faces looking inverted.

    Oh yeah I also figured out how to get Sonic not to curl into a ball anymore once he hits a dashpad by altering the Sonic.prm.xml there is a parameter for going into the ball for how long and the Velocity you need to be at to go into a ball. It was so simple yet no one actually tried looking. Or maybe nobody cared enough.

    I've been doing plenty of work on this and quite proud of what I've been learning about it since I don't usually post often enough. Just to show that I am still around doing stuff. I hope to release this once I'm done with it all.
     
  8. SF94

    SF94

    Tech Member
    Looks great! It also looks (and sounds) like it took a lot of work. If it ends up in the Unleashed Project or a separate mod, I can't wait to use it one way or the other. I honestly prefer the Unleashed model over the Generations model =P
     
  9. Retroman

    Retroman

    Member
    733
    2
    18
    I'd love to play this combined with the unleashed mod.

    Question: Can anyone make a side-by-side comparison of the Unleashed model and Generations Model and highlight differences?
     
  10. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works
    [​IMG]
    [​IMG]

    Basically its just the rig and aesthetic of the model most of the models polygons are about the same. There are a few differences but it makes a big difference in the end.

    Gens Polygon Count
    Head 5118
    Mouth 977
    Hand 1054
    Hand Cuff 738
    Shoe 870
    Sock Cuff 614
    Body 1982

    Unleashed Polygon Count
    Head 5550
    Mouth 1742
    Hand 2036
    Hand Cuff 738
    Shoe 870
    Sock Cuff 614
    Body 2106

    Just that and the fact that he rigs are handled differently. And the animation style is different from Generations. But Unleashed has a Cutscene model that is higher poly than both of these. I think its still used in a few of the Generations Cutscenes with the morpher animations. Other than that the reason it stands out is the mouth from Unleashed has more depth to it than the Generations mouth does. Its just a choice of preference.
     
  11. Retroman

    Retroman

    Member
    733
    2
    18
    So rig handling/animation style and more polygons. Hmm not bad. Is there a performance affect? Because I think Sonic Team ported their SU model to PC, then optimized it by the head, especially the hand and mouth, which are the biggest optimizations - probably since it's released on pc they want everyone to play a game that runs smoothly on mostly all pc's that aren't exactly xbox 360 specs.'

    The Unleashed model means that mouth animation can be modified?
     
  12. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    That does bring up a good question, will porting this massive polygon eating beast of a model from Unleashed effect performance at all?

    Also whats Colors' Polygon count?
     
  13. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works
    Of course it won't affect the performance, if you can already run Generations at 60FPS currently then you'd have no problem with this. Its around 19k polygons for Unleashed. And its 4902 Polygons for the Colors model.
     
  14. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    Sweet, just making sure.

    I mean like a broken down chart like how you did with Unleashed and Generations' Sonic.
     
  15. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works

    Oh sorry, here.

    Colors Polygon Count
    Head 1580
    Mouth 268
    Hand 448
    Hand Cuff 159
    Shoe 246
    Sock Cuff 152
    Body 620
    Arm 152

    Unleashed Cutscene Polygon Count
    Head 6150
    Mouth 2826 - It has 30 more mouths for the morpher targets each being the same amount of polygons.
    Hand 3128
    Hand Cuff 948
    Shoe 1626
    Sock Cuff 742
    Body 3030
    Arm 630

    Edit : Oh yeah there is this I did for fun. Since I was working on the Unleashed DLC before. http://I.imagebanana.com/img/3dpamdpo/SoftTH_SonicGenerations.exe_2013_08_.jpg http://I.imagebanana.com/img/xpdkhyg5/SoftTH_SonicGenerations.exe_2013_08_.jpg
     
  16. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    Can't wait to see what the Lost World model will look like in Generations.
     
  17. Twilightzoney

    Twilightzoney

    Tech Member
    353
    0
    16
    Elgin, IL And Hampshire
    Unleashed and Generations Stuff and Custom Works
    Another thing I found out is if you are going to do animations Unleashed/Generations have their animations have long frame times. Their running animation for example has 81 frames. While when I did mine it had 41 frames to cope with the frame playback in the engine when playing.

    Until today I found out how that stuff is actually handled. I decided to look at the Generations Running animation in xml format. I saw how many frames it was and saw its duration time. It was twice as long as what mine was. I figured why not edit the timing on that and see what happens?

    What do you know it actually fixed the issue I had with it. And makes sonic not run in place any more due to short frames.

    <hkparam name="type">HK_SPLINE_COMPRESSED_ANIMATION</hkparam>
    <hkparam name="duration">1.333333</hkparam>
    <hkparam name="numberOfTransformTracks">114</hkparam>
    <hkparam name="numberOfFloatTracks">0</hkparam>
    <hkparam name="extractedMotion">null</hkparam>
    <hkparam name="annotationTracks" numelements="114">

    Mine was actually twice that amount. So it would be 2.666666 which made it play half the speed of it.

    Also for note. Do not use Spline Compressed for you animations. Use Wavelet Compression that doesn't kill the game when you switch to Classic Sonic like with Spline Compression. Plus this way it saves plenty of space and animations don't take up so much space.

    Edit: Crashes Classic Sonic upon entering a stage I didn't realize that usually it would just crash as soon as you switched over to classic usually. So its dependent on settings will test to find the correct values.

    I figure this might come in handy for some people. You have to resave the animation to hkx. But at least that lets you have smooth frames and you can control the frame playback as well.
     
  18. I made them myself. I uploaded all of them a while back, but I think the download expired, so here's the reupload: http://www.sendspace.com/file/fhevm6

    I would've used Mediafire, but it's over 200MB due to the massive amount of models. Practically everything uses a model, including all the ObjectPhysics.
     
  19. Lanzer

    Lanzer

    The saber calls for its master... Member
    6,845
    3
    18
    Glendale, AZ
    Living life.
    http://www.youtube.com/watch?v=YqHYGRyYNWA

    You crack me up Dario. you basically made the Generations equivalent of this:
    http://www.youtube.com/watch?v=IA1prR8lvVU
     
  20. Joe T.E.

    Joe T.E.

    All life form data, successfully copied! Member
    142
    0
    0
    At my home in Florida
    Big the Cat in Sonic Generations, High-Res HUD for Sonic Lost World, Metal Sonic Lost World (Version 1.0,) Sonic Generations: Episode Metal (Version 3.0.)
    http://www.youtube.com/watch?v=0MCB6NScf08
    So yeah, here's a second preview of my next Sonic Generations: Episode Metal update.
    All I did this time was play two cutscenes to give everyone a closer look at a few of the model updates I made.

    Of special note is Modern Metal Sonic. I spent some time to actually model out a few minor details on the model (all of which were just painted onto the textures in the original model.) Noticeable examples include his chest and his feet.
    Additionally, I made the Eggman Nega models a bit better, and changed the color scheme of Classic Metal Sonic (to make him match his stock art from Generations.)

    Also, I'm still working on some new animations for Modern Metal Sonic. Since the first preview video, I've changed the run/boost animations, and I recently made him a new idle animation (based on his idle animation from the Mario & Sonic Olympics series.) Here's a preview of it:
    [​IMG]

    P.S. - Thanks for the animation tip TwilightZoney. I've been using the Wavelet Compression as you said, and it really DOES make a difference on the file size. Additionally, the XML data you posted helped me realize that my older animations all had an extra frame attached to the end (which might mess up the timing of certain things.)

    Also, nice job with that run animation fix. I noticed that a lot while I was testing out the rig/mouth fixes I did for you. Now if only I could figure out the cause of those odd extra vertices that keep appearing on your Unleashed Model...