finds.dev← search

// the find

BenjaminHinchliff/dungeonator

★ 5 · C · MIT · updated Aug 2022

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →