So it turns out ROBLOX’s physics are very approximate, and rather hard to work with.

You may be surprised if you have not been on ROBLOX for long. Most of us are not. The truth is ROBLOX is a game, and we can’t expect perfect physics. However, you do have to keep a few things in mind when working with vehicles.

First of all, most people use a few “BodyMover” objects to work with vehicles, these include things such as “BodyGyro” and “BodyVelocity.”

If you want realistic vehicles, avoid these like a plague. You see, real vehicles work, well, without magical forces upon them. So when you make a car, just use wheels and a motor. When you make a boat, just set velocity directly. You may gripe and complain, but it makes a lot more interesting effects, and a much more fun vehicle to drive.

So what about setting velocity, you say?

Well, I have noticed a few things kind of wrong when it comes to velocity and forces. First of all ROBLOX groups parts that are connected via joints together into one physics model. Yes, that is right. ROBLOX treats connected parts as one physics body. This makes sense, the velocity of one connected part should be the same as another.

This, however, is bad for us, trying to set velocity. well, it’s good and bad. It means that it does not matter what part gains a velocity, the whole model gains and moves at the same velocity, relative to the center of mass.

This is also the bad thing. Because when things get added to a model, the whole model gains a new velocity, this time, defined by the thing just connected to the model.

A nice side effect of this is that your model is actually more efficient as a single group than probably 1/3 of the pieces, but all separate.

When you start welding players to a ship or a vehicle, things start looking a bit funky. Now, humanoid models also manage to stop literally any force coming at them, they basically deny physics, but when you weld them to a ship while they’re seated, they’ll generally respect the ship or vehicle. Otherwise, your ship may start marching along in a whole new direction.

If this was real life, walking on a treadmill could be extremely threatening.

The humanoid issue is just a byproduct. The main issue is when it comes to applying forces to a ship or vehicle. There is nothing more amusing than seeing your car fly into the sky after a long day.

When I started trying to make my ships more realistic, at one point, I tried to calculate sails dynamically, with the help of Trey. Trey had a great algorithm. The problem with it was that after calculating the force to apply, I applied it by adding to the velocity. That had the unfortunate unrealistic effect of speeding my boat off in a rather fast fashion. It also removed any possibility of awesome tip effects from the sails being blown upon.