One seed grows a whole continent for my RPG: towns, labyrinths, 28 adventurers, and coastlines that finally stopped being squares
I'm a solo dev making Seedborne Chronicle, a free-roaming guild RPG in the spirit of Lunatic Dawn IV: you wander, take jobs, make friends and pass your guild on.
You type a seed and a continent grows from it: the land and its coasts, 8 towns, 14 labyrinths and 28 adventurers with their own homes and stats.
The first version ran in the browser. When I moved it to Godot 4, I kept tests that compare the new generator with the browser build's output for four seeds, so the same seed still grows the same continent, down to the coastline.
The coastlines were the ugly part. Shores followed the tile grid, so water sat in steps wherever the height changed. Now the ground is one heightfield sampled three times per tile: the shoreline falls where land meets water, beaches slope into the sea, and grass, rock and snow blend at their edges. Images 2 and 3 are the same seed from the same camera, before and after.
How do you keep a seeded world stable while you keep adding features to the generator?
Image descriptions (in gallery order):
1. The Godot build's continent for the same seed: the same coastline, lakes and peaks, now with low-poly trees, towns and soft terrain.
2. Before: a lake next to the first town follows the square tile grid, with stepped square corners.
3. After, same camera: the lake has a curved shoreline with a sandy beach sloping into the water.
4. Eight continents from eight random seeds: islands, twin continents, a crescent bay and single landmasses.