Remember the efforts to reverse-engineer Super Mario 64 a while back, which resulted in unofficial ports to systems like the Dreamcast and PS2? Well, a similar project is underway to decompile The Legend of Zelda: Ocarina of Time’s game code, and it's almost finished.
The Zelda Reverse Engineering Team (ZRET) has been working on the project for over 18 months, and the team now claims the venture is 91% finished.
While Nintendo took legal action against those who used the decompiled Super Mario 64 code to create mods and post them online, this kind of reverse-engineering project is perfectly legal because the project recreates the original code from scratch in modern coding languages (in this case, C) without using any of the original copyrighted assets.
Why is such a project a big deal? Well, in the case of Super Mario 64, a host of ports were made available, including one for PC which boosted the screen resolution and opened up all kinds of modding opportunities, such as widescreen mode and ray-tracing.
Such work also preserves the game in a way that means it can easily be made accessible in the future on modern formats, outside of Nintendo's original source code and the various versions of the game (N64, GameCube, 3DS). Decompiling a game in this manner can also lead to new bugs being discovered, which can have ramifications within the popular speedrunning community.
You can follow the progress of ZRET here.
[source videogameschronicle.com]
Comments 51
OoT is so insanely blown open that I actually doubt they’ll find that many tricks from decompilation that they haven’t already found.
Sshhh, don't report on it before it's done!
We already had Nicalis try to put the kibosh on the Cave Story decompilation.
Delete this story right now.
I appreciate that Nintendolife has taken a shine to more stories about romhacking, data mining, and such.
And I really appreciate the fans doing what Nintendon't.
No one's talking about the fact that the OoT Unreal Engine remake people aren't waiting for these guys to finish and instead, steals assets from Hyrule Warriors.
Yeah... I don't think that makes it legal
@nessisonett
I'm fairly sure that the tricks that made it possible to "beat" the game under 7 minutes were discovered during the course of this decompilation effort.
https://www.speedrun.com/news/857-2021-7-26-the-legend-of-zelda-ocarina-of-time-7-minute-barrier-broken
Arbitrary code execution and stale reference manipulation, I'm pretty sure these are known thanks to decompiling the game.
Removed - unconstructive; user is banned
Played it back in the day when it was first released and it blew my mind. Never touched it since and don’t intend too……would rather just cherish the memories of it.
@adamman12345
The clean-room reverse engineering of the actual program code is entirely legal.
Using your reverse engineered source code to recompile the game without the assets, being the script, the audio, the graphics, the animations, the models etc, would also be legal.
The concept is that the recompilation from the reverse engineered source code, is that you use the assets from your own legally sourced ROM.
If you build using an illegally sourced ROM, or if you distribute the build that contains such assets, either of those are tantamount to distributing a ROM because of the copyrighted material.
@adamman12345 I think you can do what you want with your own copy of a game in your own home. I'm going to turn my copy into kneepads and fashion my N64 into a hat.
So if I take a successful pop song, decompile it and reassemble the lyrics in another language, I can use them as I wish?
Digital laws are weird
Public domain needs to become a thing again, look at what they done to Super Mario 64, they made the game even better.
Copyright laws are important to make sure artists and companies can get money from their creations, but once the creator dies, the creations must become free for everyone to use, and if it's a company, the creations must become available someday since companies can last centuries, and there was a time where copyright only lasted 28 years, with those laws, games like Super Mario 64 and Ocarina of Time would soon be public domain, and many NES and SNES games would be already public domain, allowing everyone to copy, share and modify them for free, while 28 years looks too short, copyright in USA is now 95 years if it's owned by a company, it's too long.
Sure, with copyright lasting less, Mickey would no longer be owned by Disney, Spider-Man would be no longer owned by Marvel, and Mario would be no longer owned by Nintendo, but it's a small price to pay, and trademark laws can be a loophole where Nintendo would still own Mario forever since he is the mascot of Nintendo, but not the games starring Mario, only Nintendo would be allowed to make more Mario games, but the old classics would be free to be shared and maybe modified.
@adamman12345 ok boomer. once the original hardware begins to fail, then what? this is great preservation effort if anything
@adamman12345 The original hardware and cartridges won't last forever.
Plus, fans don't want to play on the original hardware, they want to decompile the game, and add a bunch of improvements that not even an emulator can provide, since an emulator is still bound to the limitations of the original N64, this allows the game to run without an emulator.
Wide-screen and higher frame rate than 30fps would be really cool for OOT
@victordamazio Also, a story about copyright, when Mickey Mouse was created in 1928, copyright lasted 56 years, when 1984 was coming, Disney convinced the USA congress to change copyright laws to 75 years, when 2003 was coming, they changed the laws again to 95 years, with Disney giving a lot of money to politicians, Mickey is set to become public domain in 2024, they will probably not try to change laws again, but use the trademark loophole.
This is a serious problem because copyright is more than cartoons and videogames, it's also science books and scientific articles.
And some people say Disney did nothing wrong, they are just protecting their creations, but Disney built their empire by using dozens of public domain stories and characters like Snow White, Pinocchio, Sleeping Beauty and The Little Mermaid.
They are taking assets from the sold product and are decompiling from that product and after this, reconstructing source from decompiled resiult. Definitely breaching copyright regulations. If done from scratch and creating code from scratch, that would be a recommendable achievement. They have to recreate music, levels, models, particle effects, textures and sprites as well, otherwise it’s still redistributing copyrighted content. Why do people think they could claim it their own? Start creating your own game to get your 5 minutes of fame and grow up!
@Enigk That's illegal, it's a crime against fashion 😂
(Just kidding of course!)
Reverse engineering itself might be legal, releasing mods or ports based on reverse engineered code is not.
The EU Computer Programs Directive allows reverse engineering for the purposes of interoperability, but prohibits it for the purposes of creating a product and/or releasing information obtained through reverse engineering of software (source).
In addition to that, most End-User License Agreements (EULAs) specifically prohibit reverse engineering. Courts have uphold these contractual prohibitions in the past.
The question is if Nintendo is actively going to stop it. Ocarina of Time is almost 25 years old and it might not be worth their time.
@adamman12345 the game engine needs fixed.
Nintendo's original, shoddy, unoptimised unskilled, pathetic inept coding needs to be cleaned up.
@NielsNL always a copy and paste armchair borathon warrior.
@Megame go cry me a river anti gamer spawn of satan. Repent.
im eager to find out if the dev community will be able to detach the day/night time cycle from the frame rate. Forcing the n64 version to play at 60fps instead of 20 makes days and nights last like 30 seconds ...
I love the extreme devotion and love for Nintendo’s history these modders and programmers have, and very cool to see these projects. For me, I just love original consoles on CRT and that’s the way I play all those games. I love the way the unique phosphor bloom and bleed of CRTs treat the games - an effect just as beautiful as any mod. Nostalgia plays a part too of course.
@liveswired Actually Nintendo are well known for their incredibly efficient coding. They were just coding on relatively limited hardware.
@liveswired As long as one does this for developing their own skills, nobody complains. Just don’t distribute other people’s work.
I can't wait to see OoT with ray tracing
@ralphdibny It's a crime against one of the greatest games of all time certainly. But it's OK as I can just download the ROM and play that rather than on my GameCube, 3DS or Wii U copies of it. (For the easily offended, this is a joke as I will play it on my 3DS as I started a run through the games on that earlier this year.)
@Enigk to be fair, I've only played the 3D version of ocarina of time as I had a PS1 at the time of its original release. Loved the game though, the 3D was trippy as hell and made the screen feel so much bigger than it was!
Fantastic news, if Nintendo has no interest in preserving these games or bringing them up to any kind of modern standards, then thank god the community cares much more. I've been playing Mario 64 at 60fps and with ray tracing and I think Ocarina could arguably benefit even more
@liveswired
Ah, yes. The "shoddy, unoptimised unskilled, pathetic inept coding" that somehow became one of, if not the highest rated game ever.
I like how people say they want to “preserve” games from just a few decades ago in a digital age where the game should be readily available for your lifetime.
@liveswired It's disrespectful to the original version. Games, especially retro ones, are art and should be left as is.
Waste of time since it can't be used for anything.
If they upgrade the game, Nintendo will get it removed. More waste of time.
@SonOfVon
Ooooh..."boomer"! You're so edgy!
@adamman12345
https://youtu.be/HLWY7fCXUwE
https://youtu.be/dp-DRU24J18
Please watch these presentations by a developer of the Megaman Collection ports and the NHK Anniversary Collection ports.
The 2nd one is where he addresses that. In the case of an arcade game where there may be bugs or functional issues like mapping controls from arcade mapping to modern controller mappings, there is a need to modify the original game to provide a better experience.
It's not a disrespect, the amount that Sega approves of Sonic fangames and even hired fan for Sonic Mania shows this. Some games still have game breaking bugs like soft-locks. Games that were before the digital release and may never get another re-release.
And to think they could have done something useful with their lives...
https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32009L0024&from=EN
Article 5
Exceptions to the restricted acts
1. In the absence of specific contractual provisions, the acts referred to in points (a) and (b) of Article 4(1) shall not require authorisation by the rightholder where they are necessary for the use of the computer program by the lawful acquirer in accordance with its intended purpose, including for error correction.
2. The making of a back-up copy by a person having a right to use the computer program may not be prevented by contract in so far as it is necessary for that use.
3. The person having a right to use a copy of a computer program shall be entitled, without the authorisation of the rightholder, to observe, study or test the functioning of the program in order to determine the ideas and principles which underlie any element of the program if he does so while performing any of the acts of loading, displaying, running, transmitting or storing the program which he is entitled to do.
Article 6
Decompilation
1. The authorisation of the rightholder shall not be required where reproduction of the code and translation of its form within the meaning of points (a) and (b) of Article 4(1) are indispensable to obtain the information necessary to achieve the interoperability of an independently created computer program with other programs, provided that the following conditions are met:
(a)
those acts are performed by the licensee or by another person having a right to use a copy of a program, or on their behalf by a person authorised to do so;
(b)
the information necessary to achieve interoperability has not previously been readily available to the persons referred to in point (a); and
(c)
those acts are confined to the parts of the original program which are necessary in order to achieve interoperability.
2. The provisions of paragraph 1 shall not permit the information obtained through its application:
(a)
to be used for goals other than to achieve the interoperability of the independently created computer program;
(b)
to be given to others, except when necessary for the interoperability of the independently created computer program; or
(c)
to be used for the development, production or marketing of a computer program substantially similar in its expression, or for any other act which infringes copyright.
3. In accordance with the provisions of the Berne Convention for the protection of Literary and Artistic Works, the provisions of this Article may not be interpreted in such a way as to allow its application to be used in a manner which unreasonably prejudices the rightholder's legitimate interests or conflicts with a normal exploitation of the computer program
Is it really confirmed that this is legal? The writer seems pretty confident about that. But it seems fishy to me.
It's not legal to translate a work of fiction into another language without permission from the copyright holder. I imagine this would be covered by such laws.
@victordamazio You seem to forget that humans are greedy above every other trait.
@TheWingedAvenger Ya, like posting about how others spend their time is wrong.
its based on master quest though, not base oot
You can actually make the PC "port" of Super Mario 64 compatible with the Wii U. It actually looks a lot better than the version of 3D All Stars, due to the game running nativally on the console, but obviously, you can't take the game away from home with you.
Yeah lets pretend nintendo gonna be okay with this then get upset when they do something about it
@CactusMan I was taking it for granted that they’d publish the code or publish creations they made with it. They aren’t going to?
Also, this article made it sound as though it would be legal to distribute what they’ve done cause it would be in another language.
@gcunit ha ha ha, could you imagine if people did that? Oh wait, people actually do that...
As weird as it may sound, decompiling and rewriting the code in a new language is not the same as copying the code as is, since you probably have to adapt it to the new language paradigm, or, even if it's the same paradigm, at least its specific structure and instructions. I imagine they look at the original code, understand what it's doing and write their own version. In a sense, it's paraphrasing...
Even if both codes do the same thing, you can't copyright intangible ideas, such as what's the code supposed to do.
If that was the case, the entire software industry could collapse at any moment under a multitude of lawsuits, since - if you look beyond games - a lot of competing software (such as, say, Word Processors, or Enterprise Management Systems) have similar features, due to their nature. Thus, they may have a very similar code underneath - since devs try to follow best coding practices, design patterns and check stackoverflow.com if they're facing an issue.
It looks like adult Link is getting a piggy-back ride from child Link.
I made an account just to say that official Nintendo is also doing the same thing for their 35th anniversary Port of ocarina of Time. They have to take the entire game and make it a module for unreal Engine 4 so they can do the switch between old graphics and new graphics.
I also want to say that if I happen to get my hands on this source code I am 100% probably going to do the same thing in unreal Engine and add VR 👀
Show Comments
Leave A Comment
Hold on there, you need to login to post a comment...