Nature2D - 2D Physics Engine for UI Elements

Thank you! this helped alot! :blush:

I think that the problem is because the left and right forces are fighting to each other to see which one is going the player to go. Maybe can i move the player left to right using another method? also, is there another method to move it like in the video or similar?

Hey :wave:

I’m working on a tiny game project using your 2D library to learn and have fun

I’m thinking of making a game about magnets, do you think something like that is achievable with Nature2D?

Seems pretty doable to implement magnetism using Nature2D!

2 Likes

how do i use it though??? im so confused

Undertale could be made with this

Same! We won’t be able to use it by guessing…

Have you finished this as of yet? Would it be possible to create cars if that is implemented?

I haven’t been able to work on Nature2D for a couple of months due to school. I’ll try to complete it whenever I have time!

7 Likes

Hey, when you are able to work on this again, could we expect to see improvements to constraints? Mostly in the realm of their actual physics interactions. Ropes don’t conserve momentum all that well and act more like a self-correcting line, the same with the other constraints.

(ex. a body attached to a rope when dropped from a 90-degree angle should swing back and forth, but instead it slowly goes back to a straight down position.)

1 Like

This is awesome. How could I store a GUI on the server and replicate it to all other players to make a multiplayer game?

RemoteEvents, basically player A sends data to server and server sends it back to every client (You have to come up with a custom networking solution, so you need to validate important stuff on server or on the player that is managing the game idk)

Now important note is that you have to send packets constantly and currently Roblox doesn’t have reliablity types for RemoteEvents so until they add that you will be stuck with the risk of lagging your game (even tho FireServer() → FireAllClients() directly should minimize some delays since the server only sends the packets to other clients instead of replicating it itself but still)

1 Like

I looked around and found this one solution. How we reduced bandwidth usage by 60x in Astro Force (Roblox RTS)

It’s for a RTS where they have to coordinate the movement of hundreds of units.

That’s also interesting even tho i kinda don’t know much about networking and optimizations but could be useful for your use case

How can I stop player movement from being slippery using ApplyForce? it works fine, but the movement isn’t too precise and too slippery, and when you run into objects the player object bounces. I’m thinking of a system similar to Undertale’s where the player completely stops moving as soon as you stop holding the arrow keys

Edit: also would it be possible to make a scrolling map? Like, you can walk off the canvas and like it keeps going and the camera keeps following the player

hi, is it possible to create 2D world? where player can move and the world moves too?

attempting to get the x and y of a body errors, is there any reason why this happens i used the exact same code

If you are still working on it, the way to change the force would be through looping through the vertices of the rigidbody and changing the force:

for _, v in pairs(rigidbody.vertices) do
        v.forces = Vector3.new(v.forces.X,0)
end

It’s been almost an year since I worked on this, I decided to create a place where you can find and play around with all my interactive Nature2D demos that I’ve showcased in the past. I’ve added 10 demos so far, will add more along the way.

4 Likes

can you make it uncopylocked? i cant really figure out how to make this work