Procedural world study

Coastal Lagoon
an archipelago built entirely by code

Five islands in a turquoise lagoon, ringed by limestone karst towers. Every cliff, column, bamboo stalk and roof shingle in this world was generated by Python running inside Blender — then exported to Godot, where a knight walks it.

The ruin island seen across the lagoon, with white stone columns and a broken arch on a green plateau

Coastal Lagoon 99 m × 117 m · built in Blender 5.2 · playable in Godot 4.7.2

01 — The worldDesigned on paper, then grown from code

The archipelago was laid out in metres before a single polygon existed. Every island has a stated radius and plateau height; every connection has a stated span; the player has a stated walk speed, jump height and step-up limit.

A layout validator checks the numbers against each other — that the bridge deck doesn't ask for a step taller than the player can climb, that the stepping stones don't float above the seabed, that no two islands overlap. It caught two real errors before anything was built.

The result is a world that is dimensionally coherent rather than eyeballed: 99 m across, 117 m deep, water at zero, a 1.70 m player as the ruler for everything.

02 — The lookStylized, not photoreal

Flat plateaus with hard cliff edges — not domes. Pale limestone, fresh mint foliage, turquoise shallows, vermilion and gold accents. Simplified chunky forms with clean silhouettes, painted soft-edged shading.

Getting there took real correction. The first terrain attempt produced smooth green buns; the second gave the cliffs a cream band because the material heights were absolute instead of relative to each island's own top. The fix was ring density — most of the mesh's rings now sit on the cliff face, where the silhouette actually lives.

03 — The buildSix parts, five agents, one shared contract

The world is assembled from six independently-built parts: terrain, ruins, torii shrine, cottage, connections and nature. They were written in parallel against a shared library that defines the layout, the palette and every geometry helper — so parts built in isolation still fit together exactly, with no coordinate negotiation.

That contract is also where the interesting bug lived. The shared box helper produced geometry at half the requested size, and four agents independently discovered it and wrote their own workarounds. The right fix was at the source: one line, and the four compensations deleted.

04 — The proofIt is actually playable

Not "it loads" — playable, and tested. A headless integration test spawns the player, lands them, and walks them across the sandbank. A traversal suite then runs eight legs through the world: the ruin platform, down the grand staircase, across the bridge, into the bamboo grove, along the garden path, and wading through the lagoon.

Those tests found three bugs no amount of looking would have caught. Two islands had inverted collision normals, so rays fired from above fell straight through them into the seabed. The cottage door was swung across its own doorway at 96° — dimensionally perfect, physically impassable. And the porch roof had three centimetres of head clearance.

05 — StillsThe world, in frames

The whole archipelago seen from high above: five islands in turquoise water ringed by limestone towers
The whole area in one frame — the ruin island, the bridge, the grove, the cottage
White stone ruins on a green plateau: standing columns, a broken arch and scattered rubble
Ruin island — four columns, five stumps, a free-standing arch
Looking down over a dense bamboo grove onto a vermilion torii gate and a wooden bridge
The grove from above — torii gate, stone path, the bridge behind
The grand stone staircase descending from the ruin island into the lagoon
The grand staircase, descending north to the water
A pale plastered cottage with a dark shingled roof among bamboo on its own island
The cottage island — walkable inside, with a working interior

06 — Playing itControls

Third-person, camera-relative movement. WASD moves relative to where you are looking, and the knight turns to face his direction of travel.

W A S D
Move, relative to the camera
Mouse
Look around — push up to look up
Shift
Sprint
Space
Jump — or ascend while flying
Ctrl
Descend while flying
F
Toggle flight — survey the whole world from the air
Esc
Release the mouse

07 — By the numbersWhat it costs

332kTriangles in the finished world
54kTriangles in the collision mesh
76Character animations, all wired
8/8Traversal legs, verified in-engine

Visual and collision geometry are exported as separate files, so collision can be decimated hard without touching the look — and the world never pays for collision on grass, ferns or distant sea stacks. Decimating the vegetation alone removed 220,000 triangles.

08 — PipelineHow it was made

  1. Layout in metres

    Islands, connections and player capabilities defined as numbers, then validated against each other.

  2. Shared library

    One source of truth for coordinates, palette and geometry helpers, so parallel work cannot drift.

  3. Six parts, built in parallel

    Terrain, ruins, shrine, cottage, connections and nature, each rendering its own preview shots.

  4. Assembly

    Parts merged into one world, triangle budget reported, lighting and water unified.

  5. Export

    Two GLBs — visual and collision — with vegetation decimated to fit budget.

  6. Godot

    Collision built at load, third-person controller, flight, and a headless test suite that proves it works.