What i want to achieve
I want to make procedural terrain generation like the game Eclipsis. The Big islands in the middle and the small islands around it. I also want the well pumps and the spires (towers).
Every island needs atleast one Support and well pump. While the small islands with one well pump.
What i have tried
I’ve tried using Perlin noise and only spawn stuff when the noise is higher than a certain number. It didn’t get the shape i wanted and it is cut-off at the edges
print("terrain") math.randomseed(os.time()) local seed = math.random(1000) local size = 100 local divide = 10 local scale = 10 local function createTerrain(x, height, z) for y = 0, -height, -1 do local p = Instance.new("Part") p.Size = Vector3.new(scale, scale, scale) p.Anchored = true p.Position = Vector3.new(x, y * scale, z) p.Parent = workspace end end for x = 1, size do wait() for z = 1, size do local nX = x / divide local nZ = z / divide local noise2 = math.floor(math.noise(seed, nX, nZ) * 10) if noise2 >= 2 then createTerrain(x * scale, noise2, z * scale) end end end
Note: i’m not expecting full script answers, only ideas on how to do it