diff options
-rw-r--r-- | README.md | 40 | ||||
-rw-r--r-- | book/README.md | 17 | ||||
-rw-r--r-- | book/readme.md | 6 | ||||
-rw-r--r-- | client/README.md | 10 | ||||
-rw-r--r-- | data/README.md | 20 | ||||
-rw-r--r-- | pixel-client/README.md | 19 | ||||
-rw-r--r-- | protocol.md | 17 | ||||
-rw-r--r-- | readme.md | 114 | ||||
-rw-r--r-- | server/README.md | 11 | ||||
-rw-r--r-- | test-client/README.md | 21 |
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. |