https://github.com/repod/arch-yaml
Overcomplicating a complicated process.
https://github.com/repod/arch-yaml
Last synced: about 1 year ago
JSON representation
Overcomplicating a complicated process.
- Host: GitHub
- URL: https://github.com/repod/arch-yaml
- Owner: RePod
- Created: 2024-08-24T19:29:51.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-12T23:13:16.000Z (about 1 year ago)
- Last Synced: 2025-03-13T00:20:26.564Z (about 1 year ago)
- Homepage:
- Size: 1.64 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://github.com/RePod/arch-yaml/actions/workflows/check.yml)
### [Individual Games](games/sync)
I use this repo to manage individual YAMLs and combine them all into my GigaYAML™. Doing so manually would be way too much effort and error prone.
Priorities:
- Sane management of single YAMLs and single random YAML
- Global Async toggle, keeping async settings with their original YAML
- Easy modification and retrieval of individual game YAMLs
- Automatically test changes routinely and as they come in to not be the one breaking generations
- Including Unofficial worlds in the 50 different ways they're provided
---
### ~~Quick~~ HOWTO
- I don't recommend forking with this repo as upstream.
- Its commit history and syncing with it are pointless for you.
- Grab the [current main ZIP](https://github.com/RePod/arch-yaml/archive/refs/heads/main.zip) and make a fresh repo with it.
- Edit `games/header.yaml` and `games/triggers.yaml`
- Any instances of the name. Keep `{NUMBER}` everywhere as it prevents name conflicts if the same game is chosen.
- Note the `async` and `per_game_name` triggers, these will be global.
- Clear out the `games/custom_worlds/` folder unless you plan on playing a Manual Hatsune Miku Project Diva Mega Mix+!
- Clear out the `games/sync/` folder, or keep some around as a template until you're finished.
- The `description` property will be very important soon!
```YAML
# Simple YAML with triggers in place. For Official worlds, this format is all you'll need.
# Extra properties like description and weight can be used (check example YAMLs).
name: Name{NUMBER}
game: MYGAME
async: false
per_game_name: true
MYGAME:
progression_balancing: random-low
accessibility: random
triggers:
- option_category: null
option_name: async
option_result: true
options:
MYGAME:
progression_balancing: 0
- option_name: game
option_result: MYGAME
options:
null:
name: NameMYGAME{NUMBER}
- option_name: per_game_name
option_result: false
options:
null:
name: Name{NUMBER}
```
- Once published to GH, go to your repo **Settings** tab > **Actions** > **General**
- Actions permissions > Allow all actions and reusable workflows
- Workflow permissions > Read and write permissions (to update the GigaYAML at the root of the repo with a commit)
- May change this to a Release in the future.
- The `.github/workflows/check.yml` Action will now run on push, PR, and weekly.
- The Action pulls the latest version of Archipelago and described Unofficial worlds then runs test generations.
- If the Action succeeds, the new GigaYAML is generated.
- For Unofficial worlds, the Action uses the YAML's `description` property that can point to a few places: (these examples may not exist anymore)
- The Releases page, the Action will use the latest `.apworld` it can find. `https://github.com/ScipioWright/Archipelago-SW/releases/latest` (`/latest` optional)
- URLs ending in `.apworld`: `https://github.com/ScipioWright/Archipelago-SW/releases/download/0.5.2/animal_well.apworld`
- If there are any, refer to the original YAMLs in `games/sync/` for examples.
- If all else fails, you can provide apworlds by putting them in `games/custom_worlds`.