BodyVelocity physics bug

So I am working on a game that involves heavy use of Pirate Ships with multiple players on each ship. We are using BodyVelocities to move the ships but with the new physics solver players are able to stop the ship instantly just by standing in front of a wall perpendicular to the direction of travel. The player is unaffected but the ship acts as if it has 0 density even if we increase the density of the ship’s parts and set the players’ parts to ‘air.’ We have temporarily resolved this issue by using the old physics solver but it is pretty laggy and results in other lag related issues (such as movement feeling janky).
Also if there is a seat welded to the ship, a player with subpar internet is able to slow down or completely stop the ship for some reason. We have not been able to pinpoint if the source of this bug is from the physics solver but it is a nuisance nonetheless.


Yeah. Things you don’t own tend to be “immovable objects” in ROBLOX simulation. Because the character has latency to the ships drive, it lags behind and that lag can apply forces on your ship’s simulation to stop it dead in its track.

I’m actually VERY close to shipping a feature that will allow simulation of things you are interacting with, which would allow your ships to move around despite characters “Blocking it”. This feature won’t fix the latent visuals from characters being dragged behind the ship yet, but that is also in the works.

My feature should allow cars to push characters that are lighter than them out of the way too.

Would you like to test this feature sometime next week? (Tuesday afternoon?) If you leave your placeID here I can enable the feature there for my last round of testing before I enable this globally.


Yeah that’d be great! Thank you for the quick and informative response!


I’ll reply here early next week (Around Tuesday) when I enable it.

1 Like

Providing the tests prove successful, is there any estimate on when to be shipped globally?

My airline currently use PGS physics solver but we currently have to set everyone’s jump power to 0 to prevent the possibility of them getting out their seats. It’s pretty unrealistic not having flight attendants moving around when taxiing, this fix would make this so much easier. Returning to the other physics engine causes undesirable effects so this fix would be amazing.


@General_Scripter I’m talking about 2 different features.

Feature One that allows heavy objects to push around lighter objects (like a Ship pushing Characters) will ship sometime in the next month Globally, I think.

Feature Two, which replicates people with respect to the platform they are standing on, which would be required for fast moving objects like planes… won’t ship for another few months.


Good to hear that the pushing problem will be shipped first, that’s the main issue. Not too worried about the replication difference but glad that it’s being addressed. Thanks for the information!

I’ve had a similar problem too:

It’s good to see the solution for it is being prepared, the PGS solver will finally be used in more nautical games, thank you @Khanovich :slight_smile:

have two collision filters, one for players, one for boats
players don’t collide with each other, boats do

when the boat driver sits in the seat, locally set the collison id of every part in the boat to the player collision filter

that’s what we do for our pirate ships and it works fine :wink:

1 Like

What about trains? I know a few games that don’t use CollisionGroups and players are known to troll by standing on the tracks and when a train comes… yeah. Same thing with players as passengers on the train - right now I have a script (unused at the moment) that disables jumping when the train (or any vehicle) is at a speed greater than 0.5, mainly because when people do jump, it rocks the entire train and threatens to derail it.

Does this mean players will get pushed out of the way if something with such size and mass comes or if they want to walk around while the train is moving?

This feature sounds like it will solve the issue outlined in the Collision Filtering feature request.

I am interested in testing it on this place:

@Abdul_Dubai Are you using the Walking On Trains script?

No, it was the script that forced a player to sit. You gave it out a while ago.

Well, there’s a new script that prevents derailments and griefing.

I never heard of it until now. Let’s not derail the topic (no pun intended).

Would this help out with huge floating objects (400k+ mass) that are rotating with players on top of it? Currently in my game Cube Control with PGS enabled, when players jump against a wall the entire massive object will jolt around. Expectations would be 50 jump power can’t mess with it the large object’s position. I’ve tried for hours over several weeks to mess around with the BodyPosition P, D and MaxForce values to no avail, but without PGS (currently how it is) it works a ton better

Can I be put onto the early test as well?
Place ID: 453336776
My test server place ID (if for some reason you can only do one my places, I’d prefer this one): 247618268

Oh my god this would be awesome. Could I get in on this test? I remember a few months ago when I first started working on my boats players couldn’t even stand on the ship while it was moving without being flung off, but since picking the project back up recently it seems that’s been resolved.

PlaceID: 1512094341

@Khanovich Did you mean Tuesday the 20th or 27th? Sorry if I misunderstood, very anxious to try this as well.

Sorry I’ve been at a conference all week and have been unable to change settings. I will do it tomorrow morning after I do some testing myself.


@TheAmazeman @GodOfDonuts I’ve enabled it for placeIds


Please let me know of improvements/issues, or any other feedback.

1 Like

Wrong Id unfortunately, (missed a 6).

This Id would work for me: 247618268