Row, Row, Row Your Cube!
When it comes to game development, the precursor of a sailboat is a sailcube!
For buoyancy, I place a series of ‘test buoys’ around an
object. Each frame the object checks if
those points are above or below water.
If significantly above, it applies gravity, and if significantly below,
it applies upwards buoyancy. If somewhat
above or somewhat below, it applies a smaller force. The result is an object that bobs and tilts
with the water.
Simple buoyancy |
When I implement the full ships, I will need to optimize
each for the right balance of weight and ‘floatiness’. This ultimately depends on the shape, mass,
test buoy positions, and dampening. I
currently have an issue where the buoys do not account for horizontal
displacement of the waves when determining if they are above or below water on
steep waves, resulting in a momentarily floating ship or a ship that takes a
little too long to rise with a wave. I
will test how significant this issue is on the full-size Viking ships, and
resolve it if necessary.
I developed the control scheme generalized to broader
sailing controls, and will tighten them to match the constraints of the Viking
ships. The player can currently order an
imaginary crew to row forwards and backwards at variable speeds. They can raise, lower, and angle the sail.
The sails do not exactly follow a physical model for
sailing, but they take relative wind into account. Relative wind is a vector determined by
subtracting the boat velocity from the true wind velocity. It means that a boat sailing with the wind
can only go as fast as the wind, but that a boat sailing perpendicularly to the
wind can pick up quite a bit of speed, depending on how tightly the sail is
angled. The forward velocity provided by
the sail considers the angle between the relative wind and the sail as well as
the wind’s strength.
I am constantly reminded that this is an interdisciplinary project. |
The camera is currently designed to allow the player to look
around at their surroundings without affecting the course of the boat. When the character and ship models are ready,
the player will be able to switch from a first or third person camera to the
current, wider, ‘overview’ camera.
And now, tales of wild bugs.
In the early buoyancy system, an object that hit the water at the wrong
angle would spin at six million rotations per second. Although I believe I corrected the issue, a
fear lurks in the back of mind of a Viking ship violently spiraling into the
distance.
Comments
Post a Comment