Discussion: New mapgen idea

User avatar
burli
Member
 
Posts: 1313
Joined: Fri Apr 10, 2015 13:18

Discussion: New mapgen idea

by burli » Thu Feb 23, 2017 14:37

All current mapgens work in the same way. They generate a terrain with different noises and overlay this with a two dimensional biome map.

There are a lot of downsides. Because of the nature of perlin noise biomes can be huge, but also really tiny. A bigger problem is that there is no control for the terrain. It is nearly impossible to generate specific biomes that need a specific terrain. A nice example is the lavender fields. You can specify a biome in Minetest, but there is no guarantee that this biome spawns in a plain

So I think the biome definition should include the terrain and not only heat and humidity

The basic shape of a biome can be generated by voronoi cells. Each cell has a defined terrain like hills, mountains or plains, topping like snow, sand or grass and a vegetation.

Voronoi cells are generated by placing random points. But they are scattered very uneven. To make it (a little bit) more even the Lloyd relaxation can be used. One or two iterations should be enough. To make the edges less sharp a noise ripple could be added and to blend the biomes a gradient could be used

A voronoi cell could be subdevided by a voronoi treemap to create subbiomes or define the terrain more specific

But the basic idea is to define biomes not only by heat and humidity. A definition of the terrain is also important. A glacier biome doesn't makes sense in a plain. It needs a mountain. A landscape like the "Lüneburg Heath" (a landscape in Germany similar to the lavender fields) doesn't make sense on a mountain.

My biggest concern is: how can I generate a mountain within a mountain biome? I can use normal perlin noise, but I have no guarantee that the noise generates a mountain within the cell.

What do you think about this idea and how could this be implemented?
 

User avatar
Naj
Member
 
Posts: 170
Joined: Sat Sep 19, 2015 21:14
GitHub: pyrollo
In-game: naj

Re: Discussion: New mapgen idea

by Naj » Thu Feb 23, 2017 14:56

There could be another aproach with mountains. With heat and humidity, there could also have a notion of min and max height.

If min is negative and max positive --> shore,
if max much higher that min --> clifs or mountains,
if max near min --> plains,
and so on.

I'm also convinced that heat should depend on altitude. I always find that strange to have snow in plains and grass in nearby mountains.
 

User avatar
firefox
Member
 
Posts: 1185
Joined: Wed Jan 14, 2015 07:34
In-game: Red_Fox

Re: Discussion: New mapgen idea

by firefox » Fri Feb 24, 2017 13:52

what i am missing is localization of biomes.
currently we can define min and max heights to separate biomes to low and high land, but in the other directions it's all random and not controllable.
if you could define a min and max X and Y (or X and Z) in addition to height, we could have more control over where to generate biomes.
for example, we could set up a bunch of cold biomes that only appear in the northern parts of the world.
=(^.^)=
 

User avatar
burli
Member
 
Posts: 1313
Joined: Fri Apr 10, 2015 13:18

Re: Discussion: New mapgen idea

by burli » Fri Feb 24, 2017 14:14

if you could define a min and max X and Y (or X and Z) in addition to height, we could have more control over where to generate biomes.


Then you have the height of one position, but still no idea if it is a hill, mountain, just a small spike or a plain in the heights. I would like to have some kind of terrain biome. Plain, mountains, canyon, hill, whatever
 


Return to Minetest General

Who is online

Users browsing this forum: No registered users and 84 guests

cron