// the find
cataclysmbn/Cataclysm-BN
Cataclysm: Bright Nights: A fork/variant of Cataclysm:DDA by CleverRaven with a mod registry at https://mods.cataclysmbn.org/
Cataclysm: Bright Nights is a C++ roguelike survival game set in a post-apocalyptic, sci-fi-infested world, forked from Cataclysm: DDA to take gameplay in a different balance/direction. It's aimed at players who want a deep, systems-heavy survival sim (crafting, mutation, vehicles, bionics) rather than a quick arcade roguelike, and at modders who want to extend it through its JSON content layer.
Content is almost entirely data-driven — bionics, effects, construction, enchantments, flags all live in JSON rather than hardcoded C++, so modding doesn't require touching or recompiling the engine. Build tooling is genuinely mature: CMake plus vcpkg/MSYS2 paths, custom clang-tidy plugin, automated formatting scripts, and presets covering Windows, Linux, macOS, Android, and Flatpak — this is run like a long-lived multi-platform project, not a hobby fork. It also has a real Lua scripting layer with dedicated skill docs for generating simple/complex/API bindings, meaning the C++/Lua boundary is treated as something to maintain deliberately rather than bolted on once and forgotten.
No real package-manager distribution — outside of one Flathub listing, players are stuck with manual zip downloads or building from source, and the README explicitly says no launcher is officially supported, so version/mod management is manual. Updating is fragile enough that the FAQ has to walk players through deleting the old data folder by hand to avoid stale files from removed content — that's an engine/data lifecycle issue leaking into user-facing docs. Contributing meaningfully splits you between C++ engine code and a sprawling JSON content DSL (enchantments, flags, construction categories) with its own conventions, so the learning curve for content PRs is steeper than 'it's just JSON' suggests. Being a fork also means ongoing divergence risk from upstream CDDA — save and mod compatibility across versions isn't guaranteed and isn't really addressed beyond ad hoc FAQ advice.