Deterministic procedural map generation for Godot: elevation, biomes, rivers, locations, roads and connectivity on hex grids, square grids, or your own topology. It is the generation layer for strategy maps: headless, serializable, and free under AGPL-3.0.
Same seed, same map, bit-for-bit. Nothing touches Godot's global RNG: all randomness flows through seeded sub-streams (splitmix64), guarded by a regression test. Generate in the editor, in CI or on a headless server and get the identical map. Share seeds with players; reproduce a bug report from a number.
What it does
- Hex, squares, or your own topology. 4/8-connected squares built in with zero dependencies; hex via the FREE tier of Hex Strategy Map; custom grids by overriding ~16 virtuals on the
GridTopologyport. - Nine injectable stages (elevation, moisture, falloff, classify, smooth, rivers, locations, roads, connectivity). Reorder them or pass your own
Callables;classify_fnandroad_cost_fnhooks for your game's rules. - Rivers, locations and roads with intent. Downhill-biased rivers with spacing, terrain-filtered locations, MST + Dijkstra roads that bridge water instead of blocking at it.
- Connectivity repair. Carves WATER to PLAINS corridors so every land cell is reachable by construction.
- Pathfinding included.
GridSearch.find_path/find_reachable/find_path_astarwith terrain and river/road edge costs, deterministic tie-breaks. - Serializable snapshots. Re-materialize the exact map on any topology with the same dimensions.
- ~40 documented parameters. fBm control (octaves, gain, lacunarity), domain warping, island falloff, biome presets (pangaea / archipelago / highlands), smoothing, injectable biome classifier.
Proven, not promised
On hex, with default terrain parameters, output is bit-for-bit identical to Hex Strategy Map's MapGenerator (frozen by test, negative seeds included). The suite: 188 test cases across 14 gdUnit4 suites, run headless on every push and pull request (determinism, RNG isolation, parity, regeneration idempotency, connectivity, architecture boundaries). Performance on the dev machine: a 250x250 map (62,500 cells) through the full pipeline takes about 2.6 s.
Changelog for version v1.0.0
2026-10-07 20:03:16
No changelog provided for this version.