Is this similar to the Ship of Harkinian recompiles, just as a different project?
Not really. The Ship of Harkinian ports are based on decompilations, which is where you reverse engineer some equivalent source code using the final binary as a reference point. Then, you can port that source code to anything else you can build for, like a PC, phone, Wii U or Dreamcast.
Recompilation, which is what this project is, is closer to (and some have gone as far as to say that it is) emulation. It's taking the final binary and then, without actually working backward to get source code, translating the raw instructions directly into code that compiles for a different platform.
It's kind of difficult to get across the difference without being familiar with what both are doing behind the scenes, because the result is obviously similar. Both require human intervention, but decompilation is the more labor-intensive approach, while recompilation is somewhat more automated.
The advantage of former is that you end up with a relatively human-readable codebase to work with, while the latter doesn't bring you any closer to understanding how the game works internally. Both ultimately allow for porting the game to new platforms. Decompilation will almost certainly result in a more optimized final game, because it avoids the overhead of "emulating" the original architecture. However, for the same reason, recompilation can be generalized to other games that originally ran on the same hardware.
Thank you for the detailed explanation! I had thought Ship was decompiling and recompiling it into its own package, but what you describe makes more sense.
Ship of Harkinian does indeed get recompiled but the steps before recompilation are more accurately described as decompiling.
The Majoras Mask recomp might be better described as “automated recompilation”, implying there was no/limited human involvement in the _de_compilation step first.
So similar to how WINE works then? This is taking the MM binary and building a wrapper around it that translates it's system calls into something generic?
That's closer but rather than being a wrapper, it takes the original architecture's instructions (MIPS in the case of N64) and generates a C/C++ function which implements that instruction. Then you call those functions in the same sequence as the original compiled machine code ran instructions.
That's a relatively inefficient way to make a port, because you're basically reimplementing the original CPU in software, hence why some have described it as emulation. At the same time though, most recompiled games are like 15-20 years old, so a bit of overhead on a modern PC isn't going to hurt you too much.
But anyway, unlike WINE, the original binary is not used any more after recompilation. Instead, you have a native binary for the target platform, the translation having occurred at the time of recompilation (when you built the port binary).
OK, now I understand! And I get why they say the code isn't human readable, haha. Thanks for taking time to explain!
If OoT could be made to look as good as TotK, that'd be something!
At first I was like "Why would anyone want to change OoT's art and mess with perfection?", but I do have to admit that I have really been craving a modern Zelda game in the vein of the N64 releases, which is a formula they haven't touched since Skyward Sword in 2011. And Oblivion just recently showed me that sometimes a new coat of paint really is all you need.
Wind Waker at least is a game that (visually) aged very gracefully and I think can still stand against newer games even now, but I've played it to death and just wish we had something new.
Also not to discredit BotW/TotK or anything, I think they are still great games and I also really enjoyed them, but they're just built different. Zelda is now a franchise of 3 distinct styles, but only two of them (2D and open world) are still getting new releases.
I'm just waiting for the melee decomp to be finished
Or Majora’s Mask but with wave dashing
The above link is recommended to learn more about the added mod support! (Just to add some context.)
This is the video I didn't know I was looking for in life.
I've been very into Zelda rando stuff lately, but the mod support shown here just seems above and beyond what I've seen so far from my limited experience with Ship/2Ship.
Does this finally mean Ben Drowned can be realized?
Wait, modding?! WOW!
Is there any project doing a decomp/recomp of Mario Kart 64?
Games
Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.
Rules
1. Submissions have to be related to games
Video games, tabletop, or otherwise. Posts not related to games will be deleted.
This community is focused on games, of all kinds. Any news item or discussion should be related to gaming in some way.
2. No bigotry or harassment, be civil
No bigotry, hardline stance. Try not to get too heated when entering into a discussion or debate.
We are here to talk and discuss about one of our passions, not fight or be exposed to hate. Posts or responses that are hateful will be deleted to keep the atmosphere good. If repeatedly violated, not only will the comment be deleted but a ban will be handed out as well. We judge each case individually.
3. No excessive self-promotion
Try to keep it to 10% self-promotion / 90% other stuff in your post history.
This is to prevent people from posting for the sole purpose of promoting their own website or social media account.
4. Stay on-topic; no memes, funny videos, giveaways, reposts, or low-effort posts
This community is mostly for discussion and news. Remember to search for the thing you're submitting before posting to see if it's already been posted.
We want to keep the quality of posts high. Therefore, memes, funny videos, low-effort posts and reposts are not allowed. We prohibit giveaways because we cannot be sure that the person holding the giveaway will actually do what they promise.
5. Mark Spoilers and NSFW
Make sure to mark your stuff or it may be removed.
No one wants to be spoiled. Therefore, always mark spoilers. Similarly mark NSFW, in case anyone is browsing in a public space or at work.
6. No linking to piracy
Don't share it here, there are other places to find it. Discussion of piracy is fine.
We don't want us moderators or the admins of lemmy.world to get in trouble for linking to piracy. Therefore, any link to piracy will be removed. Discussion of it is of course allowed.
Authorized Regular Threads
Related communities
PM a mod to add your own
Video games
Generic
- Gaming: Our sister community, focused on PC and console gaming. Meme are allowed.
- Photo Mode: For all your screenshots needs, to share your love for games graphics.
- Video Game Music: A community to share your love for video games music
Help and suggestions
By platform
By type
- Automation games
- Incremental Games
- Life simulation
- City Builders
- Cosy Games
- CRPG
- Otome games
- Shmups
- Visual Novels
By games
- Baldur's Gate 3
- Cites Skylines
- Cassette Beasts
- Fallout
- FFXIV
- Minecraft
- No Man's Sky
- Palia
- Pokemon
- Skyrim
- Stardew Valley
- Subnautica 2
- Workers & Resources: Soviet Republic
Language specific