The Legend of Zelda - Ocarina of Time has been FULLY decompiled | MVG

Поделиться
HTML-код
  • Опубликовано: 4 дек 2024

Комментарии • 1,6 тыс.

  • @KazeN64
    @KazeN64 3 года назад +3533

    I bet oot can be put through almost the same optimizations i put mario 64 through. just looking at it, it looks like it should easily run 40fps rather than 20.

    • @beardalaxy
      @beardalaxy 3 года назад +257

      That's just running on actual console too, yeah? Because I imagine newer platform ports will have 60fps patches but I'd be super interested in seeing it running smoother on console like your SM64 stuff :)

    • @dwaynethemineraljohnson412
      @dwaynethemineraljohnson412 3 года назад +349

      @@beardalaxy he is ofcourse speaking about the n64 i would be scary to think it could only run at 40fps on pc

    • @mzxrules
      @mzxrules 3 года назад +99

      I feel like 30 FPS should be achievable on N64, but I doubt that 40 FPS would be consistent

    • @LukeDupin
      @LukeDupin 3 года назад +79

      That SM64 port on the PC was awesome.

    • @orangy57
      @orangy57 3 года назад +202

      Kaze just casually flexing in the comments

  • @Garvm
    @Garvm 3 года назад +613

    Imagine a version where the option to make the owl repeat all his history is set to “no” by default

    • @XDevonBueno
      @XDevonBueno 3 года назад +64

      This is the improved version we all so desperately need

    • @BlueTyphoon7
      @BlueTyphoon7 3 года назад +42

      @@XDevonBueno why not go a step beyond, saying no replays the deku tree goddess lesson

    • @ninjagaro.
      @ninjagaro. 3 года назад +45

      Skip Cutscenes, Even Faster Texts, Epona becomes a motorcycle, only good can come from this

    • @mauricenr2969
      @mauricenr2969 3 года назад +12

      @Jose you're all thinking backwards, why not set the owl to replay his dialogue several times?

    • @danielbueno8474
      @danielbueno8474 3 года назад +6

      @@mauricenr2969 Zelda Ocarina of Time - Omochao version. Or rather, Kaepora Gaebora version.

  • @nicwilson89
    @nicwilson89 3 года назад +497

    8:50 Playing around like this is a great way to learn how games are constructed and how to do things yourself if you're learning to build games and such. How a lot of people got started in the earlier days, too :)

    • @inendlesspain4724
      @inendlesspain4724 3 года назад +18

      Reminds me of how most of the A Hat in Time dev team came from the modding scene of mostly Valve games. The lead dev got started by messing around with L4D I think.

    • @venumspyder
      @venumspyder 3 года назад +15

      This is how I got started building my own custom 3D engine on my RUclips channel. I looked at how other games built their engines and then made my own version based on what I learned.

    • @nicwilson89
      @nicwilson89 3 года назад +6

      @@venumspyder That sounds very interesting, I shall go watch some of your stuff, I see you've done an endless runner? Seems to be a staple haha, I recently did one for Megadrive whilst getting to grips with coding for Megadrive with SGDK so I could do it in C. You've earned a sub!

    • @venumspyder
      @venumspyder 3 года назад +3

      @@nicwilson89 Many thanks! Yes many people got their start in the game industry by looking through source code of finished games. And we now live in a "golden" era for this as there are tons of games out there with source code that you can look at. I'll check out your channel as well!

  • @wavefront9221
    @wavefront9221 3 года назад +393

    Now we need somebody to do the unthinkable and port this to the Sega Saturn

    • @davy_K
      @davy_K 3 года назад +11

      @Fat Chocobo Yeah. Will be a tough ask off the PS1 or Saturn without RAM expansion due to the cartridge format's advantage of fast data access. Plus the N64's processor was just under 100MHz which was a big deal back then. Never mind the different architectures re graphical abilities - didn't the Saturn use quads instead of triangles? I don't see the attraction of running it on a console anyhow - seeing it running on a high end PC with brand new remastered graphical assets would be wonderful.

    • @BenignStatue71
      @BenignStatue71 3 года назад +8

      @@davy_K The Saturn's "quads" are literally all sprites - hence being quads, as sprites are quadrilateral. You can render a tri by just making one side of the spite have zero length.

    • @davy_K
      @davy_K 3 года назад +1

      @@BenignStatue71 Yeah you can....but it looks like shit when you do that. There are a few online articles about PS1->Saturn ports that did just that. It's a moot point anyway since OoT was a cartridge game which would be extremely hard to implement on the PS1 and Saturn simply because of delay is shifting data from a disc. I'm sure an emulated PS1 or Saturn could make a job of it provided it was overclocked and removed any read delays- but what would be the point? It's always nice to see just how far stock consoles can be pushed with modern tricks today..I suspect OoT would be a step too far. M64 and OoT were probably why N64 was cartridge based.

    • @BenignStatue71
      @BenignStatue71 3 года назад +5

      @@davy_K Nintendo selected cartridges because it wasn't something you could have just any factory manufacture, unlike a CD - you needed to have each individual cartridge produced by Nintendo or you couldn't release the game. Nintendo gets both an up front manufacturing cost *and* individual sale royalties. Read speed and access times were a side effect of cartridges that provided at least some argument to developers; they were otherwise just an extremely costly medium between the consumer who owned an N64 and their game. The fact that the N64 DD still used a proprietary format makes Nintendo's greed pretty evident - for the same capacity as Resident Evil 2, you could get a diskette that might have been cheaper to produce, but still only Nintendo could manufacture. It doesn't matter if the actual price of manufacturing each cartridge goes down, only Nintendo will make it and they can set the price at whatever they want.

    • @davy_K
      @davy_K 3 года назад +2

      @@BenignStatue71 Well. I only partially agree with that. Certainly their publishing and licencing model suited the cartridge format which is what they loved as it made a shed load of money, pushed a lot of risk onto 3rd parties and let them control the release schedule. However , as I guess you know, the CD drive debacle with Sony and Philips is proof that Nintendo experimented with the format. Miyomoto hated loadtimes and Mario 64 and Zelda : OoT would have been, to his mind, (or to anyone else who has really compared the games available across the 3 platforms) heavily compromised by the limitations of the CD media's access speed. If any further proof is needed - no game on PS1 and Saturn came near to those games in terms of 3D world building and the rich control scheme required for accurately navigating them in a go-anywhere fashion. The transitions between levels in M64 and the open areas and dungeon load and transitions of OoT are testament to it. They simply were not possible on those machines, otherwise we would have seen something attempting to recreate them. The best they could do was create environments made of corridors that gave a limited (albeit clever) illusion of 3D, but very little else.

  • @altimateguyz1016
    @altimateguyz1016 3 года назад +278

    9:35
    "Oh MVG...
    Listen to my words - Mistakes Were Made"
    Ok this is really cool.

    • @nobafan7515
      @nobafan7515 3 года назад +4

      I've seen text edits on oot before, thing is now there will be more easily accessible mods including level editors and model swapping.

    • @Nezkredk
      @Nezkredk 3 года назад +1

      Mistakes were truly made.

    • @deedoubs
      @deedoubs 3 года назад +2

      @@nobafan7515 Hell you could pretty easily see total conversion mods that are basically just new games running on the same engine.

  • @TaimatCR
    @TaimatCR 3 года назад +37

    Gotta love the "so anyways I started coding" approach that you have when explaining these things on your videos

  • @andtpfack8243
    @andtpfack8243 3 года назад +339

    Very cool, thanks MVG for spreading the knowledge in a timely manner so hopefully more people get to work.

  • @PabstOban
    @PabstOban 3 года назад +421

    I can't wait to see a HD remake of this game using this source code.

    • @jamess1787
      @jamess1787 3 года назад +23

      Yeah, then sprites change and there are 0 grounds to sue.

    • @derp195
      @derp195 3 года назад +44

      @@jamess1787 Nintendo: Hold my sake

    • @justincarter7954
      @justincarter7954 3 года назад +50

      @@jamess1787 Yeah there is. Nintendo owns the IP. You could go make a your own legend of zelda game from scratch and there would still be grounds to sue. Nintendo tends to be pretty letigious and they would absolutely win that case

    • @Formalec
      @Formalec 3 года назад +9

      @@justincarter7954 Yep otherwise fangames or other creations would be legal but they are not.

    • @Etaia2000
      @Etaia2000 3 года назад +7

      It would be pretty sweet to see an engine like OpenLara for OOT

  • @cydragon2.099
    @cydragon2.099 3 года назад +803

    Nintendo: messes up on emulating zelda oot on the switch
    Fans: well we can go to the original game code and do some proper remastering ourselves

  • @jeffreysmith2524
    @jeffreysmith2524 3 года назад +18

    It's so cool how these projects are coming out now. I didn't expect you to modify the games code and show it off like that! Very cool!

  • @LanceThumping
    @LanceThumping 3 года назад +224

    Can't wait to see the native PC port with HD, high framerate, widescreen and other insanity.

    • @Matanumi
      @Matanumi 3 года назад +20

      same but on the switch

    • @daltonbroderson6529
      @daltonbroderson6529 3 года назад +18

      I'm so excited for this. I love the Mario 64 PC port so much I cannot go back to the N64 version or any romhack

    • @Jetanium
      @Jetanium 3 года назад +6

      Texture packs?

    • @kabosune9097
      @kabosune9097 3 года назад +6

      @@Matanumi can't wait to do this on steam deck

    • @fllthdcrb
      @fllthdcrb 3 года назад +5

      @@Jetanium Probably. HD rendering can only do so much with low-res textures.

  • @WrestlingWithGaming
    @WrestlingWithGaming 3 года назад +216

    Simply awesome. Imagine telling yourself in the 90s that one day anyone would be able to mess around with OOT's source code and compile it themselves in minutes. What a time to be alive.

    • @stoicvampirepig6063
      @stoicvampirepig6063 3 года назад +26

      I mean, ignoring all the stuff that makes being alive right now a crushingly bleak thing...yeah.

    • @user-sl6gn1ss8p
      @user-sl6gn1ss8p 3 года назад +3

      @@stoicvampirepig6063 I always have that though when I watch two minute papers

    • @theextremeanimator4721
      @theextremeanimator4721 2 года назад +1

      @@user-sl6gn1ss8p Two minute papers?

    • @user-sl6gn1ss8p
      @user-sl6gn1ss8p 2 года назад +5

      @@theextremeanimator4721 it's a youtube channel about AI and computer graphics. "What a time to be alive" is kind of it's catch phrase

    • @Whatsup_Abroad
      @Whatsup_Abroad 2 года назад

      How do you compile it for a particular system? I want to get it compiled for the PS vita.

  • @cccykrogmail5891
    @cccykrogmail5891 3 года назад +30

    I love these videos where you show it all working (i.e Showing the decompiling and the code actually working), whilst still explaining the scope of the project of topic. It gives such a deep understanding of what's happening. Thanks MVG!

  • @TheCobrabee
    @TheCobrabee 3 года назад +17

    I feel like you're the professor, and you just assigned us a recompilation project. Amazing video.

  • @Charlie-eq3dj
    @Charlie-eq3dj 3 года назад +335

    Imagine this game playing on 4K on modern consoles. I'd love to see if the Saturn could run this with its own interesting architecture and at a resolution of 704x480 (NTSC) or 704×512 (PAL). Or what about widescreen 16:9 support! The community is going to go wild with this.

    • @basshead.
      @basshead. 3 года назад +12

      @@bWWd0 So true.

    • @Charlie-eq3dj
      @Charlie-eq3dj 3 года назад +71

      @@bWWd0 Mario 64 looks gorgeous on 4K. And with all the texture and high-res models modders have worked on over the years, I'm sure there will be something amazing that comes out of this. Go check out Nerrel's channel and the amazing work he's done for Zelda.

    • @ADreamPainter
      @ADreamPainter 3 года назад +82

      You clearly haven't been following what has happened to Mario 64, after it was decompile. Recently someone has updated all the 3d models, uprezed the textures and introduced raytracing. This is very big deal!

    • @Vladislav888
      @Vladislav888 3 года назад +19

      VR support, anyone?

    • @alphaLONE
      @alphaLONE 3 года назад +25

      Wouldn't the Saturn have to have all the models remodeled due to its sprite/quad rendering system? Plus it's really weak compared to the N64, it'd be quite the challenge

  • @shawnkratos1347
    @shawnkratos1347 3 года назад +50

    I’d love to see a nice hd texture pack mixed with this and compiled for the switch! Basically what it should have been for the n64 online

    • @nukiradio
      @nukiradio 3 года назад +4

      If it's in readable C, it would be way easier to mod and edit

  • @EdenElectorate
    @EdenElectorate 3 года назад +81

    Ah decomp...it's crazy that it has finished. Answered so many questions abou the game.

  • @Dave01Rhodes
    @Dave01Rhodes 3 года назад +7

    There are similar reverse engineering projects for other games out there too. For instance, the Pokémon Reverse Engineering Team (pret) has completed projects to recreate the source code of Pokémon Red/Blue (pokered), Yellow (pokeyellow), Gold/Silver (pokegold), Crystal (pokecrystal), Ruby/Sapphire (pokeruby), FireRed/LeafGreen (pokefirered), and Emerald (pokeemerald).
    If you’ve been wondering why Pokemon romhacks have been getting more sophisticated over the past few years, this is why!

  • @TommyToboggan611
    @TommyToboggan611 3 года назад +54

    Mad props to the team! been waiting patiently for years for this moment!

  • @robmccullough1916
    @robmccullough1916 3 года назад +3

    Hey man, thanks for all your videos. I am an old school nerd and borderline programmer. But I work as a chef for a living your videos just sit on a great line where I understand everything but learn a helluva lot! I have a beer when I get home from work and it really makes my day when you have a new video out because I will learn something new.
    Thanks very much.

  • @marcelo20xxxx
    @marcelo20xxxx 3 года назад +32

    I was eagerly awaiting your video about this decompilation, hopefully now we can have the game running at 60FPS without the glitches that the original N64 rom has with codes...

  • @AmyraCarter
    @AmyraCarter 3 года назад +26

    Having better camera control, including when in first person would be ideal. Rebindable functions a bonus, especially on PC.

  • @WildkatPhoto
    @WildkatPhoto 3 года назад +116

    Game companies need to embrace emulation and give us the games we want at a reasonable price.

    • @lara3780
      @lara3780 3 года назад +17

      And the quality we deserve (cough cough Pokémon cough)

    • @JohnSmith-xq1pz
      @JohnSmith-xq1pz 3 года назад +6

      Sadly that's not likely to happen

    • @nopepsi2day
      @nopepsi2day 3 года назад +24

      They think emulation contradicts with their business model, that's horrendous. What's even worse is not just them jacking up the price of the old games but also offering worse experience - emulators made by community handle the execution of such games better than corporation-made emu's. The big N is guilty of that, in particular.

    • @inendlesspain4724
      @inendlesspain4724 3 года назад +17

      Hopefully people will get tired of Nintendo's BS and stop buying their old catalog en masse and go for community efforts instead, then Nintendo will have to either adapt to the times or, I don't know, attempt to change the law to their favor and the detriment of the homebrew scene like they already did in Japan.

    • @Matanumi
      @Matanumi 3 года назад +4

      @@toby2581 US also has strong copyright law and can take down a rom hoster within a moments notice and actually throw them in jail

  • @chadmasta5
    @chadmasta5 3 года назад +48

    I wonder how much of this could be used for the majora's mask decompilation project since they're based on the same engine and re use a lot.

    • @enforcerridley158
      @enforcerridley158 3 года назад

      Super Mario 64 also runs on the same engine and this took a long time despite SM64 being done years ago.

    • @chadmasta5
      @chadmasta5 3 года назад +13

      @@enforcerridley158 True but majora's mask also reuses a lot of the same code evident by many of the same glitches existing in both games.

    • @StardustSauce
      @StardustSauce 3 года назад +3

      Much less than you'd hope. The most useful kind of code reuse is the kind where objects are absolutely identical between games, of which very very few actually are. You can make educated guesses when "some" code is re-used, but figuring out which pieces are the same and which aren't is a process that's not much easier than decompiling from scratch to begin with.

    • @chadmasta5
      @chadmasta5 3 года назад +2

      @@StardustSauce Bummer. I was hoping it could speed up the majora's mask project because it's my favorite Zelda game and I'm impatient 😅. Oh well. Guess I'll just have to wait then.

    • @graalcloud
      @graalcloud 3 года назад

      There are a lot more changes to Majora's Mask than you might realize, even the re-used models are generally improved

  • @SilverSuisei
    @SilverSuisei 3 года назад +19

    As someone who's been following OoT speedrunners like ZFG for almost a decade, this is the best thing I've heard. The potential for romhacks and speedrun optimizations is going to be insane. Plus the fact that they can optimize the Switch version and make it fully playable is great for casual players. Hell I'd love to play randomizer on console too. Thank you for this video MVG.

    • @wile123456
      @wile123456 3 года назад +1

      Nintendo: stubborn on terrible design decisions
      Fans: fine, I'll fix it myself

    • @JuddMan03
      @JuddMan03 3 года назад +6

      Unfortunately it could also open the door for undetectable cheating. Video submission wont be enough. Proof of checksum or a replay file would have to be required also.

    • @SilverSuisei
      @SilverSuisei 3 года назад +1

      @@JuddMan03 Yeah. Like manipulating first try dampe.

    • @pearz420
      @pearz420 3 года назад

      I'm struggling to think of a more uninspired use of this.

    • @wile123456
      @wile123456 3 года назад

      @@pearz420 then you're not really part of the dedicated fan communities of any old game. Speed running is a core staple of old games and the competetive ss both brings excitment and entertainment for onlookers.
      However speed running some games sucks balls because Nintendo don't often allow skipping of cuts enes, tutorials and dialogue. Modding the game to skip these unnecessary parts of the run makes it both more fun to compete (as you have to restart often) but also more fun for people to watch.
      It is the most basic mod but probably one of the most important ones.

  • @AKSoapy29
    @AKSoapy29 3 года назад +5

    This is awesome! I could see this going many ways, from mods and aftermarket / higher resolution textures, to even using the code as a template to create a new game. Exciting stuff!

  • @SilverSpireZ
    @SilverSpireZ 3 года назад +69

    Be sure to go ahead and download this before Nintendo decides to Nintendo

  • @keithpoley3432
    @keithpoley3432 3 года назад +2

    Do you ever stop and think to yourself that saying "Ocareener of time" just sounds a little funky?

  • @uilliamm
    @uilliamm 3 года назад +79

    I'd love to see this on ps vita. The game works okay through the n64 emulator but having a native port would be beautiful

    • @sethreign8103
      @sethreign8103 3 года назад +3

      You'll definitely see a Vita port for this soon.

    • @philipmartin3425
      @philipmartin3425 3 года назад +2

      Maybe Rinne will port this for us. The man is a wizard. In addition to the Vita, I'd like to see this ported to the Anbernic RG350 line of handhelds.

    • @VintexFX
      @VintexFX 3 года назад

      same im waiting for that

  • @arhturcosta4066
    @arhturcosta4066 2 года назад +3

    what's next? decompiling Super smash bros 64 or... something like.... goldeneye 007?

  • @novelezra
    @novelezra 3 года назад +46

    "Hey listen! Ocarina of Time on the Nintendo Switch through the N64 Expansion Pak. It's rea-... What's that?"
    "Hmm? This? Oh it's just OOT in widescreen, new camera controls, new lighting effects, raytracing and mods on my Steam Deck"
    "THATS ILLEGAL IM TELLING MIYAMOTO"

    • @marcelo20xxxx
      @marcelo20xxxx 3 года назад +3

      I will be happy if modders only add 60FPS

    • @SullySadface
      @SullySadface 3 года назад +2

      @@marcelo20xxxx you say that but you'll basically have to relearn the whole game

    • @Thekinggamelon
      @Thekinggamelon 3 года назад

      Tell him, and I'll tell Nintendo you made accept Microsoft's offering of buying them behind their backs.

    • @novelezra
      @novelezra 3 года назад

      @@marcelo20xxxx Agreed, I can look past most things in old games but low framerates is not one of them.

  • @T0TALLYAWESOMEGUY
    @T0TALLYAWESOMEGUY 3 года назад +9

    This is huge! Happy 35th Anniversary to Link and Zelda. It's going to be a very Zelda Christmas for a lot of people who know or even want to learn C.

  • @cloudsquall45
    @cloudsquall45 3 года назад +25

    Can't wait to see where this is ported first!

    • @SCP-tn2ln
      @SCP-tn2ln 3 года назад +16

      Probably PC with OpenGL or Vulkan

    • @wile123456
      @wile123456 3 года назад +8

      @@SCP-tn2ln potentially the code could be added to unity or another modern engine to enhance the graphics

  • @hankhill6416
    @hankhill6416 2 года назад +13

    as a software engineer at a fortune, erm, 9, company I know how insanely hard it can be to RE a simple 'hello world' program, let alone an entire game like oot. insane feat, I'm proud of yall

  • @SRC267
    @SRC267 3 года назад +56

    Hope you do a video of AetherSX2

  • @BenjjjDW
    @BenjjjDW 3 года назад +8

    “Listen to my words MVG, mistakes were made” love it 😂😂

  • @NightFore
    @NightFore 3 года назад +4

    "Mistakes Were Made" - Navi
    9:35

  • @tommapar
    @tommapar 3 года назад +9

    Native 30FPS and 60FPS patches are coming for sure now. This is great news!

  • @Alfonso88279
    @Alfonso88279 3 года назад +56

    I'd want an .exe version of Ocarina of time, just like someone did with Mario 64. It became my favorite version of the game for Mario, and I think it could be the best Ocarina of time version too.

    • @YounesLayachi
      @YounesLayachi 3 года назад +2

      ".exe" bruh
      Native port has nothing to do with ".exe"

    • @itsdakideli755
      @itsdakideli755 3 года назад +15

      @@YounesLayachi What are you even complaining about? He didn’t say anything wrong.

    • @Alfonso88279
      @Alfonso88279 3 года назад +1

      ​@@YounesLayachi I think you didn't get my point...

    • @superchiaki
      @superchiaki 3 года назад

      @@Alfonso88279 he means .ELF i think? :p

    • @AniviaS
      @AniviaS 3 года назад +31

      @@YounesLayachi everyone understands he was referring to a native Windows port, stop being pedantic

  • @dodgyhodgyo4
    @dodgyhodgyo4 3 года назад +2

    I couldn't believe my eyes looked at the resource sheet a few days ago. I remember when it was just getting started, felt like a project that would never reach a conclusion. Can't wait to see what comes of it!

  • @brunodebattista3565
    @brunodebattista3565 3 года назад +30

    I'm glad you actually messed with the source in the video. I've been wondering how stuff like this is done as I just started learning C in uni. Would love to see a vid on porting games

    • @Sakerdot
      @Sakerdot 3 года назад

      He has some porting videos too, check this one out ruclips.net/video/F4Dv32-PoU4/видео.html

    • @brunodebattista3565
      @brunodebattista3565 3 года назад

      @@Sakerdot nice I haven't seen that one. Hopefully it explains roughly how its done as I've got a modabble switch and would love to make some shitty homebrew for it

  • @KhriszB
    @KhriszB 3 года назад +39

    Im so proud how much Kaze Emanuar did for the SM64 hacking community. _Hope you will do somthing like that to Zelda OoT community too Kaze!_
    This decomp project is the first step to make it much, much easier.

  • @DenkyManner
    @DenkyManner 3 года назад +62

    I'm far more interested in this one than Mario 64. And it's so ridiculous that Nintendo won't do simple 60fps versions of these games. Modders and hackers to the rescue again!

    • @gutter_onion7855
      @gutter_onion7855 3 года назад +17

      I'm not defending Nintendo here, but iirc, for them, it's not a simple "increase the emulated framerate." It's never been that easy for anyone. The framerate is tied directly to the day/night cycle. So you increase fps from 20 to 60, and you have 3x faster day/night cycle. However with this source code, that can be done.

    • @vas_xp9611
      @vas_xp9611 3 года назад +3

      Not hackers, hackers are bad people, these are modders, or decompilers

    • @KopperNeoman
      @KopperNeoman 3 года назад +19

      @Vas_XP So hackers then. Good luck decompiling without any hacking skills.

    • @hanakomisa
      @hanakomisa 3 года назад +14

      @@KopperNeoman Don't tell the guy above about White hat hackers, dude'll be shocked that exists.

    • @beardalaxy
      @beardalaxy 3 года назад +7

      @@gutter_onion7855 Nintendo has the source code. They just don't want to go through the trouble.
      Although, JUST patches/hacks have managed to do crazy things. Mario Sunshine and 64 can both run at 60fps in an emulator. Heck, even Breath of the Wild can. That's with little to no problems.

  • @dustatwood
    @dustatwood Год назад +1

    How are you my twin? Literally! Thank you for your work!

  • @rpavlik1
    @rpavlik1 3 года назад +13

    Surprised that decompilation without a written spec and a second clean team is considered beyond legal challenge, I figured that the decompilation process made a derivative work. In any case, this is impressive work, to get a bit for bit compatible result. You can learn a ton from stuff like this. (Once you've used a decompiler like Ghidra, you'll never want to reverse with just a disassembler again: decompilation tech is pretty remarkable.)

    • @marsilies
      @marsilies 3 года назад +11

      Opinions differ. Some think these decompilations count as derivative works, and Take Two is suing a similar decompilation project for GTA III and VC. There's no settled case law yet though, so at the moment it's just differing opinions.

    • @antagonista8122
      @antagonista8122 3 года назад +2

      In most places outside of the US, this is definitely derivative work because it involves large amount of own contribution.
      US on the other hand turns everything upside down.

    • @Spillerrec
      @Spillerrec 3 года назад +5

      If this can be used to create a bit-perfect copy of the original executable, without a copy of the original executable, I can't see how this could possibly be legal. Distributing converted asserts, say the music to FLAC, and then provide a way to recompress/convert it to the original files certainly wouldn't fly and I don't see the difference here.

    • @MarcinKralka
      @MarcinKralka 3 года назад +4

      It is not clean room, since this project is still based on the original game code (it doesn't matter if it was rewritten in C). The fact that Nintendo didn't take these projects down is quite surprising, since they absolutely have legal right to do that.

    • @seanmcgroty2248
      @seanmcgroty2248 3 года назад +6

      > Surprised that decompilation without a written spec and a second clean team is considered beyond legal challenge
      It's not, people are saying this because they want it to be true and their understanding of copyright law is colored by that. You're absolutely right that it is a derivative work. The definition of "derivative work" under US law is very expansive:
      "a work based upon one or more preexisting works, such as a translation, [...] or any other form in which a work may be recast, transformed, or adapted."
      Binaries (object code) are protected because they are themselves derivative works of the source code. It's possible there is a fair use exemption here for educational and commentary purposes, but as with any other fair use claim, it is something that can only be definitively evaluated in court.

  • @NFITC1
    @NFITC1 3 года назад +1

    I've been involved in a similar project for Final Fantasy VII (PC 1998). It's legal as long as two things are observed: 1) don't use that code for any commercial project (anything you make a profit off of) 2) don't use any of the original assets in the packaged game. I can make new models, textures, SFX, music, etc. to represent the original content, but I can't use anything on the discs it came with. Utilizing these restrictions you can recreate the game for use in any OS and even optimize performance and fix bugs.

  • @zuldaftw4534
    @zuldaftw4534 3 года назад +21

    I wonder if ocarina of time has that frame rate issue that was solved with a couple of command lines like super Mario 64, since both use the same engine

    • @Kawa-oneechan
      @Kawa-oneechan 3 года назад +8

      The actual engine isn't so much the issue, for SM64 or OOT. The issue would be compiler optimizations: ruclips.net/video/NKlbE2eROC0/видео.html

    • @Fig02
      @Fig02 3 года назад +11

      the same engine thing is also not really true. oot may have started as a fork of sm64 in the very beginning, but with both games decompiled its pretty clear that the code is not very similar at all. audio is the closes thing and that was probably somewhat of an external library already

    • @arnox4554
      @arnox4554 3 года назад +6

      Now it's time to decompile Perfect Dark and see if it can possibly be optimized any further.
      I doubt it since OG Rare were absolute fucking chads at development and pushed that system to its absolute limit.

    • @SockyNoob
      @SockyNoob 3 года назад

      @@Kawa-oneechan oh hey, it's you!

  • @smittyjaegerwebermanjenson5042
    @smittyjaegerwebermanjenson5042 3 года назад +1

    "When it comes to video games, I need to make my projects 10-11 minutes long despite being able to cover this in 20 seconds since I'm a youtube glutton"

    • @MajorasWrath1
      @MajorasWrath1 2 года назад +1

      What, you were expecting RUclips to not be consumed by capitalism like everything else is? This man has bills to pay.

  • @FatherJosephofMomma
    @FatherJosephofMomma 3 года назад +20

    I'm looking forward to see what can be done with OOT. Any framerate improvements that can be done like what Kaze done with SM64. Even those improvements work on actual hardware so I'm ready to see what mods can be done.

  • @ytnukesme1600
    @ytnukesme1600 3 года назад +6

    I would absolutely love it if they added compatibility with Henriko's HD textures pack for the 3DS version, it is in my opinion the ideal texture pack for this game.

  • @Okla_Soft
    @Okla_Soft 3 года назад +32

    I’m so excited about this…OoT is my favorite game of all time and now it will run on my x64 PC natively. Very cool how they did it as well.
    I’ve always been curious about how they programmed these classic n64 titles in general, and now I will finally get to see how it all works under the hood.
    Thanks for the update MVG, big fan of yours!

    • @FROZENbender
      @FROZENbender 3 года назад +10

      satire or not, still misinformation. no x64 native pc port, the code compiles to a n64 rom to be used in emulators and requires the rom itself to extract assets.

    • @proCaylak
      @proCaylak 3 года назад +11

      @@FROZENbender still, it's just a matter of time that it is going to get a x86-64 version.

    • @elnkr2603
      @elnkr2603 3 года назад

      @@proCaylak Yeah, I think people'd wait until the og version gets fully decompiled before porting though, since this is MQ

    • @beardalaxy
      @beardalaxy 3 года назад

      @@elnkr2603 Not necessarily, there are actually a lot of romhacks that require the debug rom. It's pretty much the same thing anyway, you could always lock out the debug stuff if you knew what you were doing, too.

    • @elnkr2603
      @elnkr2603 3 года назад

      @Lukas von das Eis I mean... It's a debug version, but it's a *Master Quest* debug ROM, no?

  • @8bitwarrior
    @8bitwarrior 3 года назад +1

    I love the accent “ocariner of time” 😂 great videos man.

  • @DouglasFish
    @DouglasFish 3 года назад +5

    I can't wait for 60fps versions of this game finally

    • @tr3vk4m
      @tr3vk4m 3 года назад +1

      this and SNES StarFox then I can die happy

  • @powertomato
    @powertomato 3 года назад +2

    TLDR: Nintendo has enough claim to issue a cease and desist, wheter that's rightful or not
    would need to be decided in court, as the specific circumstances are unprecedented.
    There are two reasons nintendo still can sue:
    1. Chances of success are not taken into account, anyone can be sued on any legal matter even when not doing anything wrong.
    Nintendo's lawyers only need to claim this method 100% recreates something they own the copyright to.
    The court would need to hear out experts on the matter and could not immediately dissmis. Nintendo could just stall out until the other party runs out of money.
    2. Nintendo might even have a case here, depending on details on which laws get applied. There are precedence cases where it was decided that reverse
    engineering per se is not infridgement, so that part is clearly ok. The grey area begins with using that information to recreate copyrighted work.
    Copyright is a complicated matter. It's not exact bits and bytes that are protected rather an abstract entity of the work.
    So say someone would read "Harry Potter" and write down their own version of it, even if the words don't match 1:1, that is still copyright infridgement.
    The information gained using reverse engineering is ok, whether distributing it in a form, that allows easy 1:1 recreations of (parts of) the original
    copyrighted material is (AFIAK) unprecedented.

  •  3 года назад +6

    I can only imagine the 2D backgrounds becoming 3D models and HD textures, as well as importing the 3DS remaster models, with modern controller support (to make free camera movement on temples and open fields) with support to Widescreen and 60FPS. Maybe even Raytracing... one can dream.

  • @cadcTV
    @cadcTV 3 года назад +50

    I would love a decompiled and optimized version of Perfect Dark, that game is more of an FPS hell than I remember it being..

    • @blacksunshine7485
      @blacksunshine7485 3 года назад +16

      It's in the works. Very early stages. The one we really need is Conkers Bad Fur Day

    • @joereno955
      @joereno955 3 года назад +8

      Yeah Perfect Dark was the one N64 game that gave me motion sickness. Probably the only non-VR game that ever did for that matter. The framerate on multiplayer is brutal, and when you get slapped and the screen gets all blurry... ugh

    • @VexAcer
      @VexAcer 3 года назад +11

      At least with Perfect Dark it's already possible to use 1964 to play it at 60fps with mouse & keyboard support.
      A full-on PC port would always preferable though yeah.

    • @cadcTV
      @cadcTV 3 года назад +3

      @@joereno955 to be honest, I actually like the blur effect you get when slapped or hit by an N - Bomb, it's pretty legit 😆
      When I was studying for my driver's license, they showed us what drunk drivers see when behind the wheel, and it looked very much like that, very disorienting, so the effect is actually quite realistic, hahah.

    • @DarkDyllon
      @DarkDyllon 3 года назад +3

      the XBLA version plays smooth as can be, on top of dual analog support.

  • @rokku87
    @rokku87 3 года назад +116

    Imagine a complete graphics overhaul with widescreen support, 60fps, ray tracing, and more. Good God this is going to be cool.

    • @masejoer
      @masejoer 3 года назад +7

      Just look to CryZENx's project - no imagination needed

    • @SixArmedSweater
      @SixArmedSweater 3 года назад +2

      And Nerrel’s done an amazing overhaul of Majorca’s Mask.

    • @rokku87
      @rokku87 3 года назад +9

      @@masejoer Yeaaah but thats more of a techniqal demo right? Projects like that are fucking awesome but rarely get finished

    • @rokku87
      @rokku87 3 года назад +7

      @Squant who hurt you

    • @joebykaeby
      @joebykaeby 3 года назад +1

      I already have that on Retroarch with the ROM

  • @aestheticPhantasm
    @aestheticPhantasm 7 месяцев назад +1

    The Legend of Zelda: Ocariner of Time, is a lovely game.

  • @fders938
    @fders938 3 года назад +41

    I think it's amazing that another game is getting the "sm64 decomp" treatment. I'm not really a Zelda fan, but I think it's great that more old N64 games are getting decompiled, and likely will get a PC port and graphical improvement mods.

    • @beardalaxy
      @beardalaxy 3 года назад +4

      My dream game to have decomped is Star Fox 64. Having a native port of that would be incredible and I feel like I'd actually want to delve into that code quite a bit. One step at a time though.

  • @RadikAlice
    @RadikAlice 3 года назад

    Heeeeyyyy, this is awesome! Big ups to the team! And thank you for covering it MVG

  • @RaynmanPlays
    @RaynmanPlays 3 года назад +13

    "Now you can compile your own Ocarina of Time game!"
    "Wow! Where do I start?"
    "First, you're going to need your own Ocarina of Time game!"
    (It's a joke)

  • @guser7137
    @guser7137 3 года назад +1

    People decompiling code are not reverse engineers. This is also not clean room. They are regenerating Nintendo's original code (or something close to it) through decompilation tools. To be clean room, they would not have access to the compiled code, they'd be recreating it based on the behaviour of the original. Most commercial software does not allow decompilation through license.

  • @finitekosmos
    @finitekosmos 3 года назад +21

    Very, very impressive work by the team that achieved this.

  • @Cruxics
    @Cruxics 3 года назад +1

    I'll take it. Daddy needs right analog support that doesn't Nintensuck.

  • @xeostube
    @xeostube 3 года назад +4

    one thing this should be brilliant for is making a well balanced hard mode - such as making the monsters take more hits, move faster, etc. This game is so good, it would be really fun to reexperience but with a harder twist.

    • @22222Sandman22222
      @22222Sandman22222 Год назад

      but how about master quest?

    • @xeostube
      @xeostube Год назад

      @@22222Sandman22222 same point applies there as well

  • @XxDermeisterxX25
    @XxDermeisterxX25 3 года назад +1

    Your videos always enlighten me, and remind me of how much passion and love I have for video games! Keep up the great work MVG!

  • @zombizzle_
    @zombizzle_ 3 года назад +3

    The insane projects that will come from this will be phenomenal.

  • @TrevorAvrett
    @TrevorAvrett 3 года назад +1

    The youtube video, "Super Mario 64 RT: Full ray tracing" by Digital Foundry does a decent job showing off the potential here. Can't wait to see recompiled Ray Tracing done with OOT

    • @saricubra2867
      @saricubra2867 3 года назад

      I'm more excited for +30 fps, the original N64 zeldas are unplayable by that extremely low framerate.

  • @GiuseppeGaetanoSabatelli
    @GiuseppeGaetanoSabatelli 3 года назад +7

    Seeing as there are just under 400 N64 games, I would find it interesting if we eventually decompiled and ported all of them before emulation got to a perfect state.

    • @MrMoon-hy6pn
      @MrMoon-hy6pn 3 года назад +1

      I dunno if Hot Wheels Turbo Racing needs a decompilation

    • @GiuseppeGaetanoSabatelli
      @GiuseppeGaetanoSabatelli 3 года назад +1

      @@MrMoon-hy6pn Really? Game is lit.

    • @handle.setUsername
      @handle.setUsername 3 года назад +1

      It took oot 2 years to be decompiled. I doubt anybody is gonna decompile random unpopular games.

  • @Cosmic-Bear.
    @Cosmic-Bear. 2 года назад +1

    7:30 Oh look, it's Breath of the Wild's camera!

  • @taru6342
    @taru6342 Год назад +2

    Can't wait for a 3ds port... wait a minute...

  • @carloseduardodeoliveiralei6224
    @carloseduardodeoliveiralei6224 2 года назад +2

    i wish they decompiled harvest moon 64, just to fix that atrocious clock time.

  • @thdremily
    @thdremily 3 года назад +3

    Incredible, never thought I'd see the day but, here it is, I can compile an original build of a N64 ROM on my own machine. Can't wait to see what comes out of this.

  • @gradearawk
    @gradearawk 3 года назад +2

    This stuff is like magic to me. Thanks for sharing.

  • @DeusGladiorum
    @DeusGladiorum 3 года назад +6

    9:15 someone at Nintendo manually wrote line breaks for each dialogue box in the game? Bruhhhh

    • @DeusGladiorum
      @DeusGladiorum 3 года назад +1

      @@ANJK-eu7xf I know, right? I wonder why they didn’t have a function compute line breaks at runtime. Aside from the manual route being tedious, I’d also imagine it’d take up way more memory compared to a function, and I’d also imagine memory was really limited back in the N64 times

    • @DeusGladiorum
      @DeusGladiorum 3 года назад

      @Lukas von das Eis Just crazy to see compared to today when all software/games are built to be ongoing services. Probably made it both very freeing and very confusing when every aspect of our code didn’t need to be these well-defined, reusable components

  • @Gonsoi
    @Gonsoi 2 года назад

    you are one of the best youtuber in terms of teaching their viewers how to do things. there was a video about game boy coding in C in your channel that is a good resource too!

  • @Green_Stache_Productions
    @Green_Stache_Productions 3 года назад +11

    We’re getting closer to Render 98

  • @teh_supar_hackr
    @teh_supar_hackr 3 года назад +1

    We can finally have Ocarina Of Time...on the SEGA SATURN

  • @redherring3253
    @redherring3253 3 года назад +3

    This project is NOT cleanroom.
    If you view commit 6136ee6debd570a63fc695a6f4664553303f2324, and navigate to include/PR, you will find SDK header files from a leak some years back.
    While the work they have done is really impressive, it cannot be called cleanroom.
    All of the other N64 decompilation projects use these headers too, unfortunately.

  • @Captain_Chaz86
    @Captain_Chaz86 3 года назад

    i been waiting the last two weeks for this video. Not disappointed! Thank you, MVG. very good video

  • @sr.alligator7569
    @sr.alligator7569 3 года назад +16

    I've always been fascinated with decompilation and reverse engineering projects in older video games, I hope to see PC ports of the original PS1 Spyro games one day.

  • @ikannunaplays
    @ikannunaplays Год назад +1

    This is great and OOT was a legendary game, I personally find that Twighlight Princess was the best Zelda game to date and it pulls heavily from OOT.

  • @wilsonicsnet
    @wilsonicsnet 3 года назад +3

    This is great. I can see the randomizer community benefiting from this one greatly.

  • @Ashe_S_
    @Ashe_S_ 3 года назад +1

    I'm ready for the Thomas the Tank Engine mods

  • @RC2225
    @RC2225 3 года назад +23

    I think those reverse engineering projects are the best way to bring old games to modern hardware and be independent from emulators. I know not every game can get such treatment and a bad or good remaster. For some old games if a publisher or dev would release the source code its still possible to sell the assets and have maybe an active community which maintains the underlying code. They could even sell an optional High Res DLC which requires the fan port.

    • @Wyatt_James
      @Wyatt_James 3 года назад +8

      So basically what Id did with Doom and Quake. Decouple the engine from the assets, release the engine under opensource later.

    • @SockyNoob
      @SockyNoob 3 года назад +3

      I wish more old games had their source code released tbh.

    • @Matanumi
      @Matanumi 3 года назад

      Its also not possible with more advanced games

    • @Wyatt_James
      @Wyatt_James 3 года назад +2

      @@Matanumi Sure it is.

    • @pearz420
      @pearz420 3 года назад

      Those assets are really all they have. Companies sell assets when they go bankrupt.

  • @samuelmagilocusts2870
    @samuelmagilocusts2870 3 года назад +2

    I’m so excited to see the mods for this! This is one of my favorite games!

  • @MegaManNeo
    @MegaManNeo 3 года назад +4

    Thanks for explaining why they went with a z64 ROM of Master Quest, that part confused me.
    I am actually not a huge fan of OoT but given what is possible with Mario 64 also, I'd love to see a 16:9 60fps version with HQ models and potentially a dedicated VR version either for SteamVR or the Quest/2.

  • @user-wu4fg7tc9y
    @user-wu4fg7tc9y 3 года назад

    man the content you are creating is gold

  • @coatlessali
    @coatlessali 3 года назад +4

    Maybe this is my calling to finally play it...

  • @Caolan114
    @Caolan114 3 года назад +2

    This was my first Zelda game, the one I put the most hours on, owned on every possible platform and when someone says the word "Zelda" my mind goes back to Link running around Kokiri forest or standing in the temple of time.
    Licking my lips thinking about the PC version with new models, lighting, widescren, framerate and ports to other platforms, they ported Mario 64 to DSi and DOS, PS2, Gamecube, PSP, 3DS

  • @danceswithmetroids162
    @danceswithmetroids162 3 года назад +11

    This kind of work is so important for game preservation. The copyright holders have an unfair amount of power to dictate the manner in which legacy content is available, if at all, and these kinds of projects ensure we don't have to put up with anti consumer practices and vault-keeping.
    Now let's decompile DK64 so we can access the Tag Barrel from the start menu

    • @SockyNoob
      @SockyNoob 3 года назад +6

      Copyright and DMCA laws need to be revised to include games as historical media. The US government already has books, music, and films in archives after a certain age. Video games are nearing that age

    • @heliusuniverse7460
      @heliusuniverse7460 3 года назад

      It would be hilarious if someone found and fixed the memory leak that made the expansion pak necessary in DK64

  • @aaroninkinen521
    @aaroninkinen521 3 года назад +1

    it would bring me sooo much joy to see this game come back full swing skyrim levels with this modding capability

  • @NewVideoTech3000
    @NewVideoTech3000 3 года назад +4

    It was a charming game, I played it when I was a teenager

  • @ROLOGamingOfficial
    @ROLOGamingOfficial 3 года назад +1

    Man I'll ve waiting for the
    PC port

  • @SolTheCleric
    @SolTheCleric 3 года назад +15

    Before opening the video I was like "I can't wait to see how many times MVG will pronounce Ocarina as Ocaryner".
    I was not disappointed. 😄
    I'm curious to see how many glitches and in-game exploits will still work with this version and how many of them will be "patched" as a side effect.

    • @Ashe_S_
      @Ashe_S_ 3 года назад +1

      If they do the version the speedrunning glitches are done on like they did this one, with matching hashes, then it *should* behave exactly the same. The only reason it wouldn't is if some weird hardware bug was causing any of those, which I don't think should be the case.

    • @user-yr1uq1qe6y
      @user-yr1uq1qe6y 3 года назад +1

      “Ocarina-r-of” Lol, this is exactly what went through my head when I read the title!

    • @beardalaxy
      @beardalaxy 3 года назад +1

      If I remember right, the debug version is very similar to the GameCube version? Just running on an N64 instead of a GameCube. So whatever glitches are present in that will be present here. Someone could theoretically fix them, but OoT glitches are usually things that need to be triggered on purpose so it's hard to imagine anyone actually doing it.

  • @benjithefox1278
    @benjithefox1278 2 года назад +1

    I'd love to see a Legend of Zelda OoT maker where you can make your own games out of it to play or share mod file wise.

  • @fancymank
    @fancymank 3 года назад +6

    So cool! There is a huge fan base for emulation and Zelda. I'm sure one of these awesome community members will have interest in porting on Android 😁

  • @KaraokeDuov2
    @KaraokeDuov2 3 года назад

    Adding yourself in the text for the game "Oh MVG-" "Mistakes were made." Classic.

  • @VulpesHilarianus
    @VulpesHilarianus 3 года назад +4

    So I wonder if this will make it possible to institute the open world system that was originally going to be in the game. Getting rid of the specific loading routines and making the game stream the data the way Windwaker does. That and cutscene skips would be nice.

    • @KopperNeoman
      @KopperNeoman 3 года назад

      No need for data streaming unless you're running insanely HD models, textures, and sounds. Just load the whole thing in one go and be done with it.

    • @VulpesHilarianus
      @VulpesHilarianus 3 года назад

      @@KopperNeoman Well that's the thing. Once the data streaming's in place, it opens up the game for better implementation of those things. I for one would really like real HD models, instead of the weird bad plastic mould looking ones from the 3DS ports.

    • @avinadadmendez4019
      @avinadadmendez4019 3 года назад

      It would be hard but 100% possible

  • @TheCoolDave
    @TheCoolDave 3 года назад +1

    Hmmm... PC port in 4K... maybe it's time to replay this one... When it's ready of course :)