Aaron
Sailing model for potential MMO world map
by
, 12-29-2017 at 10:00 (14306 Views)
[Background]
I'm a lone programer slowly building up my dream game centered around the age of sail. Currently I have a working tactical game play model using Sails of Glory rules to dictate the outcome. The tactical play will grow beyond Sails as more features are added but it was a good place to start. To build beyond this I am creating a world map where ships will sail about on missions and patrols. It will be "MMO" like in that forum members here and elsewhere can all sail on the same map together. I already started a thread on the subject linked below:
[Links]
Link to MMO idea: https://sailsofglory.org/showthread....campaign-world
Link to Tactical Play: https://sailsofglory.org/showthread....-%28windows%29
[Scope]
What this blog will be covering is my thoughts on how I want to construct how sailing will work on the high seas. I want to divorce the card movement of Sails of Glory for this expansion mode and make this more physics based. As this is a slower paced MMO game (current plan is 7 days of game time for 1 day of real time), I thought that having to tweak and trim the sails (some micro management here) during the lull in time between destinations would add some fun and grit to the game but at the same time it can be ignored unless extreme weather is present. The trimming would not be necessary if a causal player wishes to just set some way points and log off and wait, he would be giving up at most a knot of speed maximum.
I'm an engineer by trade and I have a strong understanding of physics and coding so the technical nature of this is moot. I'm laying out my idea here to get some thoughts as this community offers a wealth of experience unlike anywhere else. Please feel free to critique my work as it would only get better.
If math or physics isn't interesting to you then you can stop reading and all of this will be transparent to the casual player but the math is very basic. If you are interested in how ship speed will be determined then read on as it will be a big factor in if you catch the other ships during a chase.
[Method]
The speed of the ship will be a balance of driving force vs resistive force. The driving force being the effect of the wind on the sails and freeboard area of the ship and the resistive force being the drag and head pressure of the water against the hull/rudder. When these forces are balanced the ship is at its steady sailing speed. I am only interested in the "steady" speed as acceleration doesn't come into play with the long cycle times of the server. I'm not trying to recreate Naval Action here with real time sailing but I do care about absolute speeds.
The resistive forces in play are pretty standard and well known and is a function of the wetted hull area, speed (current too), coefficient of drag (no copper?, old copper, new copper?), hull shape and design. Wave height and approach angle changes things up and brings in hull length (less likely to nose dive into waves). Longer heavier ships performed better in high seas. How does this look in terms of the game:
Base Resistance: (Cd * Wetted Area * apparent speed^2ish) - (rudder drag force) - (freeboard wind resistance or driving force (very minor))
where Cd is a variable of the condition of the hull
wetted area will change with the ship loading (provisions, cannons, cargo)
rudder force if an angle is needed to hold direction (make up for bad trim)
The high-seas factor and hull bow shape would be too complex for the scope of this game to calculate using physics so a look up table will fill in.
The LUT will use sea condtions as inputs vs a hull design to adjust the resistance upwards above baseline
Ok so enough of the boring resistance stuff, lets get into the things that a captain has fine control over, the driving force due to the yards and sails:
My approach here will use a base LUT of wind angle vs sail type) for example for a single sail without interference:
Points of Sail Factor for Square Rigging
---------------------
[Close Haul] - 0.05
2nd pt- 0.18
...
15 pt - 0.8
running- 1.0
This factor will then be multiplied by the area of the sail and then a formula using wind strength to generate a base driving force for the single canvas. This will then be lowered if another sail is near it that masks it from the wind. (example running with the wind with the fore mast). As sails get damaged or broken they do not contribute to the speed of the ship.
The force will then be exerted on the masts and yards which may break upon irregular high gusts (how bad do you want to catch the ship 5 miles away?)
To be continued...