terrain-diffusion: a learned successor to Perlin noise for infinite and deterministic real-time terrain generation
terrain-diffusion: a learned successor to Perlin noise for infinite and deterministic real-time terrain generation
What it solves
Terrain Diffusion provides a learned alternative to Perlin noise for generating infinite, deterministic, and randomly-accessible terrain in real-time. It allows creators to move beyond simple procedural noise to generate high-fidelity, realistic planetary terrain and climate data that remains consistent across an unbounded world.
How it works
The system uses a hierarchical stack of diffusion models. It starts with a "coarse map" (either procedurally generated or hand-drawn) that defines the general layout of the world. A diffusion model then converts these coarse sketches into high-resolution heightmaps (e.g., 30m/pixel) and climate data.
At its core is InfiniteDiffusion, a framework that makes diffusion sampling lazy and unbounded. This allows for $O(1)$ random access to any point in an infinite world without needing to generate the entire map first, while maintaining seed-consistency (determinism).
Who it’s for
- Game developers creating open-world environments with high local variation and detail.
- Worldbuilders focused on realistic, large-scale planetary geography.
- Technical artists who want to integrate AI-generated terrain into tools like Azgaar's Fantasy Map Generator.
Highlights
Infinite, Deterministic Generation: Uses the InfiniteDiffusion algorithm to ensure the same seed produces the same terrain at any coordinate.
Causal Conditioning: Supports conditioning on elevation, temperature, and precipitation maps to guide the terrain generation.
Multi-Resolution Models: Offers specialized models for playable worlds (30m resolution) and realistic world-building (90m resolution).
Integration Tools: Includes a converter for Azgaar Fantasy Map JSON exports to GeoTIFFs and a Minecraft mod for replacing the world generator.
Sources
- undefinedxandergos/terrain-diffusion