A small cross-platform terminal exploration game written in C++17.
NAM started as a terminal (TUI) prototype — nam_console — used to draft and
validate the deterministic core game logic quickly, without any graphics
work. That core now also powers a full graphical frontend, nam_sdl, built
with SDL3. The terminal frontend remains fully supported as a lightweight,
dependency-free way to play; the SDL frontend is the actively evolving
graphical version of the same game.
nam_console (TUI, where the game was drafted) |
nam_sdl (graphical, where it's headed) |
|---|---|
![]() |
![]() |
make
make runmake builds both the terminal frontend (nam_console) and the graphical
SDL frontend (nam_sdl); make run builds and runs the terminal one. Move
with the arrow keys or WASD (H/K/L also work). Press j to open the
expedition journal, r to rest, and q or Esc to quit.
make sdl
make run-sdlbuilds and runs the graphical frontend instead; controls are the same
(Tab/Shift+J for the journal). See
NAM_SDL/README.md for what the SDL frontend adds and
its current limits.
Building from source, running the test suites, sanitizers, cross-compiling,
and CI are covered in docs/dev.md.

