// the find
BenjaminHinchliff/dungeonator
A small C library designed for people who just want procedural roguelike dungeon generation
A single-purpose C99 library that generates roguelike dungeons (rooms + maze corridors, à la the classic 'Rooms and Mazes' algorithm) into a grid struct you can read into whatever you're rendering with. It's for someone who wants a battle-tested dungeon generator to bind into another language rather than reimplement one from scratch.
Pure C99 with a tiny, C-ABI-friendly surface (generateDungeon, Grid, free) makes it trivial to bind from Rust, Python, C#, etc. — and the author actually proved this out with real Rust bindings and a WASM demo, not just a claim. CMake integration is done properly: add_subdirectory just works, tests/docs are off by default, and dependencies (including a bundled deterministic RNG) are fetched automatically. Uses approval testing for the generation logic, which is the right call for an algorithm where 'correct' output is hard to assert on structurally. Full Doxygen API docs are hosted on GitHub Pages, so you're not reading source to find the function signature.
Dead since August 2022 with only 5 stars/3 forks — you're the QA team if you hit an edge case, since nobody else is exercising this. generateDungeon crashes if you forget to call seedDungeonatorRNG first; that's a footgun that should be an error return, not a documented gotcha. It's a direct implementation of one well-known algorithm with one room/maze style — no theming, no alternate generators, so you'll outgrow it fast if you need anything beyond basic rooms-and-corridors. No versioned releases or changelog, so pinning a commit via CMake FetchContent is your only real integration option.