Regatta is a sailing game that I created to try and represent sailing and wind mechanics. The player must turn a sailboat, which derives .addForce from the angle of wind, and complete 3 laps of a Regatta (sailing race). The basic mechanic of using the angle as the wind's force is to best reflect the basic operation of a sailboat.

The hardest part of the project was establishing race laps. I had difficulty with the logic involving sharing variables across classes. The final solution was an array and nested "if" statements in the update() function which go through each object in the array. Upon reaching array[0] again, the lap counter adds 1. I also had difficulty with the menu system as this was one of the first times I worked with "buttons" and other UI components.

I would first add much more visual effects, I would also modify the "flipping" mechanics to incorporate "tipping" mechanics, where the force of the wind would push against the sail and actually make the boat "tilt" along the z axis. I tried playing with this for a few hours but I could never reset the rotation. Sound would also go a long way.