* Alpha 1 Muse dash stuff. * Add in an option to limit to only base game songs. * Make all items progression instead of progression_skip_balancing. * Add in extra_goal_song_items to help make runs less about completing every song. * Change ID range to be in a more open area, and add some comments. * Add in Streamer Mode and difficulty range options. Rearrange data files so its easier to get all data at once. * Fix generation issues. * Fix up the maximum and remove old option. * Remove empty items and the option to make filler songs empty. * Support emerald hunt mode. Make difficulties an option rather than 2 sliders. * Fix DLC Song option being inverted. * Fix item counting being broken if there was more than 1 world. * Make compatible with .apworld specification. * Make All item names ASCII compatible. * Add in the additional_item_percentage option. * Add a test to ensure the item names are within the normal ascii range. * Add in death link. * Remove the album from the item name. Not really needed anymore. * Add the 2 budget is burning albums under the free songs heading. Adds a couple more songs without dlc. * Sanitise Album names. * Added the grade needed choice. * Update songs to v3.1.0 * Adjust difficulty ranges. Add Expert and Master. * Fix setup_en.md being out of date. * Add a manual override. * Add testing for diff ranges. Fix bugs introduced there. Limit option to 11 to not generate an impossible seed. * Remove regions from Muse Dash. * Some Oops... * Attempt to make tests happy. * Remove supports weighting false to stop webhost test failing. * Adjusted settings * Adjust music sheets to use percentages. Various cleanups. * Fixes to new code. * Add Ola Dash Album. Add support for overriding song difficulty. Other stylisation changes. * Attempt fix tests. * Ooops missed one. * flake8 suggestions. * Remove FM 17314 SUGAR RADIO as that song is a bit weird. * Update document pages. * Add trap support * Lower additional song count by 10. * Tests broke on my end. Using github to test this. * Looks like I was accidentally adding ~. * Fix the one song that crashes OoT hint generation * Various documentation changes. * Website documents fixup. * Doc updates part 2. * Oops. Doc updates part 3. * Add Muse Dash to the apworld list. * Add trailing comma. * Add a couple plando options. * Set data_version to 1. * Add in some handling incase someone decides a song is both starter and included. * Remove brackets around ifs. * Oops. Accidentally removed a necessary bracket. * Fix filtering crash due to me mixing up c# and python .remove(). * Add Happy Otaku Pack Vol.17. Also increment data version. * Update links to melon loader to be the latest. * Clean up song selection code by shuffling once then popping. * Add UID to the Data text file, so the same file can be used client and server. * Increment Data Version because some names have changed. * Correct some names. * Update data to v3.4.0 (Addition of Muse Radio FM104) * Add support for SFX traps. Adjusted how traps were setup a bit. * Update the docs to include a troubleshooting section. * Small fixes. * Remove unnecessary brackets. * Add .net downloads to docs. * Avoid failing generation if strict difficulty settings are applied with no dlc songs and streamer mode. * Forgot to add the worst starting song count. * Make minimum song count be Starting Songs + 11 instead of Starting Songs * 2 + 1. * Fix up several issues where song count could mismatch the requested amount. * Add a test to ensure world size doesn't grow. * Fix some oversights. * Remove unnecessary brackets. * Fix up passing the tuple out when just the key would suffice. * Adjust typing based on Phar's suggestions. * Apply the rest of Phar's suggestions with minor tweaks to other parts to suit suggestions. * Adjust some more stuff to fit 120 characters. * Some more pep8 stuff and fix tests. * Some pep8 in tests. |
||
---|---|---|
.github | ||
WebHostLib | ||
data | ||
docs | ||
test | ||
typings/kivy | ||
worlds | ||
.gitignore | ||
AdventureClient.py | ||
BaseClasses.py | ||
ChecksFinderClient.py | ||
CommonClient.py | ||
FF1Client.py | ||
FactorioClient.py | ||
Fill.py | ||
Generate.py | ||
KH2Client.py | ||
LICENSE | ||
Launcher.py | ||
LinksAwakeningClient.py | ||
LttPAdjuster.py | ||
Main.py | ||
MinecraftClient.py | ||
ModuleUpdate.py | ||
MultiServer.py | ||
NetUtils.py | ||
OoTAdjuster.py | ||
OoTClient.py | ||
Options.py | ||
Patch.py | ||
PokemonClient.py | ||
README.md | ||
SNIClient.py | ||
Starcraft2Client.py | ||
UndertaleClient.py | ||
Utils.py | ||
WargrooveClient.py | ||
WebHost.py | ||
Zelda1Client.py | ||
ZillionClient.py | ||
host.yaml | ||
inno_setup.iss | ||
kvui.py | ||
meta.yaml | ||
playerSettings.yaml | ||
pytest.ini | ||
requirements.txt | ||
setup.py |
README.md
Archipelago
| 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
- The Legend of Zelda
- The Messenger
- Kingdom Hearts 2
- The Legend of Zelda: Link's Awakening DX
- Clique
- Adventure
- DLC Quest
- Noita
- Undertale
- Bumper Stickers
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:
- bonta0's MultiWorld
- AmazingAmpharos' Entrance Randomizer
- VT Web Randomizer
- Dessyreqt's alttprandomizer
- Zarby89's and sosuke3's contributions to Enemizer, which make the vast majority of Enemizer contributions.
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.
Related Repositories
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.