So, today I finally decided to finish my attempt at making infinite terrain with biomes that varies the perlin noises input depending on the biome. Though same as last time I got stuck on creating biomes that alter the noise and everything I found on the internet led me to a dead end. Any help on this is appreciated.
I haven’t use perlin noise in a long time so i forgot how roblox handles it.
I do remember that I used perlin noise for a minecraft like world generation, and for each “cell”, I had value generated by the perlin noise. I just checked if that value is greater than x and smaller than y then set its block type. accordingly.
i have not done MUCH perlin noise, but what you can usually do is have multiple noise values determine the world generation. you can have one for determining the biome, one for determining the chunk height, and one for plant/object generation. with these numbers, you may be able to keep a table of values the noise values will be between in order to generate something, kind of like this:
local Biomes = {
[-.98]="Desert",
[0]="Jungle",
[.5]="Mountains"
}
local Noise = math.noise(math.random(1,100)/10,math.random(1,100)/10,math.random(1,100)/10)
-- generate math.noise however you want
local PickedBiome,Highest = nil,-2
for i,v in pairs(Biomes) do
print(i,v)
if Noise >= i and i > Highest then
PickedBiome = v Highest = i
end
end
print(Noise,PickedBiome)
I have tried your solution though it is quite repetitive. But thanks anyways
Sorry I forgot to mention that I wanted to generate the biome before the terrain so I could make a variate of biomes the change the frequency and the other values of the perlin noise
Generate a perlin noise map for the biome, store the “cells” that would be part of X biom.
Generate a new perlin noise for the terrain generation.
Superposition the biome map with your terrain map.