aboutsummaryrefslogtreecommitdiff
path: root/maps/Readme.md
blob: 6633385cd4f3072e654fcae62397aacb3f5ccea3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Map Definitions for Muhq's Game

## Available Maps

```
maps
├── 2P-ring-street.yml
├── 2P-river-king.yml
├── 3P-ring-street.yml
├── 4P-islands.yml
├── the-kraken.yml
└── the-tyrant.yml
```

## Naming Convention
  * Map names use kebab case
  * Maps start with their player amount
  * Map names somehow describe their features (`ring-street`, `islands`, `river`, ...)
  * Boss maps are named after the boss

## YAML Schema

### Required Keys
Map definitions are written in YAML and must have at least the following keys:

```yaml
map: # A multiline string featuring one character per tile
```

All trailing newlines are removed from the `map` string.
It is advised to use `|+` to preserve potential meaningful trailing white space.

```yaml
symbols: # The symbols must contain the tile descriptions for each character used in the map
```

The `" "` key will be inserted automatically for `neutral` tiles if it is not present in the symbols. 
Symbols should be quoted to ensure they are parsed as characters.

### Optional Keys:

  ```yaml
  start_deck_list: # A string containing the map's starting deck list
  win_condition: # The map's win condition
  kings: # A list of the 0-based positions of each player's king
  ```