blob: 6d61910311f8253a6958d7d3db42852a12f9259f (
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
|
# DungeonCrawl
A rust Dungeon Crawler!
## Keybinds
Use the following input for playing the game!
* `wasd` or `↑←↓→` for movement
* `enter` for interaction
* `e` to use an item
* `q` to drop an item
* `f` to attack
* `1-5` to change selected inventory slot
* `F11` to toggle fullscreen
The following are for debug purposes
* `F3` - toggles the debug ui
* `F4` - places a chest with a bomb
* `F5` - shows a placeholder message
* `F6` - you die 💀
## Requirements
DungeonCrawl builds raylib into the binary, and thus needs the build tools needed for raylib.
1. Rust version 1.88.0
2. CMake
3. Clang (must set LIBCLANG\_PATH)
4. GLFW or SDL2 (see features)
5. X11 or Wayland (linux only, see features)
6. Pulseaudio and alsa (linux only)
## Build (Desktop)
To build for desktop run the following. The binary will be located in `target/release/game`.
```
cargo build --release
```
## Build (Web)
Web builds require the [emscripten](https://emscripten.org/docs/getting_started/downloads.html) toolchain.
Download emscripten, and make sure `emcc` is in your path.
To build for web, invoke the makefile. The output website will be in `dist`.
```
make web
```
Web builds can also be download at [jenkins](https://jenkins.freya.cat/job/DungeonCrawl/).
## Crates
`dungeon` - all game logic
`game` - core game loop, and binds together the game logic and graphics
`graphics` - handles window and rendering though raylib
`audio` - audio orchestration system that emulates the NES
## Features
`x11` (default) - Enables X11 protocol support (linux only).
`wayland` - Enables wayland support (linux only).
`sdl` - Uses SDL2 instead of GLFW. GLFW is used if this feature is not set.
`static` - Includes the audio and images files statically in the binary. This is ignored for wasm builds.
## Contributors
- Freya Murphy <freya@freyacat.org>
- Audrey Fuller <alf9310@rit.edu>
- Yusif Elsharawy <yse2561@rit.edu>
- Ryan Symons <ras1178@rit.edu>
|