Procedural Planet Generation System
Hello, I’m Kris and I’m currently working on a space exploration project. I want to give players the opportunity to explore huge planets. Therefore, I decided to use a procedural planet generation system.
Using @Fenix7667’s script, I was able to create a module for custom generation. This module opens up new opportunities for creating similar games.
I would like to receive your feedback on my work.
Credits: @Fenix7667, @XBLAX, @Diegnified
Args for the first generation:
require(script.Parent.Gen).GenerateSpaceObject("Earth", {
Amplitude = 5,
Persistence = 0.5,
Octaves = 20,
MountainsMod = 1.5,
MountainsFrom = 0.3,
SeaRadius = 2010,
SeaColor = Color3.fromRGB(55, 55, 86),
Resolution = 7,
Radius = 2000,
Weld = false,
NoiseDivider = 3
}, {
Sand = {
Material = Enum.Material.Sand,
Color = Color3.fromRGB(109, 93, 0),
Min = 0.46,
Max = 0.5
},
Grass = {
Material = Enum.Material.Grass,
Color = Color3.fromRGB(0, 130, 4),
Min = 0.5,
Max = 0.525
},
Rocky = {
Material = Enum.Material.Rock,
Color = Color3.fromRGB(94, 94, 94),
Min = 0.525,
Max = 0.54
},
Mountain = {
Material = Enum.Material.Snow,
Color = Color3.fromRGB(255, 255, 255),
Min = 0.54,
Max = 1
},
Deep = {
Material = Enum.Material.Granite,
Color = Color3.fromRGB(43, 43, 43),
Min = 0,
Max = 0.46
}
}, 1000, game.Workspace)
Args for the second generation:
require(script.Parent.Gen).GenerateSpaceObject("Earth", {
Amplitude = 5,
Persistence = 0.5,
Octaves = 20,
MountainsMod = 3,
MountainsFrom = 0,
SeaRadius = 0,
SeaColor = Color3.fromRGB(55, 55, 86),
Resolution = 6,
Radius = 500,
Weld = false,
NoiseDivider = 3
}, {
--[[Sand = {
Material = Enum.Material.Sand,
Color = Color3.fromRGB(109, 93, 0),
Min = 0.46,
Max = 0.5
},
Grass = {
Material = Enum.Material.Grass,
Color = Color3.fromRGB(0, 130, 4),
Min = 0.5,
Max = 0.525
},]]
Rocky = {
Material = Enum.Material.Rock,
Color = Color3.fromRGB(94, 94, 94),
Min = 0.5,
Max = 0.55
},
Mountain = {
Material = Enum.Material.Snow,
Color = Color3.fromRGB(255, 255, 255),
Min = 0.55,
Max = 1
},
Deep = {
Material = Enum.Material.Granite,
Color = Color3.fromRGB(43, 43, 43),
Min = 0,
Max = 0.5
}
}, 1000, game.Workspace)
I think I will upload the file soon as I finish the generation system.
You can also tell me what to add here to customize it even more.
Thank you again, Fenix. I always wanted to create something like this.