diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-12-05 15:00:49 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-12-05 15:00:49 +0100 |
| commit | ee2aae2427e6fbd598dd9cbee626e3fa99c98cbb (patch) | |
| tree | 4de72497ef0a26b4f2b4f8a80fae7dc0f40a7b87 /data/README.md | |
| parent | 204598c45cb87af6e52323f7a0c64c5f9a7ab547 (diff) | |
| download | hurrycurry-ee2aae2427e6fbd598dd9cbee626e3fa99c98cbb.tar hurrycurry-ee2aae2427e6fbd598dd9cbee626e3fa99c98cbb.tar.bz2 hurrycurry-ee2aae2427e6fbd598dd9cbee626e3fa99c98cbb.tar.zst | |
document map format a bit
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. |