Okay I've seen a ton of procedural earth generation blog posts. Random bisections, noise, fractals, erosion, watersheds, biomes and climate derivation, etc etc.
Why did the author of this one choose this approach rather than some other approach? What issues did they see with others that they decided to write their own? What's unique here?
Or maybe: What's the ultimate procedural earth generation technique? Is there anyone following these and comparing them?
kelseyfrog 5 hours ago [-]
Procedural generation's history mirrors that of symbolic AI - hand tuned, interpretable procedures that parallel the conceptual models we have of a generating process.
The choices the author made reflect the way they conceptualize the generating process. This is in contrast to a data-informed approach.
A data-informed approach to island generation would be a spatially auto-correlated generating model whose parameters were derived from real life data on islands. You would then be able to generate more in-distribution islands that were statistically similar to islands in the corpus.
You don't often see this in the proc-gen world because part of the fun is adding epicycles and various tunable knobs.
dvt 4 hours ago [-]
> Why did the author of this one choose this approach rather than some other approach? What issues did they see with others that they decided to write their own? What's unique here?
I'm not sure what you mean here. A lot (most?) procedural systems use Voronoi methods for procedural terrain generation, so this isn't some wholly novel solution. From what I can tell (haven't looked into it super deeply), it looks like Lloyd's algorithm is basically a variation of random bisections.
danielvaughn 8 hours ago [-]
I'd like to ask a naive question, as I'm not really familiar with procedural terrain generation but I've been curious about it from afar. From what I can tell, most work in this area revolves around manipulating geometric patterns to "look like" mountains/islands/whatever.
Is there any value in modeling geological processes instead? So if you take a flat plane, along with a model of geological forces that could alter that plane, and run some kind of simulation over time (in effect simulating erosion etc), could that not produce a more "realistic" terrain?
I assume it's much more complex, much more computationally expensive, and all that. But I'd be surprised if no one at all has attempted this.
o11c 8 hours ago [-]
Well, the article does mention that Part IV adds erosion. Note also that this particular source is a rare example of working based on a mesh rather than a grid (which complicates the logic - in particular, when do you split/merge nodes? - but should be cheaper at scale).
People can try something fully physics-based (or rather, physics-inspired) even for earlier stages, but there are problems:
* You still need some kind of nondeterministic input so you don't always generate the same world.
* You must do the whole world at once, rather than being able to generate each area independently.
* This requires the computation to run for a long time, and needs to feed back in on itself (think of "lake overflows a natural dam and carves a valley, then the tectonics lift it and change the low point anyway").
* It's very easy for your code to result in "boring" outputs, such as "all flat" or "infinitely deep valleys".
The extremely accurate and high end terrain generation tools do exactly this. They model different terrain densities, erode-ability, and permeability to then apply rain, snow, tectonic shifts, river erosion, thaw-melt, etc over virtualized eons.
The result is incredibly detailed terrain that is completely unique based on the initial parameters and the randomness of the time-elapsed process that is non-deterministic.
The only downside is that it takes hours to simulate and that's more than most folks are interested in investing in.
Very nice writeup. I like the process of adding random noise to the distances on the graph when deriving the mountains
deadbabe 6 hours ago [-]
I’m tired of terrain generation techniques that just involves noise.
People should really try to step up and make landforms that are modeled after tectonic activity and create biomes based on weather patterns and ocean current. The end result will be far more natural and realistic.
dylan604 6 hours ago [-]
> The end result will be far more natural and realistic.
or infuriating because some small detail is not right causing all of the biomes to die off.
Why did the author of this one choose this approach rather than some other approach? What issues did they see with others that they decided to write their own? What's unique here?
Or maybe: What's the ultimate procedural earth generation technique? Is there anyone following these and comparing them?
The choices the author made reflect the way they conceptualize the generating process. This is in contrast to a data-informed approach.
A data-informed approach to island generation would be a spatially auto-correlated generating model whose parameters were derived from real life data on islands. You would then be able to generate more in-distribution islands that were statistically similar to islands in the corpus.
You don't often see this in the proc-gen world because part of the fun is adding epicycles and various tunable knobs.
I'm not sure what you mean here. A lot (most?) procedural systems use Voronoi methods for procedural terrain generation, so this isn't some wholly novel solution. From what I can tell (haven't looked into it super deeply), it looks like Lloyd's algorithm is basically a variation of random bisections.
Is there any value in modeling geological processes instead? So if you take a flat plane, along with a model of geological forces that could alter that plane, and run some kind of simulation over time (in effect simulating erosion etc), could that not produce a more "realistic" terrain?
I assume it's much more complex, much more computationally expensive, and all that. But I'd be surprised if no one at all has attempted this.
People can try something fully physics-based (or rather, physics-inspired) even for earlier stages, but there are problems:
* You still need some kind of nondeterministic input so you don't always generate the same world.
* You must do the whole world at once, rather than being able to generate each area independently.
* This requires the computation to run for a long time, and needs to feed back in on itself (think of "lake overflows a natural dam and carves a valley, then the tectonics lift it and change the low point anyway").
* It's very easy for your code to result in "boring" outputs, such as "all flat" or "infinitely deep valleys".
https://github.com/DokimiCU/mg_tectonic
https://www.google.com/search?q=news.ycombinator.com+procedu...
This one is a particularly useful starting point: https://news.ycombinator.com/item?id=5196154
The result is incredibly detailed terrain that is completely unique based on the initial parameters and the randomness of the time-elapsed process that is non-deterministic.
The only downside is that it takes hours to simulate and that's more than most folks are interested in investing in.
Here are some examples of this kind of software:
World machine: https://www.world-machine.com/
Terragen: https://planetside.co.uk/
Vue: https://www.bentley.com/software/e-on-software-free-download...
Gaia: https://www.procedural-worlds.com/products/indie/gaia/
It'd be neat to see a game world where the simulation remains ongoing, where the world is actively changing.
"Texturing & Modeling: A Procedural Approach"
People should really try to step up and make landforms that are modeled after tectonic activity and create biomes based on weather patterns and ocean current. The end result will be far more natural and realistic.
or infuriating because some small detail is not right causing all of the biomes to die off.