Sailor: Tacking Master
Sailor: Tacking Master
A first-person sailing game with wind mechanics, three dimensional water, simple controls and retro graphics. Trade goods, race against NPCs, upgrade your vessel and acquire trinkets from distant archipelagos.
Controls
When sailing
- L: open Captain's log book
- up/down arrows: raise/lower sail
- left/right arrows: control steering wheel
- Space: enter port (when close enough)
- ESC: open pause menu
In menus
- arrows: select tabs/buttons
- Enter: enter submenu or perform action
- Esc: exit menu
The game can be fully controlled via the keyboard. Mouse and touch input are also supported.
Gotchas
Lack of sound or input detection
If you do not hear sound or cannot control the ship, please click into the game window once so it gains focus.
Low fps on Linux
If you get very low fps on Linux, the game is most likely running on your CPU. Feel free to tinker at your own risk. As a safe workaround, I recommend playing the browser version. With WebGL enabled, the game is expected run at 60 fps even on weaker hardware.
Guides
First money
To earn your first money, it is safest to accept a trade contract to an island as close as possible. This will guarantee some income and you will reach your goal in a decent amount of time.
On the way, you may see flotsam (boxes, barrels and chests). Sail over it to collect gold, it is a very convenient source of income. The chests are very valuable.
Cargo Hold and Sail Tolerance
The starter ship has 16 cargo hold and 12 sail tolerance. Cargo hold tells you how many units you can transport. Sail tolerance tell you how much your sails can handle, before your ship's speed gets impacted. Hint: at the start of the game, try to keep your cargo at 12 or less to ensure maximum speed.
Wind mechanics
If the wind turns against you, don't panic. Just steer your ship to the left or right long enough to catch some wind. You may not face your target directly, but with some zig-zagging you will be able to reach your target eventually.
The ship's top speed is achieved when the wind comes in perfectly from the side (90°). When the wind comes directly from behind (180°) you will be 33% slower in comparison. And of course driving against the wind makes you the slowest, with a 35° dead-zone on both sides, reducing speed to zero. Use this knowledge to your advantage, especially when racing against other ships.
As a rule of thumb, it's often a good idea to sail at a slight angle towards your target (or a large angle when driving upwind).
Your sails turn automatically into the ideal position. But you may still need to steer your ship to allow for an optimal angle.
Hull deterioration
Your ship hull deteriorates by 1% for every kilometer traveled. Standing still does not cause hull damage. For every 10% missing, your ship gets stacking debuffs from the following set: increased dead zone angle, reduced turn speed, reduced max speed.
You can repair your hull at any port, for 2 gold per point repaired. If you have planks in your cargo, you can also use them to caulk your hull on the fly, from the captain's logbook (L) - but it's more expensive than repairing at a port.
Upgrading your ship at the Shipyard
An archipelago has various islands, some of which have ports. But only one of them has a Shipyard. It is marked with a blue circle an an "S" on your map. At the shipyard, you can upgrade ship components:
- hull upgrade -> higher max speed
- sail upgrade -> higher cargo tolerance before losing speed
- hold upgrade -> higher cargo capacity
Some activities like long distance races require a certain hull level to be able to compete with the rivals.
Status
The game is in development since Jun 19, 2026. It is in an early stage.
Differences between desktop and web version
- In the web version, leaving the tab effectively pauses the game. In the desktop version, it keeps running as expected
- Antialiasing is disabled in the web version (currently not supported)
- Bloom is disabled in the web version (currently not supported)
- All sound files have a lower bitrate in the web version
Features implemented so far
- Pause menu with options (fullscreen toggle, audio volume slider)
- Day/night cycle with asymmetrically illuminated sky and seamlessly transitioning color palettes for the water
- Weighted weather state system, with seamless transitions
- Randomly changing wind direction every few minutes (with sound cue)
- Buoyancy probes for beliavable ship motion in the waves
- Carefully balanced point of sail formula: Cannot sail into the wind, strongest force at 90 degress angle (Beam Reach), decent force when running exactly with the wind
- Keyboard controls for all ship controls and menus.
- Deterministic seeds: The world, missions, races etc are procedurally generated, but deterministic and reproducable. This means it would be possible to have speedrun challenges for specific world seeds.
- Trading goods between islands
- Trading contracts (missions)
- Racing against other ships, with higher stakes for longer distances
- Audio and visual feedback on invalid actions (e.g. trying to accept a mission that requires more cargo space than you have)
- Ambience sound
- Different island types (currently only visual)
- Captain's log, providing detailed info about the ship
- Overload system (speed penalty if cargo exceeds sail tolerance)
- Collect flotsam for some easy extra gold
- Hull degradation with debuffs, repair at docks
- Upgrade sails and cargo space at a shipyard
- Auto save and load (not stable - saves may be invalidated when a new game version releases)
- Explore incentives to travel out very far distances beyond the local cluster (added trinkets with passive and active effects than can be bought at the various archipelagos)
- Support for large screens (UI scaling)
- Improved sounds for menu interactions and in-world events
- Touch inputs (mobile)
- Mouse inputs
Roadmap
- Better artworks for the ship, islands and all other world objects (without deviating from the low-spec/retro artstyle)
- Provide a use for uninhabited islands (perhaps smuggling, treasure maps, etc)
- Improve the water system, reduce visual bugs
- Steam release (No experience with this and I would need to create a company first - long term ambition)
- Add pirates (chasing the player)
- Add pirating (shooting/looting ships)
Technical Origin
The initial prototype was created in ScalaJS and the reactive frontend lib Laminar, using essentially HTML and CSS for the entire simulation. It was an amazing experiment that got much further than I originally expected, but eventually the performance limitations became unsurmountable - the game crawled to as low as 2 fps, while maxing out all 6 of my CPU cores and considerable GPU load as well.
I ported the game to Rust, using the Macroquad game lib (with which I had some previous experience). It allows me to publish the game both as a native executable and as WebAssembly, so it can run directly in the browser at peak performance. I applied compression optimizations to get the game size down to 2.8 MB. In fact most of that size is from the game's audio files.
| Updated | 2 days ago |
| Published | 5 days ago |
| Status | In development |
| Platforms | HTML5, Windows, Linux |
| Rating | Rated 5.0 out of 5 stars (2 total ratings) |
| Author | holonaut64 |
| Genre | Racing |
| Made with | Rust |
| Tags | Arcade, Low-poly, Pirates, Procedural Generation, Retro, Sailing, tacking, wasm |
| Average session | A few minutes |
| Languages | English |
| Inputs | Keyboard, Mouse, Touchscreen, Smartphone |
| AI Disclosure | AI Assisted, Code, Graphics |
Download
Click download now to get access to the following files:
Development log
- 2026-06-29 update: storms, audio mixing and mobile ux2 days ago
- 2026-06-28 Update3 days ago






