Procedural terrain ideas

Blitz3D Forums/Blitz3D Programming/Procedural terrain ideas

RemiD(Posted 2011) [#1]
Hello, :)

Some months ago, i have tried to create a big island with several kinds of terrains (plains, swamps, mountains, beaches, forests).

In order to create these terrains which must be tileable, i have used a simple technique :
->the program randomly positions spheres with random sizes and random color depending on the height of the terrain i want to create ( shades of grey).
->the program modifies the position of each vertices of each sphere in order to create random shapes.
->the program captures the shades of grey from above.
->the program applies a blur routine to the pixels of the terrain image in order to smooth the shape of the terrain.

Well, the result is not so good...



Do you have any links or examples on how to create procedural terrains ?
I have searched on the forum and on the web and it seems some coders use a Perlin noise routine. Your advices and ideas are welcome.

Thanks,

Last edited 2011


Yasha(Posted 2011) [#2]
The fastest algorithm is the Diamond-Square. The logic is similar to Perlin noise but it's more suitable for mesh terrains. (You can find a really messy implementation in the code archives... I should rewrite that...)

This article: http://oddlabs.com/download/terrain_generation.pdf

...goes over layering the initial heightmap with a Voronoi diagram (which adds gameplay-friendly features like regular gullies and ridges), a perturbation filter (simulating geological displacement - fractals are too regular) and erosion, both fluvial and thermal. All of these can be implemented pretty easily in Blitz3D for some really natural-looking results (again, see code archives for old examples that need to be rewritten).

For handling things like swamps, forests, rocky areas etc., you'll need to define things like a water table and vegetation growth patterns. The documentation for the Large 3D Terrain Generator goes into great detail on this sort of thing, which I found pretty helpful.


RemiD(Posted 2011) [#3]
Thanks for the links :)


RemiD(Posted 2011) [#4]
Hi,

Just to let you know that i am using L3DT to create the heightmaps for my map.

I have chosen to do it with this software because i can create a procedural terrain for the basic shapes of the terrain and then create specific shapes in the terrains where i want them.

Good day,