Simplified version of my current system:
math.randomseed(tick()*999);
local RunService = game:GetService("RunService");
local noise = math.noise;
local floor = math.floor;
local mapSize = 500;
local startVec = Vector3.new(-4*mapSize-4,0,-4*mapSize-4);
local function createBlock(vec)
local Block = Instance.new("Part");
Block.Color = Color3.fromRGB(58,125,21);
Block.Material = Enum.Material.Grass;
Block.Size = Vector3.new(4,4,4);
Block.Position = startVec/2 + vec;
Block.Anchored = true;
Block.Parent = workspace;
end;
local function generateTerrain()
local Seed = Random.new():NextInteger(100000,999999);
for z = 1,mapSize do RunService.Heartbeat:Wait();
for x = 1,mapSize do
local y = noise(x/40,z/40,Seed);
createBlock(Vector3.new(4*x,4*floor(y*10),4*z));
end;
end;
end;
generateTerrain();
Playing with the math I can get some pretty nice terrain, but at least 50% of the time there are cloned hills, etc.
Also, I've been attempting to generate biomes, but I don't really know how to go about doing it.
Any help or information would help a lot. Thanks!
