Hi there Children of Faena!
in this developer news entry, we want to tell you a bit more about what we will do to optimize the game performance!
Splitting the terrain
Faena will be a huge terrain, stretching over 16km². In order to load such a massive map, we plan to split the terrain into smaller sized chunks, which are loaded as you leave one chunk and enter another. This will allow us to “enable” and “disable” parts of the map, in which you are currently not playing actively, resulting in a massive relief for your graphics card.
Very wide spread among video games is a technique which is called occlusion culling. To explain it shorty: Only objects which are seen by the player are also rendered. Objects that the player doesn’t see, are also not shown, which results in a massive performance boost.
Level of Details
Having multiple levels of object details is also quite common to save that precious performance. When you are far away from an object it won’t make sense to render it in full quality, as you can’t fully see it anyway. This is why we downgrade the level of detail of objects which are far away and load more details, when you approach the object.
But we take this even further. Sometimes it just does’t make sense to load an object at all, even if the camera of the player points at it directly. Imagine you are standing on a mountain and you are able to see your home from up there. You know that from this angle you would be able to see your garden, where a small table is placed that has a flower pot on it. You neither can see the table, nor the flower pot, because the distance is simply too long. In this case, we simply would let the table and the flower pot disappear, because you wouldn’t be able to see it anyway. Only if you came closer and would be able to see those objects, we’re enabling them again.
As we’re using third party assets, they come with pre-worked shaders. Those have to be optimized mainly in quality, because we don’t want to present only the standard shaders to you. Tools like Shader Graph for Unity will help us to create multiple high quality shaders that will not only look good, but also stay optimized!
Mesh & light baking
Another trick, how to keep the performance high is to bake meshes and lights. We’re not literally putting something in a stove here, but what we do is telling the Unity Engine to precompute all possible paths e.g. static lights will have. This way your computer won’t have to calculate lights when you play the game, but just loads the data that was calculated by us earlier.
Back us on Kickstarter, so we can make this become reality!
Back us on Kickstarter and you’re helping us to build this beautiful world – spread the word and share, share, share 🙂
Did you like what you’ve read?
Also make sure to watch our latest gameplay-showcase to get a glimpse of what the game will be like!