I want to make a map that’s procedraly generated but I have 6 biomes
Snow
Desert
Jungle
Water
Plains
Wasteland is a custom one
I want the 5 biomes of similair big size with one per map with water streaming in the middle
I tried to do this with noise but I couldn’t after twerking the values
I can do the water with noise
But how can I make the biomes while them being diverse in shape and not huge squares
for x in width:
for y in height:
var pos = Vector2(x,y)
var noise = HeightNoiseMap.get_noise_2d(pos.x,pos.y)
var read = 2 * abs(noise)
if read <= 0.5:
if read <= 0.2:
set_cell(0,pos,1,Vector2i(0,0),0)
else:
set_cell(0,pos,5,Vector2i(0,0),0)
else:
set_cell(0,pos,4,Vector2i(0,0),0)```
A quick tip though, you can format the text as code to make it look good. Just enclose it in triple backquotes. Or use the little gear icon and select “preformatted text”
I found an algorithm called lazy flood fill, the result is what I want but the problem is that sometimes spaces are left empty. I’ll try to make the algorithm and fix the empty problem but for now just say I haven’t done anything
Map generation can be pretty difficult and if you want a smooth transition it can be hard. I use a map generation based on biome for my game but transition are abrupt.
You can just place 6 random point on you map as biome center then create your biome as a Voronoï diagram. You set every tile as the closest biome center. It create convex polygon and don’t look squared. If you want your biome to have approximately the same size, cut your space in 9 rectangle and generate your biome center randomly in each rectangle.