I DECOMPILED a Sonic game... here's how

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 1,2 тис.

  • @FairPlay137
    @FairPlay137 2 роки тому +417

    Sonic Runners Revival dev here: We actually found a whole lot more interesting stuff in both the code and in the game assets. Early/unused animations, placeholder game over and continue screens, and code for a menu which doesn't even appear in the game's assets at all (reactivating it would require us to remake its UI from scratch) and also didn't appear in any version that was released publicly.
    Not to mention unused stages and events such as the Sonic '06 roulette event, the Silent Forest stage, and the unfinished and incomplete Zomom Raid Battle event (my guess is that it was set to run in 2016 before the game was deemed a failure).
    There's more that we found too, but this comment would get way too long if I mentioned everything.

  • @FoxtailBoyd1991
    @FoxtailBoyd1991 2 роки тому +443

    As someone who makes content in Unity the two biggest things that happen to me are "why isn't this working?" And "why did that work?" It's really just how unity is. In one project baking lighting works and another project it doesn't. It's just how it is.

    • @valletas
      @valletas Рік тому +27

      Not just unity as a godot dev this is also the case lots of times
      I think thats just programing in general

    • @rootabeta9015
      @rootabeta9015 Рік тому +17

      As not a game dev, but a programmer, this is universal

    • @fallingwater
      @fallingwater Рік тому +18

      As a kid you're told that in the digital world the same input through the same machine will always result in the same output, and the simple beauty of that compared to the irrational mess of human interactions is what draws you to IT and technology as a whole. Then you figure out that the code that makes those beautiful machines work is still written by the same irrational humans, so anything and everything only works by sheer luck, the same machine can give a wildly different range of outputs for the same input depending on a wide number of factors including the phase of the moon, and we can't ever have nice things.

    • @valletas
      @valletas Рік тому +6

      @@fallingwater even if you do write a perfect code the sun could always change one important bit with radiation and break your code entirely

    • @lautarogonzalez6066
      @lautarogonzalez6066 Рік тому +2

      Skill issue moment

  • @Charriii5
    @Charriii5 2 роки тому +582

    This is fantastic, and thank you for what you've done! I'm currently undergoing the challenge of playing as many Sonic games as there are avaliable and without your work, Sonic Runners would've been impossible for me to reexperience and it was a great time. You and The Revival Team are amazing game preservationists.

    • @Sanichotdog887
      @Sanichotdog887 2 роки тому +7

      you know what they say
      all toaster's toast toast

    • @_SYDGAMING_
      @_SYDGAMING_ 2 роки тому +4

      Glad you will finally be able to have a chance to play runners. It was a fantastic little game

    • @FanaticChain
      @FanaticChain Рік тому +4

      Bro you can’t escape charriii5 the man is literally omnipresent what the hell

  • @stripethetiger
    @stripethetiger 2 роки тому +3681

    Game preservation is by far going to be the hardest kind of history preservation that we will have to deal with. Thank you for playing your part in the pursuit!

    • @slimeprivilege
      @slimeprivilege 2 роки тому +125

      PLEASE GO OUTSIDE HOLY FUCK

    • @Sydney_Angelyt
      @Sydney_Angelyt 2 роки тому +379

      @@slimeprivilege stop shaming art preservation

    • @weggygaygay9940
      @weggygaygay9940 2 роки тому +26

      @@Sydney_Angelyt video games aren’t art

    • @superizillian957
      @superizillian957 2 роки тому +298

      @@slimeprivilege Most people who say this are hypocrites

    • @Solaceon
      @Solaceon 2 роки тому +216

      @@weggygaygay9940 What would you argue is? I'm just curious.

  • @MuchWhittering
    @MuchWhittering 2 роки тому +2063

    All these game decompilations are great. I 100%ed the Jak and Daxter PC port that came out recently and it's now, without a doubt, the best version of the game, no competition. The Super Mario 64 and Ocarina of Time ports seem equally good from what I've seen. I really hope thie continues to be a trend, of fans rescuing games from dead platforms and giving them the proper treatment that modern hardware can provide.

    • @NickGoblin
      @NickGoblin 2 роки тому +53

      I was keeping up with the development of that one and now that it's playable I've been absolutely loving it. I even imported my saves from my ps2 memory card, it just worked. Also got it on my Steam Deck. 100% better than ps2 emulation.

    • @bfgfanatic1747
      @bfgfanatic1747 2 роки тому +49

      We're decomping PS2 games now? How long will I need to wait for the Burnout 3 decomp?

    • @WaveSmash
      @WaveSmash 2 роки тому +42

      Ship of Harkinian, the OOT PC port is easily the best way to play OOT that will ever exist. As a lifelong fan of OOT, it gives you levels of control and customization I could have never imagined, and it feels SOOO good. It has less input delay than actual hardware and runs at whatever FPS you like. Imo, it is the only way to play the game ever again. The older versions might as well not exist.

    • @FR4M3Sharma
      @FR4M3Sharma 2 роки тому +10

      @@bfgfanatic1747 I'm working on Urban Reign, if you're interested in that game, tho I literally just began last month. :)

    • @wasabithumbs6294
      @wasabithumbs6294 2 роки тому +6

      WHAAT? J&D is very special to me, incredible that someone ported it before I got skilled enough to

  • @cousinjohnny6584
    @cousinjohnny6584 2 роки тому +166

    From all the people I knew would help tinker with Sonic Runners Revival, I definitively wasn't expecting you, but I'm glad you did, because you've always done an amazing job preserving games you liked, and having you on board really was a great sign.
    The community always cherishes their decompilers, and hopefully you can see all the praise you deserve because honestly, this seemed like a really tough job, so yeah, thanks a lot Matt.

  • @extremistcontentfan1236
    @extremistcontentfan1236 2 роки тому +197

    One of the first thoughts I had before I clicked this was "didn't I just watch this same guy recompile some peculiar North Korean driving sim flash game a week or so ago?"

    • @Delus1on_L
      @Delus1on_L 2 роки тому +18

      😂 I guess if he posts something about a game, it’s going to have some sort of decompiling in it. LEGO Island, Super Mario 64, Korean game, Sonic Runners………

    • @gluttonousmaximus9048
      @gluttonousmaximus9048 2 роки тому +7

      @@Delus1on_L MINESWEEPER

    • @Delus1on_L
      @Delus1on_L 2 роки тому +3

      @@gluttonousmaximus9048 Oh yea… forgot about that one…

  • @chadmasta5
    @chadmasta5 2 роки тому +145

    I'd love this treatment for Dr. Mario World. I actually really liked it and had put a lot of time into it and was sad when they shut it down. Mobile games tend to get lambasted by the gaming community but they're still video games just as much anything on a console or PC.

    • @ApostleOfCats
      @ApostleOfCats 2 роки тому +8

      I feel like mobile games can’t even be compared to normal games, they just fill a different role.

    • @chadmasta5
      @chadmasta5 2 роки тому +21

      @@ApostleOfCats personally I disagree. People look at all of the free to play ones and assume all of them are like that. It ignores the fact that that model exists on every platform but is more common on mobile given the lower cost of development and objectively larger audience. There are billions of phones that can run pretty much any mobile games compared to the much lower number of consoles and gaming capable PCs. There are still many different mobile games across several different genres that have stories, music, gameplay, and graphics thst match their console and PC counterparts. It's just that the majority of them focus on simpler concepts like puzzles and idle games because the majority of phone owners don't usually play video games. That doesn't mean that those aren't video games though.

    • @partlyawesome
      @partlyawesome 2 роки тому +4

      any mention of dr mario world reminds me of the greentext about that coworker who was obsessed with it lmao

    • @LevskiBADBOY
      @LevskiBADBOY 2 роки тому

      @@ApostleOfCats console peasant belike:

    • @ApostleOfCats
      @ApostleOfCats 2 роки тому +1

      @@chadmasta5 never said they weren’t video games

  • @CEOHankScorpio
    @CEOHankScorpio Рік тому +22

    A guess on the lightmap settings: Because Unity tries to automate the lightbaking process the lightmap settings may also contain a representation of where in the directory the appropriate light maps should live. The idea being a user can press "bake" and everything gets assigned to the right object even though your lightmaps may live in some random project folder that artists never look at. And it likely wouldn't be some simple directory name, it would likely be a unique string referring to each individual image uniquely. Clearing the settings may have simply cleared this and allowed you to overwrite it, something that if you were to hit "bake" during normal development would also happen.
    Can't prove it of course, and a lot of those assumptions are based on later Unity builds (2016+). But overall I suspect it's a by-product of the engine trying to make lightmap baking "hands off" in terms of assigning lightmaps to objects.

  • @flamela-c4f
    @flamela-c4f 2 роки тому +355

    It's really cool that the video is also made to shout out a Sonic fan project. I love the "it just works" you mentioned about Unity too, classic with big proprietary software lmao

  • @targz__
    @targz__ 2 роки тому +61

    Nice video! That thumbnail and title combo really undersell it though, I hopped on thinking you had only ripped models from a game, but you RE'd and ported a game to pc, that's super impressive!

  • @goukigod
    @goukigod 2 роки тому +104

    Your ability to communicate how game dev, and coding in general works, is incredible. Normally in these sorts of presentations I’m asleep five minutes in 👏 👏 👏

    • @turbospeed6562
      @turbospeed6562 2 роки тому

      So true

    • @d1zguy864
      @d1zguy864 7 місяців тому

      Because he really knows what he’s talking about

  • @jishan6992
    @jishan6992 2 роки тому +67

    Love when this sort of videos are released, I really liked that fixing the corrupted game save saga

  • @TechnologistAtWork
    @TechnologistAtWork 2 роки тому +26

    This guy keeps saying he has no idea what he's doing then just casually goes learning how to decompile things in a few days then gets the job done like a pro.
    You're awesome man.

    • @nikkiofthevalley
      @nikkiofthevalley 2 роки тому +2

      He already had experience in related parts of the same field, he isn't starting from scratch here.

    • @condensedmatter118
      @condensedmatter118 2 роки тому

      @@nikkiofthevalley What experience does he actually have? Was he previously a software engineer or something? Seems like he is all self taught, which is seriously impressive!

    • @nikkiofthevalley
      @nikkiofthevalley 2 роки тому +5

      @@condensedmatter118 Yeah, it's still impressive, but it isn't true that he learned all of this in a few days, that just isn't possible.
      I would agree that he seems self taught, what I meant by "experience in related parts of the same field" was that he already knew related things in the same general field.

    • @d1zguy864
      @d1zguy864 7 місяців тому

      He’s so smart. Gotta have an IQ of 130 at least

    • @d1zguy864
      @d1zguy864 7 місяців тому

      He’s so smart. Gotta have an IQ of 130 at least

  • @Celeviii
    @Celeviii 2 роки тому +313

    I was kinda hoping that he de compiled sonic 06. However I played this game so much years ago and was very sad when the servers went down. Glad to see that there was a revival for it!

    • @bfgfanatic1747
      @bfgfanatic1747 2 роки тому +65

      It's not exactly a decompilation but you should check out Project 06. It's a full remake of Sonic '06 in Unity and fixes up a lot of the bugs in the original while running at a silky smooth 60 frames. It's not done yet, but they have both Sonic's and Shadow's routes complete and are working on Silver.

    • @awesomesheep
      @awesomesheep 2 роки тому +14

      You should check out project 06 by chaosx

    • @leonardoalvarenga7572
      @leonardoalvarenga7572 2 роки тому

      Project 06 is garbage and is made by a scummy dev, don't check it out and don't support it.

    • @vincere_
      @vincere_ 2 роки тому +6

      What were you hoping to get out of a decompiled sonic 2006? Ripping the models or HUD assets or what? Because it's entirely possible for you to do it yourself, the game's in LUA.

    • @Celeviii
      @Celeviii 2 роки тому

      @@bfgfanatic1747 I was aware of the project, but last I heard it wasn't that far a long so fair enough

  • @dumbtruccc
    @dumbtruccc 7 місяців тому +5

    one of your best videos IMO; software preservation is a hugely important branch of history that unfortunately doesn’t often get pursued by the proprietors of the software itself.
    in a few decades time, we will no doubt be all the happier for having kept record of this kind of thing, just as we are with artworks that we’ve restored and preserved

  • @dukemagus
    @dukemagus 2 роки тому +11

    If you want to have a go at a slightly bigger project, Sonic Colors Ultimate was built using Godot, and all of its packaging formats are thoroughly documented (open source engine and all that). You can decompile most of the assets and everything written in GDScript and C#

  • @ZachHixsonTutorials
    @ZachHixsonTutorials 2 роки тому +9

    Honestly, decomps for game preservation are the coolest thing to me. I've been following the Metaforce project (Metroid Prime decomp) for a while and they've blown me away with what fans are able to achieve.

  • @DPedroBoh
    @DPedroBoh 2 роки тому +7

    I've been trying to translate the game Hylics 2 for years now but i never found the correct tools to do it. Now thanks to this video i almost immediatelly managed to extract and find the text strings i need to translate. Now i still need to learn to but everything back together with the translation but still thanks so much. Oh, this preservation projects are so awesome and important for history and fans, thank you again.

  • @spudd86
    @spudd86 2 роки тому +3

    Fun fact sort of decompiling was how Sonic 3D Blast was ported to the Saturn. They made a tool that took the hand written assembly for the Genesis and spat out equivalent C code and ran it on all the game logic, then wrote new code for the graphics, sound and controller.

  • @willpreston6881
    @willpreston6881 2 роки тому +11

    I've been using Unity professionally (and independently) for a little over a decade -- stale lightmaps are a thing that even happens to Unity games that *aren't* filtered through months of reverse engineering. A number of things can result in flat lighting, the absence of shadows, and the non-shader-related visual artifacts your team was seeing. Standard troubleshooting procedure that I used back in the day was to actually back up and then delete the lighting data (make sure you're using text asset serialization!) and then recreate the lightmaps with shadows disabled but environment/indirect light data enabled. If the result looked closer to your intent, you can be relatively certain that your old lighting data was stale, mangled by version control, or something else, and you could either rebake lighting data, or start diagnosing how it happened in the first place.
    Glad to see it worked out for you in the end!

  • @SuperXzm
    @SuperXzm 6 місяців тому +18

    Normal developers: Aw shit I need to upgrade everything...
    Evil developers: I have an urge to downgrade. Igor, bring the parser.

    • @scarm_rune
      @scarm_rune 6 місяців тому +5

      funnily enough, gamemaker's compiler is called igor

  • @justsomesimplenuclearbirbs4313
    @justsomesimplenuclearbirbs4313 2 роки тому +4

    I still find it funny that the easiest way to fix the lighting problem that was happening was to basically yeet it into the trash.
    Like I can just imagine the conversation about the lighting problem being something like.
    "Well I fixed the lighting issue."
    "That's great! How did you do it?"
    "I just cleared the script that told the lighting what to do."
    ... "What."

  • @Flargenyargen
    @Flargenyargen 2 роки тому +19

    Seeing reverse engineering like this is so satisfying. I'm part of a small community trying to reverse engineer an old MMO and boy... it's such a process, I'll never truly understand. Great work all around.

  • @moleyface
    @moleyface 2 роки тому +11

    This is AMAZING! I clearly remember watching PatMac's documentary and, even though I'd never played this game in my life, being a little sad that it was no longer accessible and that any attempts to revive it were just a soulless remake, even in this day and age where fan revivals are so common.
    Glad to see it got the right treatment after all this time.

  • @ozanege3893
    @ozanege3893 Місяць тому +4

    0:18 Did I just see Sonic Unleashed between thoose games?

  • @sentinelaenow4576
    @sentinelaenow4576 2 роки тому +24

    Absolutely magnificent. This is super hero kind of stuff, using highly sophisticated knowledge superpowers and love to save the day for many people. Please continue to save our world, we need you. Many thanks!

  • @notanimposter
    @notanimposter 2 роки тому +5

    Having tried my hand turning compiled mobile Unity games back into projects before, I have nothing but respect for anyone who makes it work. Great job!

  • @TroboTicTac
    @TroboTicTac 4 місяці тому +5

    Bro did not slip in Rush Adventure, Unleashed and Heroes in with Sonic Boom💀💀
    0:19
    I'm already done

    • @metaforth
      @metaforth 3 місяці тому +1

      I doubt he put to much thought into each individual game in that graphic

  • @atarijaguarfan7893
    @atarijaguarfan7893 2 роки тому +11

    i noticed the fact that a lot of this footage runs on a pc and i am wondering if the srr team can make full on pc builds of sonic runners unless something is preventing that

  • @digitalunity
    @digitalunity Рік тому +7

    I think the opening of this video might be missing a critical fault of the sonic cycle. Sonic fans, myself included though i'll never admit to it, are interested in the next sonic game because we have this sliver of hope left that maybe, just maybe, this one will be different. It never is, and we know in our heads it never will be, but then you get games like frontiers that show even a small degree of basic competence and you start to think "Oh man, the last 24 years of my 24 year old life are finally about to pay off"

  • @izhundrikov
    @izhundrikov Рік тому +2

    At 12:55 is literally all I can hear, when I see a .json file. So glad you put that clip in the video lol

  • @unfa00
    @unfa00 2 роки тому +6

    That was an insane deep dive into decompiling a game. It's crazy!

  • @Jay0neDE
    @Jay0neDE 2 роки тому +2

    damn those are some insane skills. digging deep into the engine, not only that, but bringing back deprecated stuff from the grave and bringing it back up to speed.. much respect

  • @kwsths499
    @kwsths499 2 роки тому +63

    Hmm, I remember trying to decompile apps and games, ranging from android apps to Wii games, I was fascinated with how companies make their own coding system or use an existing one. Now, you can't do basically anything because of digital form games and piracy protection, it's amazing how coding and modeling have developed ey?

    • @nikkiofthevalley
      @nikkiofthevalley 2 роки тому +12

      You can actually still decompile or reverse most games, it has to be executed _somehow._

    • @TheRailroad99
      @TheRailroad99 2 роки тому +11

      The piracy scene is rather efficient at removing DRM protection.
      However sometimes (especially for Denuvo i think) they just bypass it, which of cause keeps the memory encrypted.

  • @Pokeduel
    @Pokeduel 2 роки тому +5

    i love seeing how this was done, well made. One thing i would say is maybe you could have used AssetRipper instead of uTinyRipper, i believe they both do similar things but Asset Ripper has support for 3.0.0 to 2022.x, so maybe that could have helped in the decompilation process. Especially since uTinyRipper is no longer developed

  • @jlewis4441
    @jlewis4441 2 роки тому +2

    I had no idea there were ways to still play this game, and then you come along and help kickstart an entire revival! I remember being genuinely sad when I first learned Sonic Runners was taken down years ago, I loved this game when I was younger. I'll definitely be checking out the revival later, sincerest thanks for your amazing contributions and video!

  • @speedy
    @speedy 2 роки тому +25

    awesome vid! I always learn so much from your uploads. Always caught off guard when you swear though, not because it bothers me but because I never expect it from your soothing voice and narration 😆

  • @itspaperbagkid
    @itspaperbagkid 2 роки тому +5

    Oh man, decompiling games.. I tried to decompile Epic Mickey 1 and 2 and it was.. something else. I was able to rip the games from their discs but I can't code for the life of me. So I was able to have my dad (who's a software engineer) decompile it for the most part. The only problem was that all the files were in the .NIF file format. Me and my dad tried to do as much research as we could on them, but we just couldn't figure it out. Unlucky for me, my dad doesn't know C++, and he wasn't willing to learn it (and generally I have a grasp for reading code, and I can understand it, but I can't write it). So I've been at the point for like four months now possibly being the only person attempting this with the Epic Mickey games and I have no idea what do, lol.
    The .NIF file format wasn't too uncommon for bigger games around that time -- like for games like Skyrim and the Fallout series -- however Epic Mickey was never specifically documented. Also the reason I went through all this effort? To rip the maps for a single animation I wanted to work on. I still wish to work on it, but because of the game taking place on the Wii, I would probably overwork my Wii trying to run the game and animate at the same time. And it was very unlikely I could emulate the game while animating (though technically speaking I could) because that would probably destroy my pc. I wanted to rip the maps so I could set up complicated camera shots and know placements and whatnot (when it comes to those 3D enviournments, I generally have a good visualisation, but for what I was trying to set up it was too much).
    Anyways, that's sort of where I'm at. I'd love to archive these for game preservation as well, though I don't know where to go from here. Does anyone have any advice?

    • @rafaelhines1178
      @rafaelhines1178 7 місяців тому

      I'd recommend that you try to see how different the epic mickey .nif files are from other documented ones, then see what happens from there

  • @doktoralbin
    @doktoralbin 2 роки тому +10

    By far the best intro to game reverse engineering I've seen. Next time someone asks me "How can I bring this old game back to life", I'll point them to this video for an idea of what that entails. Thanks for making this, Matt!

  • @Player03Knux
    @Player03Knux 4 місяці тому +4

    Do a decompillation of sonic dream team

    • @ReubensStuff
      @ReubensStuff 4 місяці тому +1

      dream team is compiled with il2cpp instead of mono which runners used so its basically impossible

  • @WarDoctor42
    @WarDoctor42 2 роки тому +3

    there are so many mobile games that are now just completely lost to time, its nice to see one that wont suffer the same fate

  • @Saxdude26
    @Saxdude26 2 роки тому +1

    1:27 Was that ad that popped up in Sonic Runners for "The You Testsment" by fricking MDickie?! W... W-W-WHAAAT?!

  • @starlightbotanist-youtube
    @starlightbotanist-youtube 2 роки тому +4

    I am sure the difficulty would be so high, but I would love to see Dr. Mario World get this treatment. It's such a good game, but the servers are offline so it can't be played.

  • @lod4246
    @lod4246 2 роки тому +2

    5:00 Using cake as an analogy here is pretty clever, ngl..

  • @SpringDavid
    @SpringDavid Рік тому +6

    19:14 this is the most programmer moment one can have.

    • @Mizu2023
      @Mizu2023 Рік тому +2

      Trying to figure out why something doesn't work as you wanted, and then you get bored and then try random things and then one of those random things actually caused the thing to work like the way you wanted it to. Truly a programmer moment.

  • @Plaston_
    @Plaston_ Рік тому

    Extracting games is a nice way to learn how their are made because you can see unused assets with referance to thems (even deleted ones) and even the project's code and project's name in it!

  • @rob5300
    @rob5300 2 роки тому +4

    Great video. It's worth noting that even unitys il2cpp code can be somewhat decompiled by community tools.

  • @greninjasn
    @greninjasn 2 роки тому

    From the bottom of my heart, thank you and the rest of the revival team.
    I remember playing this when I was younger, and when it shut down, I was devastated. Since I was young, and had no access to consoles at the time, runners was one of the few ways I could play a Sonic game. Eventually, though, I forgot about the game.
    Then, maybe about 2 years ago, there was an online resurgence of runners. I'll assume this is what made SRR. When I found out about this, I installed it in a heartbeat. As I was playing it, nostalgia hit me like a truck. It was such a great feeling to replay my childhood.
    Without the hard work of you and the rest of the team, something I hold dear to my heart would be lost forever. So, again, thank you.

  • @V0idedOut-E33
    @V0idedOut-E33 7 місяців тому +10

    if I crush up and snort enough copies of sonic unleashed I might be able to excrete a decomp through the pores in my sweat

    • @ImpeccableExplanation
      @ImpeccableExplanation 4 місяці тому

      Most normal Sonic comment

    • @V0idedOut-E33
      @V0idedOut-E33 4 місяці тому

      @@ImpeccableExplanation to be fair to me the bar is at Ken Penders.

  • @RadikAlice
    @RadikAlice 2 роки тому

    This is _peak_ Sonic community right here. Glad you joined in, that's the beauty of open source isn't it?
    And ayy, I was was thinking of the PatMac video too. Hats off to you for being such a cultured man

  • @theskullemoji
    @theskullemoji 2 роки тому +136

    If *MattKC* uploads, you _know_ it's going to be a good day!

  • @BotSpider
    @BotSpider 5 місяців тому

    I remember being freinds with one of the people on the team and him showing me some of the progress. Its on his Gamejolt account. We dont talk no more but i am VERY proud of him and the team.

  • @ireallydontknowifiamhonest
    @ireallydontknowifiamhonest 2 роки тому +9

    wait, now that the entirety of it is decompiled, can't there be a Native PC Binary for it as well now?

  • @creativecraving
    @creativecraving 6 місяців тому +1

    "Unmanaged Process" was clearly named after part of the tutorial they were following to build that code artifact. 😅

  • @puffleperson
    @puffleperson 2 роки тому +7

    I'm not disappointed that you covered a mobile game. I was fully anticipating this to be about the Godot remake of Colors.
    I actually had to decompile a mobile game once so I could get at it's soundtrack (This was before a legit release) and I learned about the system PATH and it changed my life forever.

  • @chitan1362
    @chitan1362 10 місяців тому +1

    Decomps of the Sonic Adventure games would be the chef's kiss for me.

  • @soviut303
    @soviut303 2 роки тому +11

    Really impressive preservation effort. This is one of those videos that would naturally make for a great presentation at a conference some day.

  • @otter-pro
    @otter-pro Рік тому +1

    I'm Impressed, as a software developer. I can tell you that doing something like this is incredibly difficult, even for a seasoned veteran dev. I wonder if you were a senior/lead game developer before.

  • @rockyhill3
    @rockyhill3 2 роки тому +3

    I was blown away by the effort you and the team put into this, hats off! Please keep it up!

  • @CYON4D
    @CYON4D 2 роки тому

    As a programmer this is by far my favorite content to watch. Things you achieve here is nothing short of mind-blowing. I love the hardware related videos as well. Thanks a lot for sharing these projects with us.

  • @AngryMarkFPV
    @AngryMarkFPV 2 роки тому +3

    I miss your regular uploads. Welcome back Matt

  • @ComradeSeanski
    @ComradeSeanski 2 роки тому +1

    0:25 i've unironically had that thought many times and I think it's just like star wars or star trek- these franchises have such a hard grip on our hearts that as long as it's not insultingly bad most fans will stick around for the good bits and there is good bits in every sonic game- just usually out weighed by the bad- BUT frontiers looks to be the shift towards a more quality focused sonic franchise and I like to think the movie showed Sega big wigs that people still love the blue rat and there is reason to delay projects if it means a better end goal.

  • @GUNUFofficial
    @GUNUFofficial Рік тому +4

    DID I SEE SONIC UNLEASHED AS A TURD?
    thats it i'm sending the truck.

  • @t3hfridge
    @t3hfridge 2 роки тому

    Oh gosh. I actually forgot this project existed, when the decompilation wasn't even complete the team called up people to try and engineer a nice way to input audio, cause proprietary formats. Me and some other Guy helped them, we didnt fully get custom audio right but we got something.

  • @pokemaster2129
    @pokemaster2129 2 роки тому +3

    Im actually much more interested in decompiling mobile games, especially reviving some of the servers that they have (which inevitably shut down without any notice sometimes!!) Especially with some mobile games like angry birds fight, as it is a game I have huge nostalgia for

    • @ReubensStuff
      @ReubensStuff 2 роки тому

      Hey, I’m actually a developer for an Angry Birds Fight revival project called Reboot. It was difficult to say the least. And yeah, this has inspired me to maybe take a stab at decompiling the game.

    • @ReubensStuff
      @ReubensStuff 2 роки тому

      Also yes, we did get the game working. Took a while, lol.

  • @Aspharon
    @Aspharon 2 роки тому

    Ah, love this video. This decompilation content is an absolute treat. I've lost count of how many times I've watched your Lego Island videos.

  • @Jono997
    @Jono997 2 роки тому +4

    This was a freaking awesome watch!

  • @ZKtheMAN
    @ZKtheMAN 2 роки тому +1

    If I were to guess, perhaps the lightmap output by the unpacking tool was borked and removing the lightmap settings made Unity fall back to computing the lighting live, which made it look as intended?

  • @smellthel
    @smellthel 2 роки тому +3

    Amazing video! I’ve always been interested in this stuff!

  • @shyguygaming5397
    @shyguygaming5397 Рік тому

    I loved playing Sonic Runners. It was a really fun game and I remember desperately trying to unlock shadow up until the games end and I did. Can’t wait to do it all again.

  • @qwertyuiop.lkjhgfdsa
    @qwertyuiop.lkjhgfdsa 2 роки тому +4

    2:33 skip ad button

  • @rollthedyc3
    @rollthedyc3 2 роки тому +1

    Well done my brother. Funny story, I was approached by some people in the sonic runners community shortly after I published my yandere sim video. I was completely burnt out on unity decomp at the time so I didn't contribute, but I'm very happy to see that the effort didn't go to waste and the community pulled through for this. Absolutely fantastic work.

  • @coolest10293
    @coolest10293 2 роки тому +3

    It’ll be at least a few more re-watches before I get bored of watching him decompile this game. I’ll update y’all when that happens

    • @coolest10293
      @coolest10293 Рік тому +1

      Yay! I was chosen to be scammed! Hooray! I think this means I am finally a big enough UA-camr that I was chosen to be replied to by this scammer bot!

  • @_SYDGAMING_
    @_SYDGAMING_ 2 роки тому

    So glad you're trying to get sonic runners working.ive missed this game so much

  • @claykid
    @claykid 2 роки тому +6

    bro how tf are sonic chaos, triple trouble, pocket adventure and rush bad games 🤨

  • @mathiasensimon
    @mathiasensimon 2 роки тому +1

    "MattKC has uploaded a new video" might be my favorite combination of words

  • @FoxyAnimater
    @FoxyAnimater 2 роки тому +5

    Question, since it's now fully decompiled in unity code, can't it be compiled back to pc? Namely windows and linux?

    • @PorygonAxolotl
      @PorygonAxolotl 2 роки тому +1

      Yes

    • @FoxyAnimater
      @FoxyAnimater 2 роки тому

      @@PorygonAxolotl okay, how would the controls work then unless you plan on having the controls just be a mouse input in which case it's kind of boring, some modification would need to be made. Also an arm port for raspberry Pi or M1 Mac would make it future-proofed.

  • @brandonkellner2920
    @brandonkellner2920 7 місяців тому

    The cool thing CIL is that the token information is preserved, so you don't even really need to decompile to C#, it's pretty easy to work with the assembly.

  • @megumugi8620
    @megumugi8620 Рік тому +5

    While Nintendo would go and kill your ahh for doing this, I bet that Sega would just be like: "Wow, you guys are crazy. Good job."

  • @EvanTeran
    @EvanTeran 2 роки тому

    Note that things like "call $+5; pop eax" isn't really obfuscation, it's a common technique for writing position independent code. Because call puts the next address on the stack and they you immediate pop it, that's a way to get "here" into a register, which can later be used to fetch data relative to "here".
    In x86-64, this is no longer really a thing because RIP relative addressing was introduced offering a more efficient way to do the same thing.

  • @mccad00
    @mccad00 2 роки тому +6

    Out of curiosity, ever mess around with unity AssetRipper? We used to use utinyripper in our modding community, but ran into a lot of issues and ended up switching to assetripper instead
    For whatever it’s worth though, the game we mod (GTFO) is compiled in IL2CPP which I’m pretty sure is where our issues came from

    • @DigitalzombieDev
      @DigitalzombieDev 2 роки тому

      AssetRipper is awesome. The dev spends A LOT of time working on it. But yeah, IL2CPP is a big problem. Its right in the name ... IL to C++. So the code is actually compiled here. But the decompilation is getting better.
      Another problem with IL2CPP is "stripping". Standard Unity methods that are not used in the game are sometimes stripped out of the game by IL2CPP. Meaning ... if the game doesn't use WheelCollider, you won't be able to "just" use that component in mods. Because ... its gone :D

    • @mccad00
      @mccad00 2 роки тому +1

      @@DigitalzombieDev actually didnt know that about the stripping, that's interesting. IL2CPP was a huge hurdle for us to work around as well, but we were fortunate enough that the devs made several accidental mono releases somehow, so we always had a (relatively) up to date decompilation to check. Luckily BepInEx and Unhollower have seen major improvements since we started and a lot of the previous limitations we ran into have been circumvented

    • @DigitalzombieDev
      @DigitalzombieDev 2 роки тому

      @@mccad00 Mono releases are a real lifesaver here. Been working on one game with a mono release that was 2 years behind the current version of the game. Insane.
      Unhollower does some unstripping on IL2CPP and can restore some of it. It's not perfect though. But yeah, its way better now than it was not that long ago. MelonLoader is another alternative to BepInEx, but the Unhollower version is quite a bit behind until ML version 0.6 gets released (hopefully this year).
      On one "game" I'm working on about 50% of the physics is stripped out. Try creating a car racing mod without friction materials. Oo
      To be fair, the dev can choose multiple different stripping levels before compilation. So you may get lucky on some games and only a few things are missing.

  • @HexOverride
    @HexOverride 2 роки тому +1

    1:27 Mdickie would never make a ad like that!

  • @AlvinPlayz997
    @AlvinPlayz997 9 місяців тому +3

    Can you also Decompile Sonic Origins Plus?

    • @AlvinPlayz997
      @AlvinPlayz997 5 місяців тому +1

      @BriansMe fair point, but it would still kind of be nice. Plus you'd have the Drop Dash in all the Classic Games(even though it's very poorly implemented)

    • @AlvinPlayz997
      @AlvinPlayz997 5 місяців тому

      @BriansMe fair point

  • @MicronOnline
    @MicronOnline 2 роки тому

    Every Sonic UA-camr needs to see the first 1 Min of this video. I NEED to see there takes on it. I NEED IT.

  • @Aisubun
    @Aisubun Рік тому +3

    haha could you maybe do this for Dragalia Lost and Love Live All Stars please
    Okay it'll never happen but I can't do it myself so I'm just praying someone will save them

    • @janchristianursuaaguilar7434
      @janchristianursuaaguilar7434 Рік тому

      well Love Live Stars runs on unity unlike Love Live School Idol Festival runs on proprietary game engine for dingus reasons. but hey we never know

  • @ItsCenrryTH
    @ItsCenrryTH 2 роки тому +2

    Matt demonstrating how tough decompilations are opened my eyes
    And now I am more grateful some peeps managed to decompile rsdk5

  • @RyanEdwardsVA
    @RyanEdwardsVA 2 роки тому +1

    12:55 oh my god I cannot believe I am not the only person in the world that says .JSON like the "JAAASON" from Heavy Rain. Without fucking fail since I learned of the format many years ago, I have, it's like a tic. As such, seeing you make that specific connection as well cracked me the fuck up.

  • @qwerty_studios
    @qwerty_studios 2 роки тому +14

    oh hello there

    • @attilavs2
      @attilavs2 2 роки тому +4

      General kenobi

    • @aid3n594
      @aid3n594 2 роки тому

      @@attilavs2 Sir this is a video about decompiling a sonic game

    • @attilavs2
      @attilavs2 2 роки тому +1

      @@aid3n594 yes but the lolz

    • @Gamer-ct6hb
      @Gamer-ct6hb 2 роки тому +1

      Hello mom.

  • @stargazersdance
    @stargazersdance 2 роки тому

    I saw the thumbnail I immediately guessed Sonic Runners. I've been playing the Revival project for a while now. Glad it's picking back up in popularity again.

  • @sonicSnap
    @sonicSnap 2 роки тому +11

    all of that, and they still won't make a pc port

  • @_crys_
    @_crys_ 2 роки тому +1

    Absolutely fantastic video Matt, one of your bests for sure! This is exactly the type of content I enjoy the most on UA-cam nowadays.
    I've got a question though.
    Not sure if I understand correctly, but wouldn't it have been more useful to backport uTinyRipper itself to also support those old Unity formats instead of rolling your own specific parser/fixer scripts?
    It seems to me that would've both benefited the decompilation community more than the current approach and would've been useful for you also later down the line if you intend to decompile another old Unity game.

  • @NabbyLloyd
    @NabbyLloyd 2 роки тому +4

    does the "C" in your name stand for Chad by any chance?

  • @TheA_Gamer554
    @TheA_Gamer554 2 роки тому

    So many games getting decompiled, you should totally check out the retro engine decompilations of sonic 1, 2, cd and mania which also have been ported to multiple systems

  • @jamescruz8678
    @jamescruz8678 2 роки тому +4

    WAKE UP BABE NEW MATTKC DROPPED

  • @BluelightAmelia
    @BluelightAmelia Рік тому

    16:00
    About this...
    PCs and phone GPUs work different compared to each other, to circumvent this and have proper 3D acceleration on mobile phones OpenGL ES is used on all phone GPUs which is wildly different than the desktop OpenGL PCs use normally.
    From what I've seen on those options there is an OpenGLES3 option available which might of gotten those shaders to work

  • @WangleLine
    @WangleLine Рік тому +2

    I think it's a little weird the title says "I decompiled a sonic game" when you mention in the video how there was an entire team of people who made this possible

  • @__dane__
    @__dane__ 2 роки тому

    I can’t even imagine what you would think you Unity’s current graphics package in comparison to back then. I’ve navigated the hells of the SRP api and it would bring me joy to see someone else share the experience

  • @owenleduc
    @owenleduc Рік тому +3

    I got a joke. Why did the java developer need a tutor?
    Because he couldn't get better that a c++

    • @heart_locket2
      @heart_locket2 18 днів тому

      Did someone say:
      public class Thing : MonoBehaviour
      {
      int c;
      void Start()
      {
      int a = 1;
      c++;
      }
      }

  • @legoboy7107
    @legoboy7107 2 роки тому

    I hope Super Mario Run gets this kind of treatment some day (and it is also made in Unity, like Sonic Runners, though I don't doubt that Nintendo definitely used obfuscation techniques like IL2CPP). The game is honestly pretty underrated and is quite fun, and different from a lot of mobile runner games in that it's basically an actual proper NSMB game that just handles your d-pad inputs for you but otherwise plays basically like the console equivalents but on a smaller scale. Honestly it feels more akin a normal Mario 2D platformer than it does to other mobile auto runner games, which makes sense because it was made by the NSMB team with heavy involvement from Miyamoto himself too. But because Nintendo forces you to have an internet connection to connect to a server or something just to play it, that means it will become unplayable once that server is shut down unless a custom server and ultimately something like this happens.