“The Weather Gage” is a single player naval simulation set during the French Revolutionary Wars & Napoleonic Wars. The player follows a career as navy officer and commands a single sailing warship to capture or destroy warships and merchants of enemy countries. The simulation is based on the historic events between 1793 & 1815 and has a great focus on historical authenticity & single ship actions (frigates or smaller ships). It draws inspiration from naval history (characters such as Thomas Cochrane), fiction (Aubrey Maturin novels, “Hornblower” or “Master & Commander”) and personal experience on cruises in sailing tall ships.
Ship to ship ans ship to fortifications combat with cannons or carronades using solid shot, grape shot & canister shot. Damage to the hull, sails, crew or rudder
Crew combat from ship to ship with small firearms like muskets and pistols and boarding actions with edged weapons
Physical based simulation of the forces on the hull (volume calculation, drag) and the wind force on the sails (the direction of the ships realtive to the wind has a big influence on the speed)
AI controlled ships consider relationship to other ships, own crew morale, terrain elements & wind direction to decide their behavior. Perception from NPC ships is modelled to consider light (day/night), weather (e.g. fog), false flags or size of ships to be detected
Imported terrain information to model coastlines and depth. The player can travel long distances to explore the already imported coastlines
Simulation of the routes of other vessels (allies, neutrals or enemies) from port to port. This allows the generation of random encounters
Navigation & surrounding situation on the map view
The intention of this thread is getting comments & feedback from you, get some suggestions for further development (e.g. sources of models & other resources that I can use) & if requested, provide to you also some information how some effects & functions are implemented. This is a personal project (programming & creation of models) so development is slow but continuous.
This looks fascinating from the screenshots. The sea looks very realistic to my eyes. Do you have any video(s) to give an idea of how this plays?
What sort of performance (FPS) are you aiming for and how big can the battles get (number of vessels / cannons / projectiles) whilst maintaining that level of performance?
I presume you are targeting PC / console platforms - as opposed to mobile? Do you have any plans for network linked game play or is this strictly single player vs AI?
Thanks, Dough_B
Well, it’s funny, the sea itself is an asset from the Asset Store called Ceto (unfortunately discontinued). I also use UniStorm for the weather & day/night cycle. But all the models on the pictures (except the Unity Robot Kyle, as a placeholder for crew members) are own creation.
I’ll post video(s) to show gameplay, I’ll have to prepare it (I have right now only videos with old visuals, old sea).
My target is to keep the fps overall above 50 fps, allowing sometimes spikes down to 30 fps. The focus is for small actions (mostly frigate to frigate of small squadrons), but with a higher level of detail. Right now the biggest ship (a brig) has 18 cannons, 54 animated NPCs on deck (see attached picture to see how the deck looks like)
I limit right now the encounters to 4 ships at the same time, to stay above 30 fps on my PC. The CPU load is right now the limitation (but my CPU is already 4 years old, a newer version shall allow me some more ships in the future :))
However the biggest factor that increases the load right now (more than number of vessels or cannons) is the number/complexity of sails, as the sail’s visuals are Unity’s Cloth components. The load can be up to 40% in a battle with several big ships. Therefore I’m considering to switch to sails simulated with blendshapes, at least for some cases.
Yes, the target is PC and I work only on the single player. I’ve seen several good looking developments of sailing warfare as multiplayer (e.g. Naval Action). But I miss a good single player simulation, where the player can have a career/campaign mode, such as the career mode in Silent Hunter 3 (which I can still play today at the pace that I want).
I was wondering about the robot crew seeming like a juxtaposition with an old time theme but forgot to include that in my questions.
Good job on the models. Is it your intention to add textures to the sails - at the moment they look maybe a little under-cooked compared with the rest of the visuals?
Hows the load for the animated characters currently? I suspect it will be more depending on the complexity of the final models, variants and multiple animator controllers playing different cycles and variation offsets.
BTW - looks really cool. I never really got into any sailing games before - but you’ve caused some interest here. Kinda cool!
Thanks Doug_B, good observation! Yes, in fact I already textured the sails of my 2 finished models (a schooner & a cutter). But the brig that you saw on the last picture of my first post is a WIP i.e. the sails need to be done (together with a lot of rigging)
Here a picture of my model of a schooner (merchant ship / “prey”) with textured sails, so can get an impression how the textured sails look like. Your feedback confirms me that the time texturing the sails is good invested time, as it makes a noticeable visual difference
It will take some time to finish the visuals of WIP models (brig, tartane & gunboat) as right now I work more on gameplay. Currently I improve my AI for better pathfinding considering the coast to reach a target or be able to point the cannons on it. The Navmesh of Unity helps, but I am programming an own pathfinding with search trees to consider turning radius of ships, direction of wind, enemies, … (this cannont be considered by the Navmesh Agent from unity)
Thanks theANMATOR2b
The load for the animated characters is 10%-15% when I have 4 ships / aprox. 200 characters in the scene. For comparison the physics of the cloth take 25% of the load, rendering 10%.
Load for characters depends also from the number of cannons, as they are also animated (a combination of bones and blendshapes, but the complexity shall be low with only 7 bones at most). The advantage with cannons is that I can disable the animation when they are idling i.e. not shooting or moving. When cannons start firing, the load will go up, and during the battle the load will go down as the crew start dying & cannons are destroyed (I disable animations when characters are dead, to reduce the load).
The ships have currently no animations, but I consider to add them for actions such are using the pumps, droping the anchor, …
That’s a great late evening (or early morning?) image - very atmospheric. To me, the sails have quite an impact: changing from just being a mere block of pixels to bringing more life to the overall scene. I would agree that it is time well spent.
Looking forward to seeing some video of the in-game action.
A short combat test between a brig (18 x 18pdr carronades, player) and a cutter (12 x 6 pdr cannons). A bit unfair match ;), but a good way to show these 2 different ship types. It shows the 3 view modes: first person view (moving freely on the ship’s deck), ship view & chart view (very shortly). At the end the cutter surrenders (by hoisting down the flag) & is captured by the brig
Thanks , the buoyancy forces are applied by calculating the volume of the hull submerged (I use a very simplified version of the hull to approximate it) and therefore the movement looks quite realistic (for example when the hull is hit by waves). When I sail with real tall ships I find the movement of the ship under my feet really fascinating.
The linear speed should be realistic, I have invested much time on the physical simulations. I used speed data of ships of that time to tweak the physical simulation & achieve similar speeds. The speed depending of the angle to the wind behaves also as a real ship, thanks to the simulation.
For the turning rate I don’t have much data & also I don’t have easy physical formulas, so I cannot compare too much & I’m not so sure. According to my information a ship can wear in 3 to 5 times it’s length, so I try to tweak the turning resistance to achieve this & also have a result which “feels fine”.
What’s your first impression about the turning rate? Making it faster could increase the pace of the combat, but would feel to “arcade” in my opinion.
I hope next time I can show something closer to this (Source: “Master and Commander” movie)
I thought the turn rate looked well adjusted in the video, I only asked out of pure curiosity.
I’m inclined to agree with you about avoiding an arcade style. This feels more like a game where the tension should be tangible and allowed to build rather than played out in cartoon speed. To me, the sound blasts you are using for the cannons also help to reinforce that sense of tension.
I know this isn’t a concern until the polish phase - just to mention.
Everything including sails and even the water - looks too clean.
Even when ships/boats are ‘clean’ they still have gunk and muck in the corners and crevices. I suspect - back in that time - gunk, muck and grime was built up quite thick, proly one of the reasons for infections and illnesses in those days.
Thanks for the comment, theANMATOR2b, that’s a very good point, which I will consider more in the future. The authenticity feeling is very important for me.
Most of the substance textures I made for my models already include some kind of weathering or dirt: the deck has scratches, the paint defects, the cannons have gunpowder dirt, … Because substances can be tweaked easily, I can increase some values to make it less clean.
But the player ship of the video is still WIP, so much of the weathering is still missing, the sails were still using a placeholder texture. I worked on the sails & you can see the difference now with finished. What do you think?
I would even go further and say that the ships feels too empty. Because it is still WIP some elements on deck are missing. Probably that adds to your impression of cleanliness. I need to add some more clutter.
I don’t know what you exactly mean about the water (too clean). Do you mean the color? Or do you mean not enough foam? Perhaps the missing wood debris created by the impacts on the hull? I considered adding some effects to simulate debris floating on the sea. But that would be really final polish.
IMO - the specular is too sharp and too consistent overall the entire water. But - water is terribly tough to make it look ‘real’. This is also probably softened in motion.
The image you provided above - the water seems to look more natural.
As the cold weather returned to Germany after a busy summer, I’ve been working again on the game for some weeks There are several updates for gameplay, assets & performance, but I’ll start with the latest update: the game finally includes a model of the HMS Surprise, which was a special target for long time. From one side this ship was the main inspiration for this game. On the other side it’s an important step as it is the biggest ship until now in the game, which forced some performance improvement and the further development gameplay mechanics.
Looking to the upper with the main cannon battery from the quarterdeck.
The model is still rough (some textures are still placeholders & many details still must be modelled) but it already makes a general impression of the appearance. With this model the workflow was optimized by reusing many components already created for smaller ships (like smaller brig on the first picture).
Again after a busy summer, I increased work again on this project!
There are 3 new functional ships, which can already sail & fight but will need still some modelling and polishing to be finished.
Below the first new ship, a 74-gun ship of the line, the biggest ship until now The target of this addition was checking the performance limits of the simulation because of the greater number of guns and crew models. This forced new performance improvement such as reducing the materials of the guns from 3 to 1 single material, to reduce draw-calls.
This will probably the biggest ship in the game (there bigger ones, but not so common). In career mode the player will be limited to smaller ships e.g. frigates. These ships will be the big enemies to avoid
A complete different ship, the Lugger is much simpler and has a very nice sail geometry for some variance. This ship will be used by privateers.
And the third ship is bigger frigate of 18pdr cannons, a different model with more guns. In the picture below at the front in a duel with the smaller HMS Surprise model.
And finally a couple of pictures of the HMS Suprise model, which looks much more polished and shows the level of detail intended for the newer models (in the future).
Last week the project was updated from Unity 5.6 to 2019.2, which meant some work repairing what got broken Unity2019 doesn’t support substances natively and since I created many substances for texturing the ships, I had to install the substance plug-in and reimport a lot of materials. Also the sails stopped showing transparency i.e. no holes were possible, it was an issue with the shader (solved now). The sails started to show the wind pressure wrong, because the cloth component changed how the force is applied and I had to figure out what has changed and modify the sail simulation.
But finally most problems are solved (only the clouds are still missing) and I can focus again on gameplay, terrain and models
Finally the gameplay is being expanded to include some small arms combat (until now only the ship cannons were used in combat). Now the navy ships can have marines which use their muskets against the enemy crew. These will need still some work, right now the marines are real crack shots hitting the enemy (the precision is too high considering a moving ship and inaccurate muskets) but still don’t care if the own crew is on the way and can cause as many casualties in the own crew as in the enemy crew
Bellow a small collection of created props including the musket used by the game’s marines.
Hi @Aidedecamp
This is a really nice game.
What I could suggest is to add some canonball trails, because seiing where your crew is shooting is really not obvious.