diff options
Diffstat (limited to 'data/README.md')
| -rw-r--r-- | data/README.md | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/data/README.md b/data/README.md index 00953a0c..86a9fe7a 100644 --- a/data/README.md +++ b/data/README.md @@ -2,12 +2,32 @@ The game data includes recipes and maps. Its only required on the server side. -Maps are defined in YAML format containing "ASCII-art" picture of the map tiles. +`index.yaml` is where all maps and recipe sets are listed for the server to use; +This includes additional metadata for maps. + +## Recipes Each recipe set is a YAML file too containing a list of each possible recipe. -For the default recipe set this is generated from `recipes/default.js`. -Anticurry is based of this but just switches input and output fields via a sed -script. +The default recipe set this is generated from `recipes/default.js`. Anticurry is +based of this but just switches input and output fields via a sed script. -`index.yaml` is where all maps and recipe sets are listed for the server to use; -This includes additional metadata for maps. +## Map format + +Maps are defined in YAML format containing "ASCII-art" picture of the map tiles. +Each character is assigned a tile name and additionaly properties in a +lookup-table below. Properties are parsed like command-line argument. + +- Exclusive (`-x`): The player is only allowed to put items on that tile that + have a recipe specific to that tile. +- Walkable (`-w`): The tile has no collision and no items can be put on it. +- Collider (`-c`): No items can be put on the tile (and it has collision, which + is the default). +- Book (`--book`): Clicking on the tile opens the book. +- Chef spawn (`--chef-spawn`): Marks the spawn point for chefs and bots. +- Customer spawn (`--customer-spawn`): Marks the spawn point for customers +- Item (`-i=<name>`): Populates the tile with a give item. +- Conveyor (`--conveyor=<x>,<y>`): Moves items on this tile to another tile with + relative position specified. + +Tile properties of any specific tile should generally be the same across all +maps. For example crates should always be exclusive. |