aboutsummaryrefslogtreecommitdiff
path: root/readme.md
blob: de91774bb51496e9d7c46d965ab87fe921b87b10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# 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).