Advertisement Jump to content
Sign in to follow this  
Mr Grinch

Simulating Boat Steering

This topic is 5059 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm a developer for Crown and Cutlass, which is a 3d pirate game in the spirit of the old Pirates! game. In past releases, I have had basically no physics for the ship in the water. I recently added drag so you speed up/slow down slowly instead of instantly. I would like to add a simulation of rudders, so when you press left your rudder turns which begins to turn your boat rather than instantly turning you .5 degrees (or whatever). However, I grew up in Colorado (very landlocked), so I don't really have a feel for how boats should behave. I understand the basics of what a rudder does (I'm not that out of touch!), but have a lot of questions. What factors go into the turning radius? Does the speed or length of the boat change the turning radius? Does anyone know where I can find equations that explain this sort of thing? Also, has anyone used any sailing simulators (such as Virtual Sailor) that are decent? I'd like to play around with how other sail boats handle in games/simulations for comparision. Thanks for the help.

Share this post

Link to post
Share on other sites
Guest Anonymous Poster
Both rudder and keel surfaces are analogous to wings on an airplane (for some configurations), and are governed by the same equations.

Lift = 0.5*rho*S*Cl*V^2
Drag = 0.5*rho*S*Cd*V^2

rho is the density (1060 kg/m^3 for saltwater), S is the plan area of the keel or rudder (you treat them separately). V is the speed of the oncoming flow (in the bow to stern direction), Cl is the coefficient of lift, and Cd is the coefficient of drag. Both Cl and Cd are functions of the angle of attack, which is determined by the sideslip and the rudder angle.

Wind force on the sail causes the boat to sideslip slightly, and this is countered by the lift of the keel, which has a positive angle of attack to the oncoming water due to the sideslip and the lift on the rudder which may have a positive or negative angle of attack (due to the helm position). At some value of sideslip the lift will counteract the sideways force of the sails, and that is the angle that the boat will move at. This is why sailboats don't move exactly in the direction that they are pointing. The key to all this is figuring out Cl based on the angle of attack, this is typically plotted in graphs for a given airfoil (pick any airfoil)

This page has a Cl vs. Angle of Attack graph, one key point is that beyond a certain angle of attack (typically about 12-16 degrees), the lift drops off, at this point the wing is stalled and does not produce any lift. I would probably extend that range to go from 0 to maybe 45 degrees using the same slope since rudders work just fine well beyond 16 degrees of angle of attack.

This page has the corresponding coefficient of drag plot, although i dont think you would need it for just steering:

So basically what you can abstract this to is one half of an airplane, you will have lift on the keel which is determined by the sideslip, and lift on the rudder which is determined by the angle the helmsman has the rudder at and the sideslip. The relative positioning of keel and rudder with respect to the center of mass of the boat and its moment of inertia determine the resulting torques and angular accelerations of the boat. The lift from both of these surfaces counteract the sideways force of the sail, and solve for the specific sideslip given the sailforce and ship velocity. Then your resultant velocity will be the forwards velocity plus the sideslip velocity, and your angular acceleration will be determined by the torques induced by rudder and keel.

Now older sailing ships such as the ones in your game will tend not to have keels and rudders in the same sense that i've used here (i've described something more like an americas cup boat), their dynamics are much more complicated and are determined more by the specific flow over the hull than what can be approximated as aerodynamics in water. That's really complicated to solve (and the americas cup teams are trying with CFD and Panel Methods) so I would suggest you use the simple keel/rudder model i described and just tweak parameters till it feels right.

I hope this helps,
James Gregson

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!