ArchipelagoMW / Archipelago

Archipelago Multi-Game Randomizer and Server
https://archipelago.gg
Other
466 stars 621 forks source link

OOT: Retroarch Support? #3808

Open Shade53 opened 3 weeks ago

Shade53 commented 3 weeks ago

What feature would you like to see?

I would like to see if we can get some more Linux support when running OOT for Linux connections as the current N64 Linux support from Bizhawk only uses the Ares64 core, which is abysmally slow.

So is there a way to get a version of the "connector_oot.lua" script that is adapted for Retroarch so that Linux users can use the more stable Parallel64 core in Retroarch while connecting to Archipelago? Let me know how possibly this is, and thanks for all the work on this awesome platform.(For now I'll just be running Bizhawk in a Windows VM...)

eudaimonistic commented 3 weeks ago

The maintainer for Ocarina of Time is MIA at the moment, so the world is largely considered unmaintained at the moment. Anyone could implement this, but it would likely take effort from someone who also wants to refactor the world entirely at the same time. In the short term, I would not expect this unless someone steps forward. In the long term, there are some hopes for other OoT-adjacent projects to make strides here. Majora's Mask uses the Recompilation project, and at some point the Ship of Harkinian folks might implement for Archipelago as well. Those would be the alternative possibilities in the potential future, should nobody decide to assist with this specific issue.

Silvris commented 3 weeks ago

Retroarch isn't really feasible for OoT in its current state. The client is already very reliant on Bizhawk, so it would require a major refactor (since Retroarch doesn't support lua). In a similar vein, it's unknown whether any of the N64 cores would be capable of everything that would be required for OoT's client. For the moment, the most likely possibilities are Ship of Harkinian or improvements to Bizhawk on Linux.

t3hf1gm3nt commented 3 weeks ago

There has been talk from a user on the discord server that they are working on a RetroArch alternative to use for OoT. Whether or not it comes to fruition is still a wait and see thing.

JoshuaEagles commented 3 weeks ago

Yeah, I have an almost playable version of it locally. I have a PR open on the mupen64plus-nx core to add memory map support, and I have a mostly working reimplementation of the lua client. Not quite ready for a release just yet, but not far away either. Updates will mostly be posted in the #ocarina-of-time channel on the discord server.

Shade53 commented 3 weeks ago

Thanks for all the awesome info everyone!

@JoshuaEagles
AWESOME! I'll be sure to join the discord to keep an eye on the OOT channel for progress then. As well as checking out your PR on the mupen64plus-nx repo. My only other question for you then is: Will this client be a Linux executable, or will I be needing to run it in Wine?

JoshuaEagles commented 3 weeks ago

The client is in C#, and its being written on Linux, should be the same on any platform but I haven't even tested it on Windows yet.

Shade53 commented 3 weeks ago

Sweet! If for any reason I needed to build it to use it I could use cmake, I actually love using cmake! XD

Also, I guess I have another question on this FR, but it is more of a protocol or procedure question: Should we keep this FR open so it can be referenced when the client is done, or since it is kind of more of a Retroarch related client would we want to close this out and just reference the PR?