Terrain Generation

I’m trying to make a system similar to Dead Rails, a popular game in Roblox. I’m trying to
replicate the infinite or long terrain generation.

A long desert with random structures and cacti spawning frequently. The desert isn’t exactly infinite, but it’s very long, about 80k studs. My question is, how would I recreate something like this?

image

1 Like

they don’t have it all loaded in, instead they have a small sized baseplate with all the assets e.g cactus, farms etc separate. Then when they create the section those assets are randomly positioned on it

1 Like

Yeah, I’ve thought of that, but I don’t know how to position each baseplate and stuff and add all the baseplates for exactly 80k studs.

1 Like

Maths:

you know each baseplate is x wide. The position of each baseplate starts at it’s centre. So to position it along you pick an axis x or z then divide the size of the baseplate on that axis by 2 then add that on

Code:

local baseplate = baseplate

for i = 1,5 do

 baseplate = baseplate:Clone()
 baseplate.Position += Vector3.new(0,0,baseplate.Size.Z / 2)
 baseplate.Parent = game.Workspace
end

To make it 80k long just divide 80K by how big the baseplate is

3 Likes

Thank you, this is really nice!

So, since it loads each baseplate that is near the proximity of the player, is it client-sided? Does it load it in chunks?

How would I randomize it so that each baseplate has a chance of getting a random structure? And only some of the baseplates will have them spawned and how would I detect which baseplate is at exactly 10k studs to spawn in special structures etc?

1 Like