Hello,
Sorry to bother everyone, i was trying to post on the devforum but i still can't seem to be able to post there. Anyways, i am currently trying to make terrain generation for my game, the only issue... it has a looooooooooooooot of parts. I was wondering if there was a way to make it lag less? This is the script i have that generates the terrain.
noiseScale = 30 -- Smoothing (Default 30)
amplitude = 10 -- Height Fluctuation (Default 10)
blockSize = 4 -- Size of each block (Default 4)
maxXSize = 2048/blockSize
maxYSize = 64
maxZSize = 2048/blockSize
seed = math.randomseed(tick())
for x = -(maxXSize / 2), maxXSize do
for z = -(maxZSize / 2), maxZSize do
for y = 0, maxYSize do
xNoise = math.noise(y/noiseScale, z/noiseScale, seed) * amplitude
yNoise = math.noise(x/noiseScale, z/noiseScale, seed) * amplitude
zNoise = math.noise(x/noiseScale, y/noiseScale, seed) * amplitude
density = xNoise + yNoise + zNoise + y
if density < 25 and density > 23 then
parts = Instance.new("Part",game.Workspace.Terrain)
parts.Anchored = true;
parts.Size = Vector3.new(blockSize, blockSize, blockSize)
parts.CFrame = CFrame.new(x * blockSize, y * blockSize, z * blockSize)
parts.TopSurface = Enum.SurfaceType.Smooth
parts.CastShadow = false
parts.Massless = true
end
end
end
wait(0.3)
end
I have tried everything i can think of to make each part lag less but it has reached the point where it is not enough. With my current script, there should be around...524,288 parts(this is just an approximation, maybe there is 100k more for all i know...). Anyways, is there a way to use less parts or at least not make it lag as much.
Thank you! :D

5 comments
Well... you could use the terrain editor and that creates less lag
Also, you could store some larger objects, like unions that also randomly generate in-game
Yes but how would i make different terrains everytime with the terrain editor? As for sergeant_ranger's suggestion, the size of the cubes is already right up the limit for how high the player can jump, making them bigger will stop the player from being able to do so, and i don't want to mess with the players jump height. Maybe i just misunderstood though!
Try Using Bigger Parts
I have, it still causes large amounts of lag and impedes the players ability to move around the terrain. This is an issue because i don't want to mess with the player's character other than adding a shift sprint feature. Anyways i found a solution, simply using roblox terrain instead of parts. Found the neat little function's that allow you to make terrain by giving it a few values, works well!