wm.WILLIAM MARAISLet’s talk ↗
← All projects
SIMULATION / PROCEDURAL WORLDS

WorldMachina.

Built out of an interest in tabletop world-building, WorldMachina combines tectonic terrain generation with an interactive OpenGL planet viewer. The project explores how simulation output becomes an explorable world.

STATUSPersonal project
TOOLS & TECHNOLOGIESPython / OpenGL / GLSL / PyPlatec

From heightmap to planet

PyPlatec supplies the tectonic plate simulation used to generate terrain heightmaps. The renderer applies heightmap displacement and lighting, with configurable ocean levels, an orbiting camera and selectable skybox backgrounds.

Tiled hydraulic erosion

An experimental erosion component models rainfall, water flow, sediment transport and deposition. Tiling, configurable process counts and disk swapping aim to reduce memory pressure. The erosion implementation builds on dandrino’s terrain-erosion-3-ways, with work focused on memory handling, scaling and tiling.

Current boundaries

The documented erosion implementation works best on smaller heightmaps and moderate scale factors; large inputs and high scale factors still have memory and stability limitations. Climate, biomes, river networks, vegetation and atmospheric scattering are development directions, rather than completed features.

EXPLORE THE SOURCE

Explore the implementation

View repository ↗
git clone https://github.com/SAED2906/WorldMachina.git

Code example

terminalShell
# From the repository root, after installing dependencies:
python src/main.py

# Example erosion run, from src/simulation/erosion/hydro/:
python tiled_erosion.py heightmap.png --scale 2.0

NEXT PROJECTExJSON ↗