# Is this effect even possible to script?

Hi, I’ve been looking to hire people to help me in scripting a generator using Roblox terrain that could create an effect or result similar to a Minecraft phenomenon: The Farlands.

I was thinking this would be able to be done with Perlin noise, but after some thinking and contemplation, I asked myself

## Is this really possible to script with Roblox terrain?

I mean in theory, it is, right? I’m really not sure at this point, though. I’d appreciate any answer.

I doubt a script can do it easily but a plugin might, but I doubt that one exists for this.

there’s an infinite terrain plugin which may be able to recreate something at least vaguely like it.
Thinking about it now it only really seems like a script could do voxel generation and not the terrain thing like I’m asking for.

1 Like

Yes, it is possible to create a generator using Roblox terrain that could create an effect or result similar to a Minecraft phenomenon: The Farlands.

A:

Terrain is created using 1D Perlin noise.

Perlin noise is a procedural texture primitive, a type of gradient noise used by visual effects artists to increase the appearance of realism in computer graphics.

Ken Perlin designed the algorithm in 1983 to address the limitations of his earlier linear noise algorithm, especially for image synthesis applications.

In 1987, Perlin won an Oscar for Technical Achievement from the Academy of Motion Picture Arts and Sciences for creating Perlin Noise, which has since been used in many animated films and video games.

https://en.wikipedia.org/wiki/Perlin_noise
1 Like

using the same generation methods that minecraft uses it could be done

I know I’m super late to this but I’ve been working on voxel terrain generation around a sphere so I’ve been studying up on perlin noise a lot recently. to achieve the effect you want, you can use roblox’s math.nosie() function to generate perlin noise and map cubes to the noise, and since perlin noise generates numbers ranging from -1 to 1, you can make it so that all numbers above 0 generates cubes and numbers below 0 don’t, so an example of this might look something like this:

local GridSize = 50
local Frequency = 10
local CubeSize = 2

local CubeFolder = Instance.new(“Folder”)
CubeFolder.Parent = workspace

for X = 1, GridSize do
for Y = 1, GridSize do
local Cube = Instance.new(“Part”)
Cube.Parent = CubeFolder
Cube.Position = Vector3.new(X * CubeSize, 0, Y * CubeSize)
Cube.Size = Vector3.new(CubeSize,CubeSize,CubeSize)
Cube.Anchored = true
if math.noise(X / Frequency, Y / Frequency, math.random()) < 0 then
Cube.Transparency = 1
end
end
end

1 Like