Boat Physics and Paddle Movement

This is a simple boat floating physics and oar-based movement made for a prototype of a side-project game . The goal was to make a simple system that didn't require to use Unreal Engine's Water System plugin, and that works on any surfaces.

Being part of a prototype, this was made using Blueprints. This project isn't here to show quality code but to showcase a logical thought process and problem-solving using math and physics fundamentals.

Boat Floating Physics

In real life, floating force is proportional to the submerged volume. This is obviously too heavy to compute for a game. I opted then for a 4-point system, spread equally around the center of the boat, where each point receives a force proportional to its depth, multiplied by an adjustable factor. This gives a realistic feeling system, 100% physics based, that can be combined with any other forces, reacts to collisions, etc.

Paddle Movement

For the movement of the boat, I needed to simulate the push of paddles. To achieve this periodic movement, I directly thought of a sine function. Then I used some basic function transformations to shape it closer to my envisioned result. Then I added some parameters to control the amplitude and period, exposed in the editor to be adjusted to the desired feeling.

To enhance the overall motion of the boat, the next step would be to make a manual drag calculation, based on the angle between the boat forward's vector and its velocity. Indeed, when going sideways, the drag force should be greater than when moving forward, by the design of boats. Because this project is currently on hold, this is not implemented yet.