aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md50
1 files changed, 33 insertions, 17 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