* MMBN3: Press program now has proper color index when received remotely * Initial commit of OSRS untangled from MMBN3 branch * Fixes some broken region connections * Removes some locations * Rearranges locations to fill in slots left by removed locations * Adds starting area rando * Moves Oak and Willow trees to resource regions * Fixes various PEP8 violations * Refactor of regions * Fixes variable capture issue with region rules * Partial completion of brutal grind logic * Finishes can_reach_skill function * Adds skill requirements to location rules, fixes regions rules * Adds documentation for OSRS * Removes match statement * Updates Data Version to test mode to prevent item name caching * Fixes starting spawn logic for east varrock * Fixes river lum crossing logic to not assume you can phase across water * Prevents equipping items when you haven't unlocked them * Changes canoe logic to not require huge levels * Skeletoning out some data I'll need for variable task system * Adds csvs and parser for logic * Adds Items parsing * Fixes the spawning logic to not default to Chunksanity when you didn't pick it * Begins adding generation rules for data-driven logic * Moves region handling and location creating to different methods * Adds logic limits to Options * Begun the location generation has * Randomly generates tasks for each skill until populated * Mopping up improper names, adding custom logic, and fixes location rolling * Drastically cleans up the location rolling loop * Modifies generation to properly use local variables and pass unit tests * Game is now generating, but rules don't seem to work * Lambda capture, my old nemesis. We meet again * Fixes issue with Corsair Cove item requirement causing logic loop * Okay one more fix, another variable capture * On second thought lets not have skull sceptre tasks. 'Tis a silly place * Removes QP from item pool (they're events not items) * Removes Stronghold floor tasks, no varbit to track them * Loads CSV with pkutil so it can be used in apworld * Fixes logic of skill tasks and adds QP requirements to long grinds * Fixes pathing in pkgutil call * Better handling for empty task categories, no longer throws errors * Fixes order for progressive tasks, removes un-checkable spider task * Fixes logic issues related to stew and the Blurite caves * Fixes issues generating causing tests to sporadically fail * Adds missing task that caused off-by-one error * Updates to new Options API * Updates generation to function properly with the Universal Tracker (Thanks Faris) * Replaces runtime CSV parsing with pre-made python files generated from CSVs * Switches to self.random and uses random.choice instead of doing it manually * Fixes to typing, variable names, iterators, and continue conditions * Replaces Name classes with Enums * Fixes parse error on region special rules * Skill requirements check now returns an accessrule instead of being one that checks options * Updates documentation and setup guide * Adjusts maximum numbers for combat and general tasks * Fixes region names so dictionary lookup works for chunksanity * Update worlds/osrs/docs/en_Old School Runescape.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Update worlds/osrs/docs/en_Old School Runescape.md Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com> * Updates readme.md and codeowners doc * Removes erroneous East Varrock -> Al Kharid connection * Changes to canoe logic to account for woodcutting level options * Fixes embarassing typo on 'Edgeville' * Moves Logic CSVs to separate repository, addresses suggested changes on PR * Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main * Removes task types with weight 0 from the list of rollable tasks * Missed another place that the task type had to be removed if 0 weight * Prevents adding an empty task weight if levels are too restrictive for tasks to be added * Removes giant blank space in error message * Adds player name to error for not having enough available tasks --------- Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
		
			
				
	
	
		
			137 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# [Archipelago](https://archipelago.gg)  | [Install](https://github.com/ArchipelagoMW/Archipelago/releases)
 | 
						|
 | 
						|
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
 | 
						|
* 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
 | 
						|
* Celeste 64
 | 
						|
* Zork Grand Inquisitor
 | 
						|
* Castlevania 64
 | 
						|
* A Short Hike
 | 
						|
* Yoshi's Island
 | 
						|
* Mario & Luigi: Superstar Saga
 | 
						|
* Bomb Rush Cyberfunk
 | 
						|
* Aquaria
 | 
						|
* Yu-Gi-Oh! Ultimate Masters: World Championship Tournament 2006
 | 
						|
* A Hat in Time
 | 
						|
* Old School Runescape
 | 
						|
 | 
						|
For setup and instructions check out our [tutorials page](https://archipelago.gg/tutorial/).
 | 
						|
Downloads can be found at [Releases](https://github.com/ArchipelagoMW/Archipelago/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](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 up 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](https://github.com/ArchipelagoMW/Archipelago/releases), then download and run the appropriate
 | 
						|
installer, or AppImage for Linux-based systems.
 | 
						|
 | 
						|
If you are a developer or are running on a platform with no compiled releases available, 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.
 | 
						|
 | 
						|
* [z3randomizer](https://github.com/ArchipelagoMW/z3randomizer)
 | 
						|
* [Enemizer](https://github.com/Ijwu/Enemizer)
 | 
						|
* [Ocarina of Time Randomizer](https://github.com/TestRunnerSRL/OoT-Randomizer)
 | 
						|
 | 
						|
## Contributing
 | 
						|
 | 
						|
To contribute to Archipelago, including the WebHost, core program, or by adding a new game, see our
 | 
						|
[Contributing guidelines](/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).
 |