Hi!
I am wanting to create a game that features climb-able mountains. I want them to be made out of parts. The thing though, is that I want it to be randomly generated each round.
Many of you would have seen the Steep Steps map style:
How would I go about creating a map somewhat similar to this, that is randomly generated each round. Would there be a way for the game to know if it is actually climbable by a player, and if not, add more parts?
1 Like
Steep Steps doesn’t use generation for their mountains, they took their time and effort into making every block in that game… probably.
On a side-question, what are you trying to generate it to? A mountain, a field with random blocks, or?
If you’re trying to make a randomly generated mountain, then that will take lots of math, and checks to see if the game thinks the map is possible to climb, and that can be wrong too.
You can probably try this and see what you come up with, branching off of this template:
function createMountain(i)
local part = Instance.new("Part", workspace)
part.Name = tostring(i)
part.Anchored = true
part.BottomSurface = Enum.SurfaceType.Studs
part.FrontSurface = Enum.SurfaceType.Studs
part.BackSurface = Enum.SurfaceType.Studs
part.RightSurface = Enum.SurfaceType.Studs
part.LeftSurface = Enum.SurfaceType.Studs
if i == 1 then
part.Size = Vector3.new(math.random(10,20),math.random(3,6),math.random(10,20))
part.Position = Vector3.new(30,part.Size.Y/2,0)
else
part.Size = Vector3.new(math.random(10,20),math.random(5,10),math.random(10,20)
part.Position = Vector3.new(math.random(workspace[tostring(i-1)].Position.X-10,workspace[tostring(i-1)].Position.X+10),workspace[tostring(i-1)].Position.Y+(part.Size.Y/2),math.random(workspace[tostring(i-1)].Position.Z-10,workspace[tostring(i-1)].Position.Z+10))
end
end
for i = 1,50 do createMountain(i) end
I have no idea if this works, please check for me. Thanks.
hey, thanks for the reply. Yes I understand that steep steps is not randomly generated.
And I was wanting it to generate a climbable mountain.
Look at the previous comment I said before. It should work.