Hey everyone,
The latest stable build 0.16 has just been released!
This update features the new Dynamic Island Billboard system mentioned in the last update.
The new billboarding system is a very important system to check off and had some unique challenges along the way. A lot of the time in large open world games, the terrain or landmass itself does a good enough job of approximating areas in the distance. Trees and objects that fade in are hidden by mountains and/or aren’t very noticeable. With the smaller island design in Stranded Deep, islands are generally low-lying terrain with trees and objects sticking out from them like porcupines. It’s pretty noticeable if trees, or anything, pops in suddenly. The old pre-made island billboards weren’t cutting it either. A simple approach was to try and capture the bounds of the terrain to take a ‘snapshot’ of the island, but that was a no-go. Even though our island generator generates small central island landmasses, the potential landmass for an island is almost as large as the ‘zone’ itself. At that large size a single billboard’s resolution had to be unrealistically high for it to have enough precision to make out rendered objects. We experimented with a lot of other ideas, including splitting the island into ‘chunks’ for billboarding, but in the end we weren’t happy with the quality or level of compromise with traditional and other methods. In the end we created a lightweight proxy system, universal for all the islands. When leaving an island, a low detail representation is created. This representation is only updated when necessary based on distance and angle calculations. The end result is a lightweight and adequately accurate billboarding system with nice visual transitions for any island that gets loaded in. Initial ‘undiscovered’ islands will still pop in at first for now, but a new system to cover this scenario is coming in the next update.
Now that large game objects are visible from long distances, you will need to be conscious of your island designs when creating custom maps in the map editor. There’s a lot of custom islands where players are building islands out of large rocks, filling in areas with large amounts of trees, etc. The new billboarding system is very lightweight, but even so this will significantly decrease performance. Try to focus on smarter island designs - using the terrain to fill the gaps and occlude things instead of individual objects. In the future we’ll be putting in object and land-mass caps for the map editor to keep everything in check.
The next update will feature a new mechanic for island ‘discovery’ and also the new progressive loading - where loading in a new zone will be spread across multiple frames to lower the performance hit. It’s currently working experimentally and looks very promising. The new billboarding system was first priority as it masks the loading and positioning of objects over multiple frames with this new system.
We’ve also seen some reports of users with high-end NVIDIA cards getting very bad performance, so we’re looking into that as well.
Have fun :)
Stay Alive!
Beam Team
–
BUG FIXES
- Fixed “jetty” Building bug where very large or long constructions would billboard due to distance checks from player’s position.
- Fixed black artefacts popping on Terrain from third-party shadow system.
- Fixed Billboard lighting not updating every game hour.
- Fixed Sea Forts generating in incorrect positions.
CHANGES
- Significantly reduced overhead for individual Billboard initialization on new objects.
- Improved Volumetric Cloud performance in certain scenarios.
Volumetric Clouds now have an experimental option in the graphics settings. Turning on the Volumetric Cloud Occlusion option will enable the new temporal re-projection occlusion. Previously, the clouds couldn’t make use of traditional Z testing (where objects in front stop objects behind from being calculated unnecessarily) due to the how they are rendered. With the new option enabled, clouds that are occluded by other game objects are not calculated unnecessarily. A good example of this would be inside Shipwrecks and Sea Forts where no clouds are visible. There are pros and cons to this method as a mask needs to be rendered to calculate the occlusion, increasing draw calls. Without a mask the entire cloud volume on screen is calculated, increasing GPU load. Whether this option will increase performance for you will depend on your CPU vs GPU specs. It will increase performance for some systems and not for others.
- Adjusted Volumetric Cloud settings.
Previous ‘High’ setting was too performance hungry for very little visual benefit.
NEW CONTENT
- Added new Dynamic Island Billboard system!
Island billboards are now generated completely dynamically. Now when travelling in the world you will be able to see truer representations of the islands you’ve discovered, which not only helps with immersion but should help navigation. At this stage, there are no more generic island billboards visible for undiscovered islands. A new mechanic covering this is coming soon.
- Added new Draw Distance setting!
A Draw Distance graphics option has been implemented. This is only implemented for larger game models. The smaller-scale detail follower (grass, debris, etc) hasn’t been incorporated into the new draw distance settings yet.
- Added new LOD’s.
We’ve created a lot of lower level LOD’s for various items including Shipwrecks and Sea Forts. This should help with performance, now that a lot of objects are visible from longer distances.
DEV NOTES
- Removed third-party shadow system and reverted to Unity’s built-in Shadows.
- Patched to Unity 5.4.0p4