Fork of Archipelago Multi-Game Randomizer and Server that runs on https://ap.hollymcfarland.com
Go to file
NewSoupVi 805f33c39e
Witness: Bugfixes in response to beta tests (#1473)
* Make all Keep Pressure Plates logically required for the Laser Panel

* Added more Tutorial checks

* Added the remaining two Shipwreck Boat EPs to the exclude list for normal

* Improved itempool filling system, added warning if usefuls had to be eaten

* Moved creation of said warning string to utils

* Fixed logic bug causing broken seeds on Mountain Floor 2

* Hints system change

* Expert Logic Fix

* Fixed typo

* Better wording

* Added missing games to junk hints

* Made sure Entrance names are unique

* Fixed missing Obelisk Side

* Disable Non Randomized + EP Shuffle fix

* Fixed disable_non_randomized precompleted EPs being 'disabled' instead of 'precompleted'

* Fixed if/elif error

* Tutorial Gate Open local symbol item becomes local_early_item in expert instead

* Bump required client version. There is a beta client that sends 0.3.9.

* Removed print statement, oops

* Fixed itempool manipulation in pre_fill

* Replaced string concats with fstrings

* Improved make_warning_string function signature

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* Improved performance on removing multiple items from multiworld itempool

* Comment

* Fixed errors with the code

* Made removal from itempool not fail unit test for multiple references

* Moved all item creation to create_items, got rid of itempool modifying system

* Colored Squares is no longer a good item, that's outdated

* Removed double if

* React to from_pool: false by removing a junk item

* Fixed warning if only Fnc Brain was removed

* Make use of string truthiness instead

* Made reading of plandoed items safer

---------

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2023-03-03 00:08:24 +01:00
.github CI: more pip to fix the build 2023-02-07 10:10:27 +01:00
WebHostLib Tracker: get game names from slot_info instead of `multidata["games"]` and render custom game names on generic tracker (#1453) 2023-02-24 08:30:11 +01:00
data kvui: limit UI side logs to by default 1000 messages 2023-02-13 09:02:19 +01:00
docs Docs: document world docs and tests (#1463) 2023-02-19 23:16:56 +01:00
test Tests: test that worlds don't create regions or locations after `create_items` (#1465) 2023-02-27 02:13:24 +01:00
typings/kivy Zillion: map tracker in client (#1136) 2022-10-27 02:30:22 -07:00
worlds Witness: Bugfixes in response to beta tests (#1473) 2023-03-03 00:08:24 +01:00
.gitignore kivy: allow user-defined text colors in data/client.kv (#1429) 2023-02-13 01:55:43 +01:00
BaseClasses.py LTTP: Move LTTP spoiler writing out of core (#1467) 2023-02-25 04:02:51 +01:00
ChecksFinderClient.py ChecksFinder: Linux support via wine (#795) 2022-07-19 07:44:04 +02:00
CommonClient.py Protocol: Improve machine-readability of prints (#1388) 2023-02-13 03:17:25 +01:00
FF1Client.py MultiServer and clients: async coroutine starter in Utils.py (#1143) 2022-11-02 15:51:35 +01:00
FactorioClient.py Protocol: Improve machine-readability of prints (#1388) 2023-02-13 03:17:25 +01:00
Fill.py Core: Fill fix local logic conflict (#1271) 2022-11-28 07:03:09 +01:00
Generate.py Core: convert mixture of Plando Options and Settings into just Options 2023-01-19 17:20:23 +01:00
LICENSE update Copyright 2022-02-17 19:03:11 -08:00
Launcher.py launcher: add .apl2ac support 2023-03-01 22:56:14 +01:00
LttPAdjuster.py Core: replace global random state with descriptive error (#1424) 2023-02-02 01:14:23 +01:00
Main.py Core: count the world types 2023-03-01 05:47:46 +01:00
MinecraftClient.py MinecraftClient: Linux fixes (#668) 2022-06-19 04:54:10 -07:00
ModuleUpdate.py ModuleUpdater: allow new syntax, nicer output 2023-02-18 15:18:51 +01:00
MultiServer.py Protocol: Improve machine-readability of prints (#1388) 2023-02-13 03:17:25 +01:00
NetUtils.py Server: fix release_mode (#1407) 2023-01-24 03:36:27 +01:00
OoTAdjuster.py Core: replace global random state with descriptive error (#1424) 2023-02-02 01:14:23 +01:00
OoTClient.py Ocarina of Time 7.0 (#1277) 2022-12-11 04:11:40 +01:00
Options.py core: properly declare from_any as an abstract classmethod 2023-02-01 21:14:11 +01:00
Patch.py Core: SNI Client Refactor (#1083) 2022-10-25 19:54:43 +02:00
PokemonClient.py Pokemon R/B: Bug fixes and add trap weights (#1319) 2022-12-11 13:51:28 -06:00
README.md Readme: fix order 2023-02-28 09:15:23 +01:00
SNIClient.py SNIclient: connect fixes (#1436) 2023-02-07 10:16:39 +01:00
Starcraft2Client.py SC2: verify downloaded data is a zipfile 2023-01-24 03:54:23 +01:00
Utils.py Wargroove: Implement New Game (#1401) 2023-02-24 07:35:09 +01:00
WargrooveClient.py Wargroove: Implement New Game (#1401) 2023-02-24 07:35:09 +01:00
WebHost.py Tests: make sure DB overwrite actually takes 2023-01-02 20:23:00 +01:00
ZillionClient.py ZillionClient: fix manual disconnect (#1266) 2023-01-07 10:27:43 +01:00
host.yaml Wargroove: Implement New Game (#1401) 2023-02-24 07:35:09 +01:00
inno_setup.iss Lufia II Ancient Cave: implement new game (#1218) 2022-12-12 02:36:18 +01:00
kvui.py kvui: limit UI side logs to by default 1000 messages 2023-02-13 09:02:19 +01:00
meta.yaml meta.yaml: update progression balancing (#1283) 2022-12-05 22:26:44 +01:00
playerSettings.yaml update LTTP player template to add all universal AP options (#1372) 2023-01-07 10:09:33 +01:00
pytest.ini use pytest for github unittests 2020-04-29 18:44:03 +02:00
requirements.txt Core: update modules 2022-09-03 09:55:47 +02:00
setup.py Stardew Valley: implement new game (#1455) 2023-02-27 01:19:15 +01:00

README.md

Archipelago Discord Shield | Install

Archipelago provides a generic framework for developing multiworld capability for game randomizers. In all cases, presently, Archipelago is also the randomizer itself.

Currently, the following games are supported:

  • The Legend of Zelda: A Link to the Past
  • Factorio
  • Minecraft
  • Subnautica
  • Slay the Spire
  • Risk of Rain 2
  • The Legend of Zelda: Ocarina of Time
  • Timespinner
  • Super Metroid
  • Secret of Evermore
  • Final Fantasy
  • Rogue Legacy
  • VVVVVV
  • Raft
  • Super Mario 64
  • Meritous
  • Super Metroid/Link to the Past combo randomizer (SMZ3)
  • ChecksFinder
  • ArchipIDLE
  • Hollow Knight
  • The Witness
  • Sonic Adventure 2: Battle
  • Starcraft 2: Wings of Liberty
  • Donkey Kong Country 3
  • Dark Souls 3
  • Super Mario World
  • Pokémon Red and Blue
  • Hylics 2
  • Overcooked! 2
  • Zillion
  • Lufia II Ancient Cave
  • Blasphemous
  • Wargroove
  • Stardew Valley

For setup and instructions check out our tutorials page. Downloads can be found at Releases, including compiled windows binaries.

History

Archipelago is built upon a strong legacy of brilliant hobbyists. We want to honor that legacy by showing it here. The repositories which Archipelago is built upon, inspired by, or otherwise owes its gratitude to are:

We recognize that there is a strong community of incredibly smart people that have come before us and helped pave the path. Just because one person's name may be in a repository title does not mean that only one person made that project happen. We can't hope to perfectly cover every single contribution that lead up to Archipelago but we hope to honor them fairly.

Path to the Archipelago

Archipelago was directly forked from bonta0's multiworld_31 branch of ALttPEntranceRandomizer (this project has a long legacy of its own, please check it out linked above) on January 12, 2020. The repository was then named to MultiWorld-Utilities to better encompass its intended function. As Archipelago matured, then known as "Berserker's MultiWorld" by some, we found it necessary to transform our repository into a root level repository (as opposed to a 'forked repo') and change the name (which came later) to better reflect our project.

Running Archipelago

For most people all you need to do is head over to the releases page then download and run the appropriate installer. The installers function on Windows only.

If you are running Archipelago from a non-Windows system then the likely scenario is that you are comfortable running source code directly. Please see our doc on running Archipelago from source.

This project makes use of multiple other projects. We wouldn't be here without these other repositories and the contributions of their developers, past and present.

Contributing

For contribution guidelines, please see our Contributing doc.

FAQ

For Frequently asked questions, please see the website's FAQ Page.

Code of Conduct

Please refer to our code of conduct.