diff options
| author | metamuffin <metamuffin@disroot.org> | 2025-10-13 21:48:44 +0200 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2025-10-13 21:48:46 +0200 |
| commit | 419b1da85496a30eb6be52627702e1e1964e3bf1 (patch) | |
| tree | 6473dcc440d79b95667fbf86a0a743d4be787b3e | |
| parent | f0b021a5c65498068fe46fc30294efc3a0ba5be0 (diff) | |
| download | hurrycurry-419b1da85496a30eb6be52627702e1e1964e3bf1.tar hurrycurry-419b1da85496a30eb6be52627702e1e1964e3bf1.tar.bz2 hurrycurry-419b1da85496a30eb6be52627702e1e1964e3bf1.tar.zst | |
Refactor READMEs for new build system
| -rw-r--r-- | README.md | 50 | ||||
| -rw-r--r-- | client/README.md | 14 | ||||
| -rw-r--r-- | data/README.md | 9 | ||||
| -rw-r--r-- | server/README.md | 13 | ||||
| -rw-r--r-- | test-client/README.md | 12 |
5 files changed, 51 insertions, 47 deletions
@@ -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` |