Skip to content

Repository files navigation

Adventure

A first-person, melee-focused dark-fantasy action game in the style of GRAVEN — Quake-fluid movement, Dark Messiah–style combat (directional melee, kick, shields), rendered retro (low internal resolution + point upscale + fog + dither). Built on raylib 5.5 + C++17, gameplay scripted in sandboxed Lua.

Status

M0 complete — build wiring (MinGW + MSVC), low-res render pipeline, sandboxed Lua VM, F3 performance instrumentation, and a headless test suite. See docs/design/ROADMAP.md.

Quick start

# configure (fetches raylib 5.5 + EnTT + doctest on first run)
cmake --preset mingw-debug          # or: msvc-debug

# build
cmake --build build/mingw-debug

# run
./build/mingw-debug/adventure.exe   # F3 toggles the metrics overlay

# test
ctest --test-dir build/mingw-debug --output-on-failure

# perf gate (Release runs unit tests + micro-benchmarks)
cmake --preset mingw-release && cmake --build build/mingw-release
ctest --test-dir build/mingw-release -C Release --output-on-failure

# headless profile of the render loop -> profile.csv
cd build/mingw-release && ADVENTURE_PROFILE=300 ./adventure.exe

Requirements: CMake ≥ 3.24, a C++17 compiler (WinLibs MinGW-w64 UCRT or MSVC 2022), git, network on first configure. Ninja recommended for the MinGW preset.

Documentation

  • Vision — what we're making and the feel we're chasing.
  • Architecture — modules, ECS/Lua/render seams, build layout.
  • Roadmap — milestones (M0…M9).
  • Combat — melee/kick/shield/enemy design and the C++/Lua split.
  • Conventions — SRP, code style, testing, data-driven feel.
  • Development loop — how a feature request becomes tested, perf-gated code.
  • Asset pipeline — producing retro assets at scale.

Repo layout

src/        game code (built into adventure_lib; thin src/main.cpp)
tests/      doctest unit tests (headless)
scripts/    sandboxed Lua: tuning, weapons, enemies, arenas
maps/       TrenchBroom .map levels (from M1)
assets/     textures, sprites, viewmodel (loose PNG, fixed palette)
deps/       vendored minilua (Lua 5.5) + LuaBridge3
cmake/      dependency wiring
docs/       design docs + asset pipeline
.claude/    project automation skills (adv-build, adv-test, adv-new-module)

Automation (Claude skills)

Project skills streamline the loops: adv-feature (the full design→test→perf-gate→verify→commit loop for a feature request), adv-build (build + run + screenshot + DPI-crop), adv-test (build + ctest + perf gate), adv-new-module (scaffold an SRP .h/.cpp pair). See .claude/skills/ and docs/design/DEVELOPMENT_LOOP.md.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages