Ocarina of Time fan PC port expected to release in April

Screenshot-of-Link-as-an-adult-from-Ocarina-of-Time-Nintendo-1998.png

Last November, the Zelda Reverse Engineering Team successfully reverse-engineered the entire source code to The Legend of Zelda: Ocarina of Time. After this happened with Super Mario 64 in 2019, a PC port soon followed, and it looks as though the same will be happening with Ocarina of Time soon. Speaking to VGC, a group calling themselves Harbour Masters have announced that they're working on a PC port of the project, and that they're expecting to release it at the beginning of April. “I’d give it approximately 90%. We’ve been hoping to be complete by the middle of February and use a month or so until April 1st to refine the game before release," said Kenix, a developer from the group. "We’re hoping to have a public repository available in late February.”

The group also plans to make a number of enhancements to the original title, like widescreen support and plans for a 60fps release down the line. Harbour Masters' port will also make modding easier for their title, allowing for HD texture packs or other enhancements to be more easily made, because "[their] game has an asset loading pipeline much more similar to modern games."

Like the Super Mario 64 decompilation, it's unlikely this project will be taken offline because the team wrote new code by deconstructing Ocarina of Time, rather than basing it off of leaked proprietary documents. "We packed assets into an external archive," Kenix told VGC. "No assets are linked into the exe. Our belief is that this will prevent a DMCA takedown from Nintendo as SM64 linked all of the assets into the .exe file." Only executables that included those assets were struck by Nintendo; the reverse-engineered code itself was fine. However, Take-Two is currently taking legal action against similar decompilation projects, so only time will tell if things are safe for this project.

You can follow Harbour Masters' progress on their Discord server.

:arrow: Source
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,105
Country
United States
the OOT.exe is the game along with everything else, but you can click it without going into visual studio to open it up:

1643784539062.png
 

Ecchi95

Well-Known Member
Member
Joined
Jul 7, 2019
Messages
121
Trophies
0
Age
29
XP
890
Country
United States
I wonder what will come first. Enhancements for this port, or the release of the "Harbour Masters" port with day-one enhancements?
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,105
Country
United States
The instructions have changed slightly. There's now three more python scripts for extracting assets. The discord channel also seems to have changed. I need to ask them about that.
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,105
Country
United States
I'm recompiling ooot, because I thought the new python scripts were an update. just found out, they exist so that you can now decompile the rom purely in windows instead of using linux for the first part. I decompiled the whole thing in linux again while also using the scripts. I think zapd was updated, if that did anything.
 

thelitbulb

New Member
Newbie
Joined
Feb 4, 2022
Messages
1
Trophies
0
Age
37
Location
US
XP
23
Country
United States
That does not mean anything.

If the reverse engineering happened by careful observation of resulting program, aka clean room (though that can require further steps in some scenarios) then that would be one thing (though potentially dubious at some levels). This would also be a Herculean, indeed probably Sisyphean, effort and I would not expect a team of 100 dedicated high end coders starting 1 day after the original game's release to be within farting distance of a 1:1 compilation at this point.

If the reverse engineering happened by taking the existing code, running it through a program to make it a bit more readable by the common man and tarting that result up a bit, aka what happened here then it is much like taking someone's PNG image, saving it as JPG and claiming it is now yours (although this PC port is more like taking that JPG, adding a border, saving it as BMP and claiming all good). Quite why Nintendo have not gone hammer and tongs at the existing stuff (various pokemon and mario NES/SNES stuff being around for some time now, way before the mario 64 stuff was even technically feasible) I am not sure; every reading of law, previous case and in some cases the same rationales as they use against fan games would appear to be on their side if they did want to go after people here. Not including any graphics, music or text within the game is one thing and better than having that in there as well, but it is not like you can't copyright code either.


Anyway interested to see what they did here; I took a look at the Mario 64 original and then the first stage PC port to see what was changed and they got away with far less change than I imagined, saw the Zelda stuff when it dropped with an eye to doing things there and it looked like that would be far more of an effort (most of the code was not as nicely organised, I presume Nintendo also learned a thing or two about the N64 hardware so you also have that to unpack, if they are also tweaking a few things along the way for draw distance/fps/resolution/... then that would be further effort).

The code was written by careful observation. The developers have not copied a single line of code written by Nintendo. Furthermore, the assets are added to the game by the player not the development team. No copyright infringement has taken place by this project.
 

godreborn

Welcome to the Machine
Member
Joined
Oct 10, 2009
Messages
38,471
Trophies
3
XP
29,105
Country
United States
there's also a discord channel. not sure what happened to the original, but I heard it got deleted like a day or two ago, so the one now is much more basic. there's a development section where you can talk to the developers. though, I don't know where the c button controls will go if not the dpad. what they need is certain things like the fire retardant tunic and the steel boots to be c-button swapable. I don't know how well that will work though. I lost the fire tunic in ganon's castle on the switch, so I had to buy a new one. I don't even have the third tunic, which I'm not even sure what it does. :-/
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,284
Country
United Kingdom
The code was written by careful observation. The developers have not copied a single line of code written by Nintendo. Furthermore, the assets are added to the game by the player not the development team. No copyright infringement has taken place by this project.
Careful observation as it pertains to this sort of thing usually means you sit there with an emulator, maybe a memory viewer (think cheat search) but some even caution use there, and pixel counter. Careful analysis of your disassembler and decompiler (which is still a disassembler, just with some probabilistic steps for the output formatting), which is the only way this can happen*, then being the sort of thing that gets one slapped.

Usual comparison being so you want to make your word processor compatible with MS Office, a fine goal. Open new document in your particular revision. Enter basic text line, maybe two/two pages, save and see what the result is, change text, see change, make it bold, make it italic, make it underlined, make a hyperlink, insert a picture, insert a different picture, different justification, different font, tables next, columns maybe, page size now, landscape/portrait, repeat for all other 900000 functions remaining (though it will probably follow a pattern and you will soon run into the most people only using core functionality/good enough for homework for the kids) including what happens when you have a right justified bold italic underlined partial hyperlink in different fonts embedded in a table... The second however you bust out Mr Disassembler to watch how the original program itself decodes the file (MS office being famously incompatible with itself and bugged as you like, said bugs making things more difficult for the reverse engineering set if you are going for 1:1 with the original as you have to figure out what the crack smoking just graduated coding school type was thinking that day) and you are in breach of some kind of law or regulation** and your project (possibly also yourself in the eyes of some reverse engineering projects -- for a related one then Dolphin refusing to accept code from those that read the leaked documentation being an example of the logic in action) is tainted. I speculated later that Nintendo probably fear some kind of adverse result (is legal by some quirk, random judge decides actually the "for disabled peeps" that forms part of the backbone of emulation being legal stretches this far, maybe the interpretation of interoperability allows something here...) if they took action here so choose to leave it "grey area" and go after the resulting projects as that is the only thing I can imagine holding them back for stuff like this.

*there is bound to be some hidden code, or code with an activation condition so obscure that you will not encounter it during play/have enough of it remaining to fill in some blanks.

**other than debugging your code you could be thinking Nintendo stole some of yours so there are some scenarios where you want to apply it to the original code under general interpretations of law.

There are people that do the equivalent of the document example in games. Look at the assets of something, learn by play, possibly with some savestates and cheats and map editor to help things along, realise not all levels will feature all units/concepts, and you can make a pretty faithful recreation***/interpretation of things, if the engine is based on an open source one then figure out what changes (the devs themselves probably advertising them on the box -- clear doom clone but you can look up and down). It will however be a recreation/interpretation only, and the chances you get to a point where you compile to 1:1 of the original game... unless your original game is tic tac toe on the PC with all function names visible and coding the obvious plays it is probably not going to happen this century -- even minesweeper has a bunch of hidden stuff you are unlikely to find simply poking in the memory https://tcrf.net/Minesweeper_(Windows,_1990) .

***though for the RTS and turn based strategy most go in for in these sorts of projects (seriously https://osgameclones.com/ is full of them) there soon comes a temptation to improve the AI, and probably change things to work better on another front.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    LeoTCK @ LeoTCK: im going off now...I'll turn off my brain