ArchipelagoMW / Archipelago

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

Core: APWorld client support #1544

Open FuzzyGamesOn opened 1 year ago

FuzzyGamesOn commented 1 year ago

What task needs to be completed?

This task is the result of a discussion on how to include M / 18+ game genres in Archipelago. Berserker detailed tasks that need to be completed with apworld before the software is capable of supporting those games and game genres. Please feel free to suggest a more appropriate title, classification, or whatever else needs to be more correct.

Launcher additions for APWorld

Berserker66 commented 1 year ago

Got started on testing apworlds in https://github.com/ArchipelagoMW/Archipelago/tree/wip_launcher_tests, does not work when frozen as of writing this comment.

beauxq commented 1 year ago

I haven't seen much discussion on how to include 3rd party libraries in an apworld. As far as I can tell, to include the library in the apworld, it either has to be a pure python library, or it requires interacting with the library in a significantly different way from if it were installed with pip. I was able to get an apworld to work, but it required modifying the library in some hacky ways. Has anyone else been thinking about how to get 3rd party libraries to work in APWorlds?

Berserker66 commented 1 year ago

Not yet, though dumping a compatible version of the lib into the /lib folder should work as-is.

beauxq commented 1 year ago

Does that work when running from source? or do I need a Windows install?

Running from source, I tried making a lib folder inside Archipelago and putting the python library folder inside lib, and I got ModuleNotFoundError (the same thing I would get if I don't have a lib folder and the package is not installed)

Berserker66 commented 1 year ago

No, that would be for the installed version. To make that work on source you'd need to do sys.path.append("lib")