summaryrefslogtreecommitdiff
BranchCommit messageAuthorAge
audioaudio: fix triangle waveFreya Murphy3 weeks
mainreadme: add crates and fix typosFreya Murphy13 days
 
 
AgeCommit messageAuthorFilesLines
13 daysreadme: add crates and fix typosHEADmainFreya Murphy1-3/+13
13 daysgame: add more debug keysFreya Murphy3-8/+59
2025-11-27audio: make sounds! woahFreya Murphy11-28/+125
2025-11-24audio: move data out of crateFreya Murphy10-76/+155
2025-11-24audio: disable music debugFreya Murphy1-3/+3
2025-11-24audio: move looping to programFreya Murphy4-21/+17
2025-11-24audio: add scheduling, and optimize atomic operationsFreya Murphy9-144/+274
2025-11-23audio: fix triangle waveaudioFreya Murphy1-2/+3
[...]
 
Clone
https://g.freya.cat/DungeonCrawl
git@git.in.freya.cat:DungeonCrawl

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 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.

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