How an online community took back the Legend of Zelda
I have no first memory of The Legend of Zelda: Ocarina of Time because it’s been in my life for as long as I can remember. Before I had the coordination to play the game myself, I watched my older brothers play it for hours. When I could finally play through it myself, it felt like flying.
I chase that dopamine hit once a year or two by playing on Ocarina of Time, which normally requires dusting off my old GameCube and hoping the disc isn’t too scratched to read. But I haven’t played for the past few months Ocarina of Time not at all on a Nintendo console. Instead I played it on something called Ship from Harkinian: an unofficial port of Ocarina of Time for PC that would have been unthinkable a few years ago.
For decades, Nintendo has graciously indulged my – and other players – love for Ocarina of Time by re-releasing the much-celebrated game on each of their home consoles since the Nintendo 64. In a way, these official ports have allowed the game to grow with me. But not all ports are created equal. Ocarina of Times most recent re-release as part of the Nintendo Switch Online collection was, in a word, terrible.
Finding ways to play the game elsewhere was tricky at best. Before ship, playing the game on a PC requires the use of an emulator to mimic the hardware of a Nintendo console. Emulators are notoriously finicky and sometimes have a dramatic impact on gameplay. But building a native, non-emulated port requires access to: Ocarina of Times source code — the human-readable code written by the developers who created it.
This poses a serious problem because: Ocarina of Times source code is kept strictly between God and Nintendo. For mere mortals the only insight into the inner workings of Ocarina of Time is the almost unintelligible binary composed of the source code and loaded onto the cartridge of the game. That’s where something called decompilation comes in.
Decompilation is a form of reverse engineering in software. Like starting at the end of a maze and working backwards, a decompilation enthusiast writes new code based on the compiled binary of the program they’re trying to match. Instead of guessing what the original source code looked like, all they need to do is get the new code compiled to the same binary. Once they’ve accomplished that, their new code—which will likely look very different from the original—can be treated as source code, open to modifications, improvements, and recompilation.
This can be an incredibly tedious, time-consuming process, especially for a large program like a video game. But Ocarina of Times fanbase is committed, and in 2020 a group of those fans under the name Zelda Reverse Engineering Team (ZeldaRET for short) announced their intention to decompile the entire game, along with several other entries in the franchise. For the first time in over two decades, it felt like a fan-made PC port was within reach, but ZeldaRET had no such plans. The entirely volunteer-based group is mostly made up of speedrunners and modders who have no intention of porting the games they successfully decompile (a fact they make explicit countless times on their website).
And who can blame them? While software reverse engineering enjoys marginal legal protection, transferring games that someone else has developed is a lawsuit minefield, and Nintendo is notoriously aggressive when it comes to defending their intellectual property. In addition, the stated goal of ZeldaRET is a better understanding and preservation of the classic games, the need of which is increasingly apparent in the video game industry and does not require a risky transfer effort.
But unlike Nintendo, all ZeldaRET code is open source. A publicly available code base and a highly committed fandom made it almost inevitable that a port was attempted, legally risky or not.
Zelda fans Jack Walker and Kenix rose to the challenge. In June 2020, when the decompilation project was only 17 percent complete, the two began exchanging ideas for a port based on the growing code base. In November 2021, after gathering a team of volunteer developers, the first real harbor construction was started. And in March of this year, four months after successful decompilation and 23 years after the initial release of Ocarina of Time, ooT PC port — now called Ship from Harkinian regarding the ill-conceived and often memed CD-i Zelda Games – was made available to the public.
So everyone can continue Harkinian’s ship Download Discord and the full game? No, that would be piracy, and ship‘s developers are strictly anti-piracy. What you’ll find on their download page instead is a sort of shell of the game, with all the decompiled game mechanics and logic ready to go, but none of the copyrighted items like character models, level maps, or music that make the game playable.
When downloading, the user has to “build” the port to take effect ship a specific ROM file of the original game – basically a copy of the binary on the game cartridge or disc – from which the port takes those assets. This means that the only legitimate way to run Ship from Harkinian requires owning a version of Ocarina of Time and have the tools and know-how to link it to a program running on your PC. That is not an easy task, but well worth it, because the end product is something beautiful.
Once built, opening Ship from Harkinian delivers a familiar scene for Zelda fans: a lonely hill lit by a setting moon and rendered in nostalgic primitive 3D graphics. Sentimental chords are struck on a surprisingly faithful sampled piano; a well-known figure rides a well-known horse across the screen.
This title screen is exactly what you would see in an official version of the game. In fact, the experience as of now is exactly what you’d expect from the original game, albeit with native high-definition output, widescreen compatibility, full stability and impressively miniscule input lag.
But to really dive into it Ship from Harkinian, you have to dive into the settings bar. There you will find cosmetic options, game improvements, cheats and a host of other features lovingly developed by an active and talented volunteer development team.
When I play, the game runs at a smooth 60 fps, three times the jerky frame rate of the original. Link’s tunic is a light blue, matching his updated palette of Breath of the Wild. Climbing speed and block pushing have been increased to smooth out the game’s more tedious puzzle mechanics, and I can use the extra buttons on my gamepad to equip more items, saving me less time pausing and pausing for swapping of equipment. There are dozens of other small changes and updates that will make the aging game feel positive again, and more to look forward to with future releases.
But what about the sleeping bear Nintendo? It may only be a matter of time before the entire project is forced underground by a single memo from their prodigious legal team. Under modern copyright law, rightholders can exercise almost unlimited power over their work; just the perception of copyright infringement is enough to unleash a series of stifling legal threats. But the fact that ship has taken so long with no news from Kyoto, is reason to be cautiously optimistic. Perhaps the community’s commitment to self-monitoring against copyright infringement, aggressively stamping out any attempted or advocacy of piracy in their ranks, will pay off.
As long as Nintendo is content with releasing alarmingly low-quality versions of their classic games for shockingly high prices, Ship from Harkinian is proof that the unofficial option is sometimes the best option. In a perfect world, ship would provide paid work to its dedicated developers whose efforts could be widely and openly celebrated. In the real world, the developers are not compensated and their labor of love is enjoyed in hushed tones, always nervous about the future. They keep doing it because they love the game. It’s a love I understand.
Derek Hill is a freelance writer and designer. In his spare time, he enjoys woodworking and tours modern architecture.