Godot Version
Godot Voxel Tools 4.4.1 stable
Question
Hello! I am using Zylann’s voxel tools to generate a voxel terrain. I have gotten stuck on the part where I want to guarantee a set of buildings within a biome. For example I might want a Capital/Core structure, 2 villages and 3 dungeons.
What I do currently
How I generate terrain currently is looking at a very simple cellular fastnoiselite and letting the value of the noise determine the biome:
Currently I am able to generate biomes basically, image is from the 2D minimap I have:
What’s difficult is, the terrain generator only keeps track of a “little rectangle” around the player, reads the noise within that rectangle and generates the terrain. I don’t have a view of the entire biome “zone” so that I could map out my set of structures in the biome, at least I don’t see how I can accomplish that…
At first I thought I could use a second noise that has the same overarching noise structure but with dots for where structures should be, for example:
I would place the “Core” structure at the black dot, but then I realize I will have a problem with the imprecision of the “black” noise finding more than one coordinate in the black spot to place a “Core” in… Also I don’t have a solution for the rest of the buildings…
What I’m thinking about doing instead
I’m thinking of scrapping the terrain generation I have, and instead of using cellular noise to generate the biome, I instead generate the structures first, then determine the biome around the “Core” and its connected villages and dungeons.
Something like this image:
This might not work immediately either due to my “little rectangle”-problem, but…
I’m trying to figure out if something exists for this type of procedural generation? Is there a concept for this, like a “star chart” generation algorithm? I’m thinking it should be something that creates these “Core” parents with their child structures, without having the children overlap with other “Core” networks.
Maybe someone with experience in terrain generation can give me some pointers? Am I right in ditching the cellular noise and should instead generate structures first and biomes after? Or could the original method be expanded into the generation I want?



