hello pioneers!
I’ve been building a space game where you can fly between planets, orbit them, and actually land on the surface.
There’s a whole other system for owning planets, destroying stuff, building, etc. but that’s a different post. I just wanna talk about the planeti junk because this has been one of the biggest things
A planet needs to look good when you’re like 14,000 studs away and then somehow still work when you’re 80 studs above the ground
Those are completely different situations, so I don’t really use normal LOD.
The planet basically becomes a different object depending on how close you are, from orbit it’s a ball with around 130 parts. Continents, ice caps, clouds, etc. are basically squashed spheres pushed into the planet.
Then around 2,200 studs the orbital version gets replaced by actual displaced terrain.
It’s an icosphere cap around the player with a lower-detail shell behind it, plus the ocean, clouds, settlements, etc.
The terrain height is just a function of direction
I use 3D noise from the vertex’s position on the sphere instead of latitude/longitude, so there’s no giant seam around the planet or weird pole stretching.
Neighboring triangles calculate the same heights, the ocean and terrain always agree on the coastline, I can calculate ground height without checking actual terrain geometry, and figuring out which triangles should be visible is basically just a directional test.
The ship can go around 450–720 studs/sec and a terrain rebuild takes about 450ms
So, the terrain basically predicts where you’re going and builds ahead of you, It’s less “chase the player” and more “try to intercept the idiot going 700 studs a sec.”
I also use time-to-edge instead of just distance, because being 100 studs from the edge at 40 studs/sec is obviously not the same as being 100 studs away at 720.
Anyway that’s where the planet system is at rn.
I know it looks odd probably closer up.
If anyone else is working on procedural planets or space tings in roblox, pls show me what you’re making lol.







