aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-10-13 21:48:44 +0200
committermetamuffin <metamuffin@disroot.org>2025-10-13 21:48:46 +0200
commit419b1da85496a30eb6be52627702e1e1964e3bf1 (patch)
tree6473dcc440d79b95667fbf86a0a743d4be787b3e
parentf0b021a5c65498068fe46fc30294efc3a0ba5be0 (diff)
downloadhurrycurry-419b1da85496a30eb6be52627702e1e1964e3bf1.tar
hurrycurry-419b1da85496a30eb6be52627702e1e1964e3bf1.tar.bz2
hurrycurry-419b1da85496a30eb6be52627702e1e1964e3bf1.tar.zst
Refactor READMEs for new build system
-rw-r--r--README.md50
-rw-r--r--client/README.md14
-rw-r--r--data/README.md9
-rw-r--r--server/README.md13
-rw-r--r--test-client/README.md12
5 files changed, 51 insertions, 47 deletions
diff --git a/README.md b/README.md
index a6a3fa7c..7cd838d6 100644
--- a/README.md
+++ b/README.md
@@ -5,8 +5,8 @@ A cooperative 3D multiplayer game about cooking.
## Installation
The installation methods for end-users are listed on the
-[game's website](https://hurrycurry.org/). For information about
-building from source, see the instructions below.
+[game's website](https://hurrycurry.org). For information about building from
+source, see the instructions below.
## Translation
@@ -14,33 +14,49 @@ 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
+## Development / Documentation
-The game is composed of individual components each has its own readme file and
-convinience make target.
+The game is composed of individual components each has its own readme file:
- [Client](./client/README.md)
- [Server](./server/README.md)
- [Data](./data/README.md)
- [Test Client](./test-client/README.md)
-### Dependencies:
+The game protocol is outlined in [protocol.md](./protocol.md).
+
+## Building
+
+The high-level build system is Make. But Rust's Cargo is also used. There are is
+a `all` target for everything and `all_`_component_ for each component.
+
+```sh
+make all # Build everything
+make all_client # Build only client
+make all_server # Build only server
+make clean # Remove build files
+```
+
+### Dependencies
+
- General:
- - make
+ - [Make](https://www.gnu.org/software/make/)
- Client:
- - Godot (>=4.5)
- - ffmpeg
+ - [Godot](https://godotengine.org) (>=4.5)
+ - [ffmpeg](https://ffmpeg.org)
- Server:
- - cargo (toolchain version specified in `./rust-toolchain`; can be installed via `rustup toolchain install $(cat rust-toolchai)`)
- - Book:
- - cargo (see above)
+ - [Rustup](https://rustup.rs) (alternatively a Rust toolchain matching
+ [rust-toolchain](./rust-toolchain))
- Data:
- - deno or node (if using non-deno, pass `JSR=node` to make)
+ - [Deno](https://deno.com) or [Node.js](https://nodejs.org) (if using node,
+ pass `JSR=node` to Make)
+ - [sed](https://www.gnu.org/software/sed)
- Test client:
- - cargo (see above)
- - esbuild
-
-The game protocol is outlined in [protocol.md](./protocol.md).
+ - [Rustup](https://rustup.rs)
+ - esbuild
+- Book export:
+ - [Godot](https://godotengine.org) (>=4.5)
+ - [Rustup](https://rustup.rs)
## Contributing
diff --git a/client/README.md b/client/README.md
index 7b7ef644..d5c75684 100644
--- a/client/README.md
+++ b/client/README.md
@@ -2,9 +2,11 @@
The main game client.
-- For development:
- - Requires Godot 4.5 or newer
- - Open the editor with `godot project.godot`
-- For release builds:
- - Requires Godot, make and ffmpeg
- - Run `make`
+## Development setup
+
+Supply a server address as first argument to the client to connect without going
+through menus.
+
+```
+godot -- ws://127.0.0.1:27032
+```
diff --git a/data/README.md b/data/README.md
index f266841a..00953a0c 100644
--- a/data/README.md
+++ b/data/README.md
@@ -5,16 +5,9 @@ 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`.
+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.
`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/server/README.md b/server/README.md
index 447bf264..fc2285c4 100644
--- a/server/README.md
+++ b/server/README.md
@@ -1,11 +1,14 @@
# 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.
+
+## Development setup
+
+Use the `fast_recipes` feature flag to decrease active/passive recipe duration.
+
+```
+LOG=info cargo run --bin hurrycurry-server --features fast_recipes
+```
diff --git a/test-client/README.md b/test-client/README.md
index 6b7968da..cd1746db 100644
--- a/test-client/README.md
+++ b/test-client/README.md
@@ -3,17 +3,7 @@
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
+## Development setup
- Serve `test-client` directory somehow. With python:
`python -m http.server 8080 -d test-client`