How can I create huge worlds that have planets with real gravity

Hi there!

So I was wondering how I can make a planet system where the planets (worlds) are basically a gigantic sphere where players always walk on top of the planet. So basically preventing them from falling of the sphere by making the core of the planet the gravitational pull. Just like our planet in real life.

And I also want to know how I can create those planets low poly style and have a digging system and ground adding system. So that the low poly terrain deforms and forms to what is placed on the terrain in terms of the ground.

Basically the same system as this game. For both the planets and the terrain forming/deforming system.

Thanks for replying!

Ive done sonething similar to yours. I would recommend creating your own camera and character controller because the roblox defaults are hard coded to the global Y axis. For gravity you will need to set workspace.Gravity to 0 and then simulate it on desired objects using a LineForce, with magnitude of mass * planetGravity.

Digging and adding: im sure if youre using smooth terrain for the planet you can use the terrain API to do what you want.

Ive programmed rockets, rovers and even aliens that work with spherical planets. Its definitely possible but the path to is not as straightforward.

What do you mean with the terrain API? I will generate planets with a full low poly body with different colors that match material color. Which then need to be diggable and so the players can add terrain to the already existing world.

And if I do mass * planetGravity won’t the jumping be affected?

Editing mesh geometry directly is not possible. If youre making it out of parts then you can use negating operations in your code to have the same functionality as negating in studio. However that is very heavy.

Very subjective, it also depends on how you write your own controller. For mine yes I did have gravity affect jumping because I had multiple planets with different gravitation.

Yea my problem I had in my mind was kinda how I can make it so performance won’t be affected as much. Do you have any other way? Do you know how they did that in Astroneer? (The link in the post)

Astronner is not on roblox so I cannot say for sure.

Ive run 15 planets, each planet having size varying from 1000 - 4000 studs (smooth terrain) along with the custom controllers at a stable 60 fps on very bad devices, and I’ve also simulated 50+ aliens per planet on the server with 0 lag. You shouldn’t worry about performance a lot.

Can you link your game? So I can check it out?

Btw my planets will be way bigger than 1000-4000 studs tho.

Doesnt matter, LOD takes care of it

Sorry, its not public yet.

hello, sorry if this is bumping a seemingly dead post, however my question is a bit related to the process, i seem to have stumbled on this post where all three of us are trying to do something related to augmenting gravity :rofl: one issue im having which i made a post about 2 days ago relates to the custom camera system you briefly mentioned in your reply;

i’ve been successful with all the movement required with making augmented gravity, but i have practically no experience specifically in camera manipulation and so completely remaking Roblox’s camera system from scratch is beyond my current comprehension and capability to attempt alone. do you know any existing opensource code for reference, tutorials i can use to curate to my own system, or even simply an explanation on how you would actually do this?? :confused:

help would be extremely appreciated :+1:

@anirudh851 should’ve remembered to mention you in the original reply but i just now realised you may not see it without it

refer to this (not telling you to use his module; just have a look at the math for camera stuff and do something similar yourself. thats what i did.)

1 Like