Fork of Archipelago Multi-Game Randomizer and Server that runs on https://ap.hollymcfarland.com
Go to file
Alchav a5a1494a96
Pokemon R/B: The Big Door Shuffle Update (#2861)
- Perhaps most critically, adds the ability for the door shuffle code to catch door shuffle exceptions and try again. Will try up to 10 times. Should mean Door Shuffle does not need to be disallowed in the big async🤞
- Door Shuffle code has been made drastically faster by searching for the first dead end instead of sorting the whole list of entrances by whether they are dead ends.
- Renames Full to Interiors, and adds a new Full door shuffle that shuffles interior-to-interior doors separately from exterior-to-interior doors.
- Adds a new Decoupled door shuffle.
- Warp Tile Shuffle now has 3 separate options, Vanilla, Shuffle, and Mixed. Shuffle shuffles the warp tiles among themselves, Mixed mixes them into the Door Shuffle pool.
- Safari Zone connections are now shuffled on Full, Insanity, and Decoupled.
- On Simple Door Shuffle, the Town Map is updated to show the new dungeon locations. The Town Map has been updated to show the locations of dungeons that previously were not shown unless you opened the map within them, and the Sea Cottage has been removed from it.
- Adds Auto Level Scaling that chooses the level scaling mode based on the Door Shuffle choice.
- Fixes issues with Flash and Fly move interventions (where it ensures an available Pokémon that can learn it is reachable depending on settings).
- Fixes a possible generation crash with type chart randomization.
- Should fix an issue where `stage_fill_hook` was able to remove the wrong item from the item pool resulting in a duplicated item reference existing.
- Adds a stage_post_fill function which searches for Pokémon in order of spheres, setting all but the first advancement Pokémon event found to `useful` so that spoiler playthrough calculation skips them. In a solo game gen test, this cut gen time from 15 seconds to 10 seconds with same seed number. Difference is likely to be much more massive in larger multiworlds.
2024-03-05 23:01:45 +01:00
.github CI: add static analysis for native code / cython (#2852) 2024-02-23 10:11:00 +01:00
.run PyCharm: ship a working unittest run config (#2694) 2024-01-12 00:49:14 +01:00
WebHostLib WebHost: provide None password to URI so it doesn't get stripped (#2777) 2024-02-05 18:11:02 -05:00
data Core: Default YAML header updates (#2723) 2024-02-29 02:30:28 +01:00
docs Kirby's Dream Land 3: Implement New Game (#2119) 2024-03-05 09:59:55 -06:00
test Utils: YAML goes brrrt (#2868) 2024-02-27 08:44:34 +01:00
typings/kivy Zillion: apworld-compatible package data (#2860) 2024-03-03 16:23:02 +01:00
worlds Pokemon R/B: The Big Door Shuffle Update (#2861) 2024-03-05 23:01:45 +01:00
worlds_disabled Docs: Added Disabled World information to README.md (#2705) 2024-01-13 21:10:16 +01:00
.coveragerc Tests: create sane cov defaults (#2728) 2024-01-16 17:10:19 +01:00
.gitignore Git: Added file type .smc to gitignore (#2476) 2023-11-22 08:15:35 -06:00
AdventureClient.py Adventure: Fix KeyError on Retrieved (#2560) 2023-12-16 22:22:51 +01:00
BaseClasses.py Core: add specific can_reach helpers to CollectionState (#2867) 2024-03-03 17:25:21 +01:00
BizHawkClient.py BizHawkClient: Add BizHawkClient (#1978) 2023-10-03 02:44:19 +02:00
ChecksFinderClient.py ChecksFinder: Linux support via wine (#795) 2022-07-19 07:44:04 +02:00
CommonClient.py TextClient: fix logging not always showing up (#2846) 2024-02-20 08:07:33 +01:00
FF1Client.py Docs: Revise all docs mentioning Lua in EmuHawk (which are in English), and other misc. corrections (#1782) 2023-06-26 08:53:44 +02:00
FactorioClient.py Factorio: Client in folder, TextClient: always available (#1829) 2023-06-25 02:31:25 +02:00
Fill.py Fill: Changing deprecated option getter (#2735) 2024-02-10 22:07:11 +01:00
Generate.py Generate: Trim slot names again after 16 character limitation slice. (#2906) 2024-03-05 15:59:34 -06:00
KH2Client.py KH2: Version 2 (#2009) 2023-11-25 08:46:00 -06:00
LICENSE update Copyright 2022-02-17 19:03:11 -08:00
Launcher.py Launcher: make launcher scrollable (#2881) 2024-03-03 06:32:58 +01:00
LinksAwakeningClient.py LADX: Added some resilience to non-ASCII player names (#2642) 2024-02-13 22:46:18 +01:00
LttPAdjuster.py LttP: Adjuster no longer breaks when sprite path doesn't exist. 2023-10-07 15:57:05 +02:00
MMBN3Client.py MMBN3: Small Bug Fixes (#2282) 2023-11-24 11:14:05 -06:00
Main.py Core: Purge the evil (`world: MultiWorld`) (#2749) 2024-02-05 00:38:00 +01:00
MinecraftClient.py Core: Add settings API ("auto settings") for host.yaml (#1871) 2023-07-05 22:39:35 +02:00
ModuleUpdate.py Setup: don't install webhost dependencies (#2717) 2024-01-14 03:09:03 +01:00
MultiServer.py MultiServer: make !hint without further arguments only reply to the instigating player (#2339) 2024-03-03 06:34:48 +01:00
NetUtils.py Speedups: fix file date check when frozen (#2211) 2023-09-22 23:05:04 +02:00
OoTAdjuster.py Core: Purge the evil (`world: MultiWorld`) (#2749) 2024-02-05 00:38:00 +01:00
OoTClient.py Core: Add settings API ("auto settings") for host.yaml (#1871) 2023-07-05 22:39:35 +02:00
Options.py Fix usage of `__new__` for `SpecialRange` compatibility fallback (#2513) 2024-03-05 09:46:09 -06:00
Patch.py Core: APPatch interface (#2808) 2024-02-15 00:23:05 +01:00
README.md Kirby's Dream Land 3: Implement New Game (#2119) 2024-03-05 09:59:55 -06:00
SNIClient.py SNIClient, ALttP: expose death_text to SNI client, add message to alttp (#1793) 2023-10-31 11:11:18 +01:00
Starcraft2Client.py SC2 WoL - Mod, Item and Location update (#2113) 2023-09-15 02:22:10 +02:00
UndertaleClient.py Docs, Undertale: Added Suggestions Missed in #2285 (#2435) 2023-11-07 14:41:13 -06:00
Utils.py Core: Allow common collections in OptionSet and OptionList constructors (#2874) 2024-03-03 22:30:51 +01:00
WargrooveClient.py Wargroove: Fixed WargrooveClient retaining victory and location information and minor doc fix (#2464) 2023-11-16 04:35:20 -06:00
WebHost.py Core, WebHost: lazy-load worlds in unpickler, WebHost and WebHostLib (#2156) 2023-09-20 16:05:56 +02:00
Zelda1Client.py TLOZ: Use the proper location name lookup (#2529) 2023-11-29 00:19:42 -06:00
ZillionClient.py Zillion: move client to worlds/zillion (#2649) 2024-01-01 13:42:41 -06:00
_speedups.pyx Speedups: no cinit, no pickling (#2851) 2024-02-21 08:53:54 +01:00
_speedups.pyxbld MultiServer: speed up location commands (#1926) 2023-07-04 19:12:43 +02:00
inno_setup.iss Kirby's Dream Land 3: Implement New Game (#2119) 2024-03-05 09:59:55 -06:00
kvui.py Launcher: make launcher scrollable (#2881) 2024-03-03 06:32:58 +01:00
meta.yaml meta.yaml: update progression balancing (#1283) 2022-12-05 22:26:44 +01:00
playerSettings.yaml LTTP: Update playerSettings.yaml to require AP version 0.4.4 (#2737) 2024-01-31 08:01:55 +01:00
pytest.ini pytest: run tests on non-windows with new names (#2349) 2023-10-24 10:59:15 +02:00
requirements.txt Core: Allow common collections in OptionSet and OptionList constructors (#2874) 2024-03-03 22:30:51 +01:00
settings.py Core: set consistent server defaults (#2566) 2024-01-14 21:24:34 +01:00
setup.py Zillion: apworld-compatible package data (#2860) 2024-03-03 16:23:02 +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
  • 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
  • Mega Man Battle Network 3: Blue Version
  • Muse Dash
  • DOOM 1993
  • Terraria
  • Lingo
  • Pokémon Emerald
  • DOOM II
  • Shivers
  • Heretic
  • Landstalker: The Treasures of King Nole
  • Final Fantasy Mystic Quest
  • TUNIC
  • Kirby's Dream Land 3

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.