aboutsummaryrefslogtreecommitdiff
path: root/data/README.md
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-12-05 15:00:49 +0100
committermetamuffin <metamuffin@disroot.org>2025-12-05 15:00:49 +0100
commitee2aae2427e6fbd598dd9cbee626e3fa99c98cbb (patch)
tree4de72497ef0a26b4f2b4f8a80fae7dc0f40a7b87 /data/README.md
parent204598c45cb87af6e52323f7a0c64c5f9a7ab547 (diff)
downloadhurrycurry-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.md32
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.