Add advanced settings guide; add additional info to setup guide
This commit is contained in:
parent
2ef60c0cd9
commit
52aebc3094
|
@ -0,0 +1,92 @@
|
||||||
|
# Advanced Game Options Guide
|
||||||
|
|
||||||
|
|
||||||
|
The Archipelago system generates games using player configuration files as input. Generally these are going to be
|
||||||
|
YAML files and each player will have one of these containing their custom settings for the randomized game they want to play.
|
||||||
|
On the website when you customize your settings from one of the game player settings pages which you can reach from the
|
||||||
|
[supported games page](/games). Clicking on the export settings button at the bottom will provide you with a pre-filled out
|
||||||
|
YAML with your options. The player settings page also has an option to download a fully filled out yaml containing every
|
||||||
|
option with every available setting for the available options.
|
||||||
|
|
||||||
|
## YAML Formatting?
|
||||||
|
YAML files are a format of <span data-tooltip="Allegedly.">human-readable</span> markup config files. The basic syntax
|
||||||
|
of a yaml file will have `root` and then different levels of `nested` text that the generator "reads" in order to determine
|
||||||
|
your settings. To nest text, the correct syntax is **two spaces over** from its root option. A YAML file can be edited
|
||||||
|
with whatever text editor you choose to use though I personally recommend that you use [Sublime Text](https://www.sublimetext.com/).
|
||||||
|
This program out of the box supports the correct formatting for the YAML file, so you will be able to tab and get proper
|
||||||
|
highlighting for any potential errors made while editing the file. If using any other text editor such as Notepad or
|
||||||
|
Notepad++ whenever you move to nest an option that it is done with two spaces and not tabs.
|
||||||
|
|
||||||
|
Typical YAML format will look as follows:
|
||||||
|
```yaml
|
||||||
|
root_option:
|
||||||
|
nested_option_one:
|
||||||
|
option_one_setting_one: 1
|
||||||
|
option_one_setting_two: 0
|
||||||
|
nested_option_two:
|
||||||
|
option_two_setting_one: 14
|
||||||
|
option_two_setting_two: 43
|
||||||
|
```
|
||||||
|
|
||||||
|
In Archipelago YAML options are always written out in full lowercase with underscores separating any words. The numbers
|
||||||
|
following the colons here are weights. The generator will read the weight of every option the roll that option that many
|
||||||
|
times, the next option as many times as its numbered and so forth. For the above example `nested_option_one` will have
|
||||||
|
`option_one_setting_one` 1 time and `option_one_setting_two` 0 times so `option_one_setting_one` is guaranteed to occur.
|
||||||
|
For `nested_option_two`, `option_two_setting_one` will be rolled 14 times and `option_two_setting_two` will be rolled 43
|
||||||
|
times against each other. This means `option_two_setting_two` will be more likely to occur but it isn't guaranteed adding
|
||||||
|
more randomness and "mystery" to your settings. Every configurable setting supports weights.
|
||||||
|
|
||||||
|
### Root Options
|
||||||
|
Currently there are only a few options that are root options. Everything else should be nested within one of these root
|
||||||
|
options or in some cases nested within other nested options. The only options that should exist in root are `description`,
|
||||||
|
`name`, `game`, `requires`, `accessibility`, `progression_balancing`, `triggers`, and the name of the games you want
|
||||||
|
settings for.
|
||||||
|
* `description` is ignored by the generator and is simply a good way for you to organize if you have multiple files using
|
||||||
|
this to detail the intention of the file.
|
||||||
|
* `name` is the player name you would like to use and is used for your slot data to connect with most games. This can also
|
||||||
|
be filled with multiple names each having a weight to it.
|
||||||
|
* `game` is where either your chosen game goes or if you would like can be filled with multiple games each with different
|
||||||
|
weights.
|
||||||
|
* `requires` details different requirements from the generator for the YAML to work as you expect it to. Generally this
|
||||||
|
is good for detailing the version of Archipelago this YAML was prepared for as if it is rolled on an older version may be
|
||||||
|
missing settings and as such will not work as expected. If any plando is used in the file then requiring it here to ensure
|
||||||
|
it will be used is good practice.
|
||||||
|
* `accessibility` determines the level of access to the game the generation will expect you to have in order to reach your
|
||||||
|
completion goal. This supports `items`, `locations`, and `none` and is set to `locations` by default.
|
||||||
|
* `items` will guarantee you can acquire all items in your world but may not be able to access all locations. This mostly
|
||||||
|
comes into play if there is any entrance shuffle in the seed as locations without items in them can be placed in areas
|
||||||
|
that make them unreachable.
|
||||||
|
* `none` will only guarantee that the seed is beatable. You will be guaranteed able to finish the seed logically but
|
||||||
|
may not be able to access all locations or acquire all items. A good example of this is having a big key in the big chest
|
||||||
|
in a dungeon in ALTTP making it impossible to get and finish the dungeon.
|
||||||
|
* `progression_balancing` is a system the Archipelago generator uses to try and reduce "BK mode" as much as possible. This
|
||||||
|
primarily involves moving necessary progression items into earlier logic spheres to make the games more accessible so that
|
||||||
|
players almost always have something to do. This can be turned `on` or `off` and is `on` by default.
|
||||||
|
* `triggers` is one of the more advanced options that allows you to create conditional adjustments. You can read more
|
||||||
|
about this [here](/tutorial/archipelago/triggers/en).
|
||||||
|
|
||||||
|
### Game Options
|
||||||
|
|
||||||
|
One of your root settings will be the name of the game you would like to populate with settings in the format
|
||||||
|
`GameName`. since it is possible to give a weight to any option it is possible to have one file that can generate a seed
|
||||||
|
for you where you don't know which game you'll play. For these cases you'll want to fill the game options for every game
|
||||||
|
that can be rolled by these settings. If a game can be rolled it **must** have a settings section even if it is empty.
|
||||||
|
|
||||||
|
#### Universal Game Options
|
||||||
|
|
||||||
|
Some options in Archipelago can be used by every game but must still be placed within the relevant game's section.
|
||||||
|
Currently, these options are `start_inventory`, `start_hints`, `local_items`, `non_local_items`, `start_location_hints`,
|
||||||
|
and `exclude_locations`.
|
||||||
|
* `start_inventory` will give any items defined here to you at the beginning of your game. The format for this must be
|
||||||
|
the name as it appears in the game files and the amount you would like to start with. For example `Rupees(5): 6` which
|
||||||
|
will give you 30 rupees.
|
||||||
|
* `start_hints` gives you free server hints for the defined item/s at the beginning of the game allowing you to hint for
|
||||||
|
the location without using any hint points.
|
||||||
|
* `local_items` will force any items you want to be in your world instead of being in another world.
|
||||||
|
* `non_local_items` is the inverse of `local_items` forcing any items you want to be in another world and won't be located
|
||||||
|
in your own.
|
||||||
|
* `start_location_hints` allows you to define a location which you can then hint for to find out what item is located in
|
||||||
|
it to see how important the location is.
|
||||||
|
* `exclude_locations` lets you define any locations that you don't want to do and during generation will force a "junk"
|
||||||
|
item which isn't necessary for progression to go in these locations.
|
||||||
|
|
|
@ -12,6 +12,17 @@ game/games you plan to play are available here go ahead and install these as wel
|
||||||
supported by Archipelago but not listed in the installation check the relevant tutorial.
|
supported by Archipelago but not listed in the installation check the relevant tutorial.
|
||||||
|
|
||||||
## Generating a game
|
## Generating a game
|
||||||
|
|
||||||
|
### Creating a YAML
|
||||||
|
In a multiworld there must be one YAML per world. Any number of players can play on each world using either the game's
|
||||||
|
native coop system or using archipelago's coop support. Each world will hold one slot in the multiworld and will have a
|
||||||
|
slot name and, if the relevant game requires it, files to associate it with that multiworld. If multiple people plan to
|
||||||
|
play in one world cooperatively then they will only need one YAML for their coop world, but if each player is planning on
|
||||||
|
playing their own game then they will each need a YAML. These YAML files can be generated by going to the relevant game's
|
||||||
|
player settings page, entering the name they want to use for the game, setting the options to what they would like to
|
||||||
|
play with and then clicking on the export settings button. This will then download a YAML file that will contain all of
|
||||||
|
these options and this can then be given to whoever is going to generate the game.
|
||||||
|
|
||||||
### Gather all player YAMLS
|
### Gather all player YAMLS
|
||||||
All players that wish to play in the generated multiworld must have a YAML file which contains the settings that they wish to play with.
|
All players that wish to play in the generated multiworld must have a YAML file which contains the settings that they wish to play with.
|
||||||
A YAML is a file which contains human readable markup. In other words, this is a settings file kind of like an INI file or a TOML file.
|
A YAML is a file which contains human readable markup. In other words, this is a settings file kind of like an INI file or a TOML file.
|
||||||
|
@ -51,6 +62,7 @@ The generator will put a zip folder into your `Archipelago\output` folder with t
|
||||||
This contains the patch files and relevant mods for the players as well as the serverdata for the host.
|
This contains the patch files and relevant mods for the players as well as the serverdata for the host.
|
||||||
|
|
||||||
## Hosting a multiworld
|
## Hosting a multiworld
|
||||||
|
|
||||||
### Uploading the seed to the website
|
### Uploading the seed to the website
|
||||||
The easiest and most recommended method is to generate the game on the website which will allow you to create a private
|
The easiest and most recommended method is to generate the game on the website which will allow you to create a private
|
||||||
room with all the necessary files you can share, as well as hosting the game and supporting item trackers for various games.
|
room with all the necessary files you can share, as well as hosting the game and supporting item trackers for various games.
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"tutorials": [
|
"tutorials": [
|
||||||
{
|
{
|
||||||
"name": "Multiworld Setup Tutorial",
|
"name": "Multiworld Setup Tutorial",
|
||||||
"description": "A Guide to setting up the Archipelago software to generate multiworld games on your computer.",
|
"description": "A guide to setting up the Archipelago software to generate and host multiworld games on your computer and using the website.",
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
"language": "English",
|
"language": "English",
|
||||||
|
@ -16,9 +16,23 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Using Advanced Settings",
|
||||||
|
"description": "A guide to reading yaml files and editing them to fully customize your game.",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"language": "English",
|
||||||
|
"filename": "archipelago/advanced_settings_en.md",
|
||||||
|
"link": "archipelago/advanced_settings/en",
|
||||||
|
"authors": [
|
||||||
|
"alwaysintreble"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Archipelago Triggers Guide",
|
"name": "Archipelago Triggers Guide",
|
||||||
"description": "A Guide to setting up and using triggers in your game settings.",
|
"description": "A guide to setting up and using triggers in your game settings.",
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
"language": "English",
|
"language": "English",
|
||||||
|
|
Loading…
Reference in New Issue