Archipelago/README.md

99 lines
4.4 KiB
Markdown
Raw Normal View History

2021-04-01 18:46:43 +00:00
# [Archipelago](https://archipelago.gg) ![Discord Shield](https://discordapp.com/api/guilds/731205301247803413/widget.png?style=shield) | [Install](https://github.com/ArchipelagoMW/Archipelago/releases)
2020-01-16 17:55:43 +00:00
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
2021-05-08 11:40:23 +00:00
* Factorio
* Minecraft
2021-07-28 02:57:45 +00:00
* Subnautica
* Slay the Spire
2021-08-31 12:37:01 +00:00
* Risk of Rain 2
* The Legend of Zelda: Ocarina of Time
* Timespinner
2021-11-13 15:35:24 +00:00
* Super Metroid
* Secret of Evermore
2021-12-03 04:04:35 +00:00
* Final Fantasy
2022-01-03 18:12:32 +00:00
* 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
2022-10-14 20:53:49 +00:00
* Hylics 2
* Overcooked! 2
New Game: Zillion (#1081) * Option RangeWithSpecialMax * amendment to typing in web options * compare string with number * lots of work on zillion * fix zillion fill logic * fix a few more issues in zillion fill logic * can make zillion patch and use it * put multi items in zillion rom * work on ZillionClient * logging and auth in client * work on sending and receiving items * implement item_handling flag * fix locations ids to NuktiServer package * use rewrite of zri * cache logic rule data for performance * use new id maps * fix some problems with the big recent merge * ZillionClient: use new context manager for Memory class * fix ItemClassification for Zillion items and some debug statements for asserts, documentation on running scripts for manual testing type correction in CommonContext * fix some issues in client, start on docs, put rescue and item ram addresses in slot data * use new location name system fix item locations getting out of sync in progression balancing * zillion client can read slot name from game * zillion: new item names * remove extra unneeded import * newer options (room gen and starting cards) * update comment in zillion patch * zillion non static regions * change some logging, update some comments * allow ZillionClient to exit in certain situations * todo note to fix options doc strings * don't force auto forfeit * rework validation of floppy requirement and item counts and fix race condition in generate_output * reorganize Zillion component structure with System class * documentation updates for Zillion * attempt inno_setup.iss * remove todo comment for something done * update comment * rework item count zillion options and some small cleanups * fix location check count * data package version 1 * Zillion can pass unit tests without rom * fix freeze if closing ZillionClient while it's waiting for server login * specify commit hash for zilliandomizer package * some changes to options validation * Zillion doors saved on multiworld server * add missing function in inno_setup and name of vanilla continues in options * rework zillion sync task and context * Apply documentation suggestions from SoldierofOrder Co-authored-by: SoldierofOrder <107806872+SoldierofOrder@users.noreply.github.com> * update zillion package * workaround for asyncio udp bug There is a bug in Python in Windows https://github.com/python/cpython/issues/91227 that makes it so if I look for RetroArch before it's ready, it breaks the asyncio udp transport system. As a workaround, we don't look for RetroArch until the user asks for it with /sms * a few of the smaller suggestions from review * logic only looks at my locations instead of all the multiworld locations * some adjustments from pull request discussion and some unit tests * patch webhost changes from pull request discussion * zillion logic tests * better vblr test * test interaction of character rescue items with logic * move unit tests to new worlds folder * comment improvements * fix minor logic issue and add memory read timeout * capitalization in option display names Opa-Opa is a proper noun * redirect zz stdout to debug * fix option validation bug making unbeatable seeds * remove line that does nothing * attach logic cache to world Co-authored-by: SoldierofOrder <107806872+SoldierofOrder@users.noreply.github.com> Co-authored-by: Doug Hoskisson <doughoskisson@novuslabs.com>
2022-10-20 17:41:11 +00:00
* Zillion
* Lufia II Ancient Cave
2023-02-27 14:15:00 +00:00
* Blasphemous
* Wargroove
2023-02-28 00:23:40 +00:00
* Stardew Valley
* The Legend of Zelda
The Messenger: implement new game (#1494) * initial commit of messenger integration * setup no_logic and needed slot_data * fix some typos and determinism * make all of it deterministic * add documentation * swapped to non local items so change the fed data * ~~deathlink~~ * satisfy the docs test * update doc test to show expected name * split custom classes into a separate file and fix an errant rule * make access dependency test give more useful errors * implement tests * remove some unneccessary back entrances and make names clearer * fix some big dumbs * successful unit tests are good also some slight reorganizing * add astral tea quest line, and potentially power seals as items * if TYPE_CHECKING... aahhhhhh * oop forgot to remove legacy code * having the seed and leaves as actual items doesn't seem to do anything so remove them. locations still work though * update setup guide with some changes * Tower HQ was creating duplicate locations * allow self locking items * cleanup * move self_locking_items function to core * docstring * implement choice of notes needed for music box * test the default value * don't create any starting inventory items * make item creation faster * change default accessibility and power seals options * improve documentation * precollected_items is a dict of Items... * implement shop chest goal * tests * always assign total and required seals * add new goals and set music box as requiring shop chest on shop chest goals instead of just setting it as the completion * fix dumb test quirk * implement music box skip as an option * world rewrite/cleanup * default to apworld and add game to readme * revert bleeding commits from other PRs * more bleeds * fix some errors in options docstrings * ??? * make my set rules method not have an awful name * test cleanup * add a test for item accessibility * fix issues with tests * make the self locking item behavior work correctly * misc cleanup * more general cleanup to be a good example * quick rules rewrite * more general cleanup and typing * more speed, more clean * bump data version * make sure the locked item belongs to current player * fix bad name and indent. call MessengerItem directly for events * add poptracker pack to docs * doc cleanup and "known issues" section that I probably won't be able to fix any time soon. * missed some spots * add another bug i forgot about * be consistently wrong
2023-03-12 14:05:50 +00:00
* The Messenger
* Kingdom Hearts 2
* The Legend of Zelda: Link's Awakening DX
* Clique
* Adventure
* DLC Quest
* Noita
* Undertale
Add Bumper Stickers (#811) * bumpstik: initial commit * bumpstik: fix game name in location obj * bumpstik: specified offset * bumpstik: forgot to call create_regions * bumpstik: fix entrance generation * bumpstik: fix completion definition * bumpstik: treasure bumper, LttP text * bumpstik: add more score-based locations * bumpstik: adjust regions * bumpstik: fill with Treasure Bumpers * bumpstik: force Treasure Bumper on last location * bumpstik: don't require Hazard Bumpers for level 4 * bumpstik: treasure bumper locations * bumpstik: formatting * bumpstik: refactor to 0.3.5 * bumpstik: Treasure bumpers are now progression * bumpstik: complete reimplementation of locations * bumpstik: implement Nothing as item * bumpstik: level 3 and 4 locations * bumpstik: correct a goal value * bumpstik: region defs need one extra treasure * bumpstik: add more starting paint cans * bumpstik: toned down final score goal * bumpstik: changing items, Hazards no longer traps * bumpstik: remove item groups * bumpstik: update self.world to self.multiworld * bumpstik: clean up item types and classes * bumpstik: add options also add traps to item pool * bumpstik: update docs * bumpstik: oops * bumpstik: add to master game list on readme * bumpstik: renaming Task Skip to Task Advance because "Task Skip" is surprisingly hard to say * bumpstik: fill with score on item gen instead of nothing (nothing is still the default filler) * bumpstik: add 18 checks * bumpstik: bump ap ver * bumpstik: add item groups * bumpstik: make helper items and traps configurable * bumpstik: make Hazard Bumper progression * bumpstik: tone final score goal down to 50K * bumpstik: 0.4.0 region update * bumpstik: clean up docs also final goal is now 50K or your score + 5000, whichever is higher * bumpstik: take datapackage out of testing mode * bumpstik: Apply suggestions from code review code changes for .apworld support Co-authored-by: Zach Parks <zach@alliware.com> --------- Co-authored-by: Zach Parks <zach@alliware.com>
2023-06-27 20:37:17 +00:00
* Bumper Stickers
2023-06-29 20:01:37 +00:00
* Mega Man Battle Network 3: Blue Version
* Muse Dash
* DOOM 1993
* Terraria
* Lingo
* Pokémon Emerald
2023-11-24 17:08:02 +00:00
* DOOM II
* Shivers
2023-11-25 14:22:30 +00:00
* Heretic
2021-10-20 06:31:00 +00:00
For setup and instructions check out our [tutorials page](https://archipelago.gg/tutorial/).
2021-04-01 18:46:43 +00:00
Downloads can be found at [Releases](https://github.com/ArchipelagoMW/Archipelago/releases), including compiled
2021-01-03 13:32:32 +00:00
windows binaries.
2020-01-16 17:55:43 +00:00
## 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](https://github.com/Bonta0/ALttPEntranceRandomizer/tree/multiworld_31)
* [AmazingAmpharos' Entrance Randomizer](https://github.com/AmazingAmpharos/ALttPEntranceRandomizer)
* [VT Web Randomizer](https://github.com/sporchia/alttp_vt_randomizer)
* [Dessyreqt's alttprandomizer](https://github.com/Dessyreqt/alttprandomizer)
* [Zarby89's](https://github.com/Ijwu/Enemizer/commits?author=Zarby89) and [sosuke3's](https://github.com/Ijwu/Enemizer/commits?author=sosuke3) 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
2021-04-01 18:46:43 +00:00
For most people all you need to do is head over to the [releases](https://github.com/ArchipelagoMW/Archipelago/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](docs/running%20from%20source.md).
## 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.
2021-10-02 05:01:00 +00:00
* [z3randomizer](https://github.com/ArchipelagoMW/z3randomizer)
* [Enemizer](https://github.com/Ijwu/Enemizer)
* [Ocarina of Time Randomizer](https://github.com/TestRunnerSRL/OoT-Randomizer)
## Contributing
For contribution guidelines, please see our [Contributing doc.](/docs/contributing.md)
## FAQ
For Frequently asked questions, please see the website's [FAQ Page.](https://archipelago.gg/faq/en/)
## Code of Conduct
Please refer to our [code of conduct.](/docs/code_of_conduct.md)