Release and plans

This project was started in 2011, under the working title "Fifth Rate", as a prototype to explore two things: how does sailing physics work; and what is a control scheme that does not have the immediacy of moving a joystick, but feels more like ordering a hundred sailors around? 

I worked on it on and off for the next two or three years, adding various bells and whistles. For a while I expected that it would expand from a bare-bones simulation into a proper game, with an ocean populated with enemies and prizes. This would probably require a whole new abstracted sailing model on top of what is there now, to sensibly handle the large scales in time and space. But I never made the time to do this, and eventually moved on to other projects. Recently I decided I should fix it up and release what there was.

There are a few things I might still work on, that seem like they could be fun to do and won't require any big changes to my hopelessly entangled Unity 4 code:

  1. Any corrections to ship handling, physics and language
  2. Ability to repair masts, remove/add topgallantmasts etc.
  3. Studdingsails and royals
  4. Premade sail plans for different strengths of wind and points of sailing
  5. More realistic wave model, different kinds of wave in different seas, etc.
  6. Show winds on the map
  7. Nicer map UI
  8. Nicer clock UI
  9. Flooding and sinking
  10. Some variety in ship appearance, textured sails
  11. Distinguish clouds, fog, rain
  12. General atmospheric graphics and shader rewrite
  13. Better Portsmouth harbour
  14. (slightly) higher resolution landscape
  15. Procedural (cubical) rocks & beaches along coasts
  16. Fix physics glitches
  17. Foam and spray
  18. More years of weather, some randomization
  19. Better stars
  20. Port cities on the map
  21. Usability tweaks to travel acceleration 
  22. Stop the guns sticking out all the time
  23. Battle AI

Get A Painted Ocean


Log in with to leave a comment.

(1 edit)

Your mast damage and weather engine is truly impressive. I have two feature ideas (one probably easy, one probably really hard) in that department:

Make topmasts break randomly, not based on a threshold. Currently the masts seem to carry away very consistently based on wind strength. I recommend changing it to a percent chance over time, so that it takes a few minutes on average. That will make it possible to capsize in a storm, which makes things much more exciting. You could also make it more likely that the courses will blow out, rather than taking down the whole lower mast.

Also, large waves could generate big foam objects to simulate breaking crests. You could give these the ability to capsize a ship if struck right on the beam, and apply turning force if pooped. That would really make storms terrifying. The probability of breaking could increase when wind is against the swell direction.

Also, do you think there's any latitude for plugging in more detailed sections of coastline?

That's a good point about masts and sails. At the moment it's actually supposed to work the way you say, but I haven't tuned the probabilities well so things seem to break straightaway.

Waves already move the ship, at least in a simple-minded way through buoyancy. The flooding system I want to implement would be something like - when the local height of the sea is above the hatches or whatever, then you take on water that can sink or destabilize you. Is there some other mechanism that should be happening if you are struck on the beam?

Detailed coastlines - maybe. Right now Portsmouth harbour is just a 3d model loaded into the scene. Issues come with when you need a different style of rendering for it (say if it has trees) and how to deal with level-of-detail and time compression.

Currently behavior in waves is just fine. You wouldn't expect the ship to capsize because the game's waves are never breaking. So if it isn't possible to make the waves occasionally steeper, it might be worth faking it somehow with foam FX and a buoyancy object or something.

I think of waves in a strong storm as a numbers game where you might get unlucky and have one break right on top of you. So in gameplay terms, being beam on to the seas would expose you to a possible knockdown.

Also, given the whole-world capabilities of the game, probably the most important feature is windowed mode (so it can run in the background while unpaused) and a save function. Unity will provide that, right?

(3 edits)

Iinstead of reefing the topgallants (which was not always done), I recommend making that button simply lower the sail to the level of the reefed topsail instead. Then we can actually create the sailplan described by the UI: 'topgallants over reefed topsails'. They would never allow a big gap underneath the foot of the sail like that. It would also be cool if the topsail could be reefed several times, with each command of 'reef' and 'set' moving up or down one level.

A simple texture adjustment to the sails to depict the reef bands would help cue the player in.

Edit: I have been restraining myself from proposing UI changes because I know it's a pain in the ass and probably not your priority just now. But there are two things that could be really helpful:

1. A 'miles travelled since noon' counter;

2. A small arrow showing whether the wind is rising or falling.

If you are worried about screen real estate, I personally do not find myself using any compass other than the popup one in the lower left corner. Maybe others would feel differently though.

Anyways, just had a great Atlantic crossing, the 'Battle' location to Guadeloupe by March 12th!

When I got there I almost ran aground because you can look 'underneath' the island, which floats in the air. Is this a common issue? You move the camera and suddenly more land appears.

Thanks for all the comments.

 - Running windowed should already be possible, through the unity resolution menu. Holding shift when you start the game should give this.

- You don't automatically get saving and loading in Unity. I'm not sure it's worth it for a sandbox like this.

- Good point about reefing topgallants. There's a general UI issue about reefing and storms, namely, how can the player tell whether they have too much sail. You could put a strain gauge somewhere, or have it done automatically or get suggestions from your lieutenants; or keep things immediate and unsubtle.

- Sails aren't textured at all at the moment.

- "Miles travelled" - would be a good thing to put on the map when I redo it.

- Wind rising or falling - For one thing, there should be a more intuitive display of the wind level, at least something graphical with the pointer on the compass. For another, the wind changing is only an issue when using time acceleration, and time acceleration in general should be made less unfriendly to the player and, e.g., make or take in sail automatically, as though the watch-officer was doing it.

- I'm glad someone made it across the Atlantic. Right now there is no collision testing done between the camera and terrain - it sounds like you have the camera inside the terrain.


Implementing a watch-officer in a form of pre-scripted sequences of orders for various actions, like getting under way, turning to given course, tacking, wearing, heaving to, shortening sail due to weather change could be a very large step towards implementing an independent AI.

As would happen in reality, certain things can be done by the watch officer automatically, and certain can be prompted to the player for confirmation.

Having made it across the ocean, I no longer feel the need for a save feature right away. You can just write down your position and time, then start a new game, teleport to that position and move the clock forward. I suppose any broken masts would reappear, though.

Regarding the terrain, my camera definitely wasn't inside anything. I was zoomed in one my ship right in the middle of Basse-Terre harbor, looking east. Unfortunately I couldn't figure out how to take a screenshot.

One other thought and then I will cool it with the feature requests:

I did get Windowed mode to work, but the game still pauses itself when I click on to some other program (web browser, etc). In my mind, the holy grail here is the ability to sail across the ocean in real time (like a prettier 19th Century version of the browser-based virtual regatta games). I love the idea of just letting the ship sail for 8 hours a day while I'm at work, listening to the wind in the background, and checking the weather every hour or so. But if the game pauses itself, this isn't possible. Yes, I can use travel mode to cross the Atlantic in 20 minutes or so, but that doesn't have the same romance to it.

Absolutely marvelous!

Thing is I am working on a collection of models as a mod for much older Age of Sail 2 and long from time to time for a new engine to run them. May there be possibly some way of cooperation?

Thanks! Maybe we can work something out. Importing a hull model should be straightforward enough, but I don't know what issues there would be with positioning rigging, guns and other modular stuff. 

this is awesome!  I read a ton of historical naval fiction and its great to get a feel for how the ships were handled!