Hello
Significant update here. I think everyone who has tried the demo has experienced frustration with performance issues. And while I recognize that premature optimization can be the bane of many projects, there's also the fact that building in performant structures early can save a lot of headaches later down the line.
The first big change is a significant expansion of the zoning system. While ships in following seas are single root rigidbodies, there are hundreds to thousands of different assets making them up. This is further complicated by different audio and lighting zones, all of which are dynamic, which as a performance cost.
In previous updates, ships were segregated into interior and exterior spaces to reduce the overhead, but this still had issues, especially on larger ships. Now, zones have been moved from box zones to much more precise mesh based zones, allowing for more, and more precise zones to be created.
Additionally, 'non-zone' groupings have been added as well, essentially meaning many ship assets will stop drawing when the player is in a zone, as opposed to the reverse. Essentially high cost objects like the rigging and deck fixings can stop drawing when the player is below deck. Overall, this will have varied effects, depending on the ship. The caravel for example only has one zone, and will see no real improvements. The Saettia, as seen in the intro, has essentially five. This change allows for much more clutter and visual detail, while substantially cutting down on draw calls. Typically from many thousands per frame, to a few hundred, while still keeping the advantage of dynamic, non-batched meshes, and heavy LOD use.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The next change will be interesting. The cloth system is by a wide margin the most expensive element of the simulation. There's only so much that can be done to improve this without cutting quality to an unsatisfying degree -- but this update sees a speculative change that may result in substantial improvement for some. (But it might also make things worse) So I will be pushing this out shortly, and would appreciate any feedback on whether performance improves. Additionally, this change *should* result in significantly lowered changes of particle explosions, depenetration loops, and physics death spirals resulting in crashes. Essentially the cloth sim is now asynchronous and multithreaded, and the bulk of the work has been moved from the CPU to a GPU based system. (Hence why the results may be very dependent on your system.)
On the steam deck for example, my performance in the intro has gone from slideshow to fully playable -- while on my main PC it actually loses performance as I have a strong CPU.
-----------------------------------------------------------------------------------
As for other changes, I've overhauled whipstaff steering, so it should feel a bit more precise and reliable, while still hopefully giving the impression that it's a stick on a rope.
I've added a percentage display to the reefing UI to make it easier to judge position without jumping to exterior views.
I've replaced the crosshair with a much smaller indicator.
And I've made numerous small changes to ship and prop objects, mostly with the aim to reduce materials and draw calls, as well as getting rid of some of the remaining placeholder spheres.
