Posted on December 01 2021 by Joseph Berlinger
The coding languages and digital architectures that are used to create video games change over time. Put simply, things that functioned properly ten or twenty years ago will likely not work on modern systems. Nintendo products are no different. That is why a group known as the Zelda Reverse Engineering Team (ZRET) have just finished decompiling and translating the code for Ocarina of Time. The two-year long project was initiated in the hopes of preserving the first 3D Zelda game for posterity. To create this modernized digital backup of the game, the team used legal means known as reverse engineering.
ZRET initiated the painstaking process of reverse engineering Ocarina of Time into parsable C code over 20 months ago, with the team entering the final stretch back in August. A similar two-year effort to reverse engineer Super Mario 64 , initiated by speedrunners wanting “to understand the game’s code better in order to help find those [speedrunning] exploits,” came to fruition last year.
ZRET, in a statement to Video Games Chronicle, reported that its decompilation work on Ocarina of Time was completed last week when “a notable community member as well as a project lead… matched the last-remaining function in the project. This means that all compiled code in the game has been turned into human-readable C code.” The statement continued, “We thought for a time that we may never be able to match every function completely, so this is an incredibly exciting accomplishment. Dozens of people helped work on this project, and together we were able to achieve something amazing.”
Despite this important milestone, some additional work needs to be done before ZRET can consider the project complete. The project lead reportedly still needs to submit his work through a so-called “pull request,” and the work needs to be reviewed. The team also plans to create documentation and perform other organizational and support tasks. Once these remaining tasks have been completed, ZRET’s Ocarina of Time project progress chart will show 100% completion.
So, how does this reverse engineering process work? To make it simple, imagine a completed video game as a large club sandwich. The bread is the computer code, and the rest of the ingredients are the game. That makes Ocarina of Time a twenty-three-year-old sandwich. It might look tasty, but the bread is moldy and the meats and cheese have long expired. To decompile the sandwich, you break it down into its component parts by separating the bread, ham, turkey, cheese, lettuce, tomatoes, etc. You can now see all the individual ingredients used to make Ocarina of Time. Based off this recipe, you can now create your own club sandwich using fresh ingredients. This can legally be done by avoiding the use of proprietary Nintendo-brand meats (such as art assets and sounds). Now you have a reverse-engineered Ocarina of Time sandwich on some fresh code-bread. Enjoy it like a tasty lunch!
This translation project opens up some exciting ramifications. With a fresh build of Ocarina of Time on the internet, industrious modders can create all manners of content using more readily available languages of code. Also, the process of porting the title to PC just got a lot easier thanks to the team’s efforts. ZRET project lead Kenix, however, has remarked that the reverse engineers “consider that outside of the scope of what [they] do. [They] just decompile the game. Someone else will inevitably pick it up and write the PC port.” The team remains adamant that it will not be involved in any potential efforts to adapt the title’s code to other platforms.
The Zelda Reverse Engineering Team is also currently working on additional translations for Majora’s Mask, The Minish Cap, Twilight Princess, and Breath of the Wild. The team also reportedly plans to decompile other versions of Ocarina of Time.
Would you be excited to see fan-made Ocarina of Time mods? Would you eat a twenty-three-year-old game sandwich? Let us know in the comments.