How to make big boat with a lot mass can move forward

hello guys i want to create saling game with big boat that have place for parts
i tried use linear velocity but because of mass it didnt work who can tell me something that can move unanchored parts

Enable CustomPhysicalProperties and you can change more values the make the object weigh less,

basically what @moneyguy008aa said,
enable CustomPhysicalProperties on every BasePart,
then use LinearVelocity or VectorForce with MaxForce
Optionally you could add a BuoyancyConstraint so the boat floats without you fighting gravity.

i allready tried this but if i make this to boat can move players can easily push boat

what is buoyancy constaint

Use VectorForce to push the boat on Terrain water.
Use Torque Constriaint to steer the boat.
I’ve used them in my Boat Obby place with good results.
I’ve also used 2 propeller drives using HingeConstraints on the left and right sides (port and starboard :slight_smile: ) which steer the boat using different or negative HingeConstraint Angular Velocity.

a im creating boat with custom part so buoyancy constaint dont need

How big is your boat?
‘Big’ depends on your point of view. One person would call a boat that’s 20 studs long big while someone else says a boat that’s 200 studs long is big.
My boats have a very low Density hull (main Part) with Massless Parts as decorations. They also use a very Dense Part underneath the water (Transparent and CanCollide true) as a keel to keep them from tipping over.
I make sure that the boat’s overall mass is enough that player physics (them moving around) doesn’t fling the boat.

my boat is 70 studs long. im writing this sentence cuz in roblox u can only write massage in 30

1 Like

Also try using the Search tool up top. There are a LOT of boat question posts on the forums and many of those posts might help you out.

im tried to find something but nothing is working

im using linear velocity to move the boat but if boat have a lot mass it didnt works or if i do a lot line velocity or max force it will move like 9999km/sec

Make the server own all the physics on your boat (so players can’t shove it)
then every frame give it a forward push that automatically scales with its mass.
On your boat’s PrimaryPart do: boat.PrimaryPart:SetNetworkOwner(nil)
and in RunService.Heartbeat grab the boats total mass & decide how fast you want it to accelerate
e.g.: 20 studs/s² & then multiply mass * acceleration * deltaTime and apply that as an impulse with the parts look-vector because ApplyImpulse factors in mass for you, ZA BOAT will move at a constant acceleration regardless of how heavy it is and clients won’t be able to push it around :+1:

sum like this for example,

boat.PrimaryPart:SetNetworkOwner(nil)

local accel = 20
local mass = boat:GetMass()

game:GetService("RunService").Heartbeat:Connect(function(dt)
    local impulse = boat.PrimaryPart.CFrame.LookVector * (mass * accel * dt)
    boat.PrimaryPart:ApplyImpulse(impulse)
end)

That’s why @tiitxttxitxttttitixi and I recommended using classes/VectorForce instead. Another link is Constraints/VectorForce.
With VectorForce you just need to apply it and the boat will move forward or backward.
Using class/Torque will allow the boat to steer. Constraints/Torque

1 Like

i used your formula in linear velocity and its really helpful. ty

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.