aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-07-13 16:44:00 +0200
committermetamuffin <metamuffin@disroot.org>2025-07-13 21:14:21 +0200
commit10ef9cc31c82ada3625eab232d8c4b81a1356f1a (patch)
treef341e595d20dc02b52a7a9d2cf661acfdedff31f
parent8c009e07a3b40b44cc03d54a189de2df76118a53 (diff)
downloadhurrycurry-10ef9cc31c82ada3625eab232d8c4b81a1356f1a.tar
hurrycurry-10ef9cc31c82ada3625eab232d8c4b81a1356f1a.tar.bz2
hurrycurry-10ef9cc31c82ada3625eab232d8c4b81a1356f1a.tar.zst
Split off component-specific content into seperate readme files
-rw-r--r--README.md40
-rw-r--r--book/README.md17
-rw-r--r--book/readme.md6
-rw-r--r--client/README.md10
-rw-r--r--data/README.md20
-rw-r--r--pixel-client/README.md19
-rw-r--r--protocol.md17
-rw-r--r--readme.md114
-rw-r--r--server/README.md11
-rw-r--r--test-client/README.md21
10 files changed, 138 insertions, 137 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..1e9e2e13
--- /dev/null
+++ b/README.md
@@ -0,0 +1,40 @@
+# Hurry Curry!
+
+A cooperative 3D multiplayer game about cooking.
+
+## Installation
+
+The installation methods for end-users are listed on the
+[game's website](https://hurrycurry.metamuffin.org/). For information about
+building from source, see the instructions below.
+
+## Translation
+
+If you want to help translate the project, you can use the
+[weblate](https://translate.codeberg.org/engage/hurrycurry/). All help is
+appreciated.
+
+## Building / Development / Documentation
+
+The game is composed of individual components each has its own readme file and
+convinience make target.
+
+- [Client](./client/README.md)
+- [Server](./server/README.md)
+- [Data](./data/README.md)
+- [Book](./book/README.md)
+- [Test Client](./data/README.md)
+
+The game protocol is outlined in [protocol.md](./protocol.md).
+
+## Contributing
+
+Contributions are appreciated, just open issues or PRs for the things you think
+could be improved.
+
+For discussion regarding development, feel free to join our matrix room:
+[#hurrycurry:metamuffin.org](https://matrix.to/#/#hurrycurry:metamuffin.org).
+
+## License
+
+AGPL-3.0-only; See [COPYING](./COPYING).
diff --git a/book/README.md b/book/README.md
new file mode 100644
index 00000000..3fe94365
--- /dev/null
+++ b/book/README.md
@@ -0,0 +1,17 @@
+# Hurry Curry! Recipe Book
+
+The recipe book for learning about ingame recipes.
+
+The books layout and content template is defined in `book.js`. It generates a
+JSON file containing a simple DOM-like description of the book. This JSON file
+can be rendered to PDF with `book.typ` or displayed by the game client.
+
+## Building
+
+- Requirements:
+ - GNU make
+ - Deno (or Node.js in which case you need to pass `JSR=node` to make)
+ - Typst (only if PDF or image export is required)
+
+- Make sure the book-assets submodule is checked out.
+- Run `make`
diff --git a/book/readme.md b/book/readme.md
deleted file mode 100644
index 2a72931f..00000000
--- a/book/readme.md
+++ /dev/null
@@ -1,6 +0,0 @@
-# Hurry Curry! Recipe Book
-
-## Building
-
-The book is built with Typst and uses imagery from the book-assets submodule.
-Then just `make` or for previewing just `make out/book.xx.pdf`.
diff --git a/client/README.md b/client/README.md
new file mode 100644
index 00000000..c1eace2e
--- /dev/null
+++ b/client/README.md
@@ -0,0 +1,10 @@
+# Hurry Curry! Client
+
+The main game client.
+
+- For development:
+ - Requires Godot 4.4 or newer
+ - Open the editor with `godot project.godot`
+- For release builds:
+ - Requires Godot, make and ffmpeg
+ - Run `make`
diff --git a/data/README.md b/data/README.md
new file mode 100644
index 00000000..f266841a
--- /dev/null
+++ b/data/README.md
@@ -0,0 +1,20 @@
+# Hurry Curry! Data
+
+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.
+
+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.json`.
+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.
+
+## Building
+
+- Requirements:
+ - make
+ - Deno (or Node.js in which case you need to pass `JSR=node` to make)
+- Run `make`
diff --git a/pixel-client/README.md b/pixel-client/README.md
new file mode 100644
index 00000000..93a0bac0
--- /dev/null
+++ b/pixel-client/README.md
@@ -0,0 +1,19 @@
+# Hurry Curry! Pixel Client
+
+An experimental version of the game that uses pixel-art rendering to allow
+smooth playing even on low-end devices. The pixel client is discontinued however
+and should be rewritten entirely in the future.
+
+## Building
+
+- Requirements:
+ - Nightly rust toolchain
+ - SDL2 development libraries (including gfx, ttf and mixer extensions)
+
+```
+make pixel-client
+```
+
+## Usage
+
+- `./target/release/pixelcurry`
diff --git a/protocol.md b/protocol.md
index 0ad48cf4..7a70736a 100644
--- a/protocol.md
+++ b/protocol.md
@@ -1,20 +1,3 @@
-<!--
- Hurry Curry! - a game about cooking
- Copyright 2025 Hurry Curry! Contributors
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, version 3 of the License only.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
--->
-
# Hurry Curry! protocol
The protocol schema is defined in [`protocol.ts`](./test-client/protocol.ts)
diff --git a/readme.md b/readme.md
deleted file mode 100644
index de91774b..00000000
--- a/readme.md
+++ /dev/null
@@ -1,114 +0,0 @@
-# Hurry Curry!
-
-A cooperative 3D multiplayer game about cooking.
-
-## Installation
-
-The installation methods for end-users are listed on the
-[game's website](https://hurrycurry.metamuffin.org/).
-
-For information about building from source, see the instructions for the
-individual components below.
-
-## Translation
-
-If you want to help translate the project, you can use the
-[weblate](https://translate.codeberg.org/engage/hurrycurry/). All help is
-appreciated.
-
-## Documentation
-
-The protocol is documented in [protocol.md](protocol.md).
-
-## Client
-
-### Building
-
-- Requirements:
- - Godot 4.4
- - cURL (only if book is required)
- - Nightly rust toolchain (only if locales are required)
-
-```
-make client
-godot --import client/project.godot
-```
-
-### Usage
-
-- `godot client/project.godot`
-
-## Server
-
-### Building
-
-- Requirements:
- - Nightly rust toolchain
- - Deno (or Node.js in which case you need to pass `JSR=node` to make)
-
-```
-make data server
-```
-
-### Usage
-
-- Ensure the `data` directory is available **contained within** (not is) either
- the process working directory of the server or in /usr/share/hurrycurry (or
- similar). Running the server in the repository root should work.
-- Run the server: `./target/release/hurrycurry-server`
-
-## Book
-
-### Building
-
-- Requirements:
- - Python 3
- - Deno (or Node.js in which case you need to pass `JSR=node` to make)
- - Typst (only if PDF or image export is required)
-
-```
-make book
-```
-
-## Pixel Client
-
-### Building
-
-- Requirements:
- - Nightly rust toolchain
- - SDL2 development libraries (including gfx, ttf and mixer extensions)
-
-```
-make pixel-client
-```
-
-### Usage
-
-- `./target/release/pixelcurry`
-
-## Test Client
-
-### Building
-
-- Requirements:
- - Nightly rust toolchain (only if locales are required)
- - esbuild
-
-```
-make test-client
-```
-
-### Usage
-
-- Serve `test-client` directory somehow. With python:
- `python -m http.server 8080 -d test-client`
-- Open the page with your browser.
-
-## Contributing
-
-For discussion regarding development, feel free to join our matrix room:
-[#hurrycurry:metamuffin.org](https://matrix.to/#/#hurrycurry:metamuffin.org).
-
-## License
-
-AGPL-3.0-only; See [COPYING](./COPYING).
diff --git a/server/README.md b/server/README.md
new file mode 100644
index 00000000..447bf264
--- /dev/null
+++ b/server/README.md
@@ -0,0 +1,11 @@
+# Hurry Curry! Server (and others)
+
+## Building
+
+- Requires a rust toolchain with the version specified `/rust-toolchain`
+- Run `cargo build`
+
+The server needs the [game data](../data/README.md) to function. Release builds
+only check typical system installation paths or the windows registry. Debug
+builds (without `--release`) will also check for a `data` folder in the working
+directory.
diff --git a/test-client/README.md b/test-client/README.md
new file mode 100644
index 00000000..6b7968da
--- /dev/null
+++ b/test-client/README.md
@@ -0,0 +1,21 @@
+# Hurry Curry! Test Client
+
+The test client is mostly used for debugging. It was developed to test the
+server during the game jam when the main client did not exist yet.
+
+## Building
+
+- Requirements:
+ - Nightly rust toolchain (only if locales are required)
+ - esbuild
+
+```
+make test-client
+```
+
+## Usage
+
+- Serve `test-client` directory somehow. With python:
+ `python -m http.server 8080 -d test-client`
+- Start a local game server.
+- Open the page with your browser.