Explore
Generation Order
Three ways to fan out from the seed tile, and what each one trades off
Building the map layer by layer
Tiles can't all generate at once \u2014 each one needs at least one finished neighbour to read edges from. Generation goes in waves: wave 0 is the seed tile, wave 1 is its immediate neighbours, wave 2 is the next ring out, and so on. Tiles in the same wave are independent of each other and can generate in parallel. Think of it like a construction crew: foundation first, then walls, then roof.
Why this matters for your map
A 20x20 grid has 400 tiles. At about 8 seconds each on one GPU, that's nearly an hour if you generate them one at a time. Running independent tiles in parallel across four GPUs cuts the same map down to about 12 minutes \u2014 the difference between "wait for lunch" and "ready before your coffee cools."
Click a tile to set the spiral seed.
Wave Timeline
Click a tile to see its wave assignment and dependencies.
Wave Legend
Strategy
SPIRAL — BFS outward from the seed tile. Each ring becomes a new wave. Maximizes context from completed neighbors.
Strategy trade-offs
| Strategy | Seam coherence | Max parallelism | Memory pressure | Best for |
|---|---|---|---|---|
| Spiral | Highest — every tile has the most finished neighbours | Low — one ring at a time | Low — neighbours written before target | Quality-first maps, rivers crossing many tiles |
| Row scan | Medium — one finished left neighbour, none above | High — all tiles in a row can run in parallel | Medium | Speed-first drafts, simple terrain with no cross-row features |
| Anchor fill | Highest at anchors, lower at fill tiles | Highest — all non-dependent tiles run together | High — multiple anchors held in memory simultaneously | Large grids on multi-GPU setups where throughput matters most |