Welcome back to our devlog, Soham here this time around. Am I the Ceo? Surely I make big decisions around the studio…..? I love ordering people muahhhahahahaha
Anyways today we would be talking about Optimization. Nobody likes a barren game world devoid of details. What happens when you sculpt a detailed scene with various interactable objects? You guessed it right, the dreaded low fps! As this is a game made for PC, 30fps is unacceptable! I’ll be using the Tutorial island we showed earlier, to demonstrate how we are planning to keep the fps above 60 even for older pcs.
PS: Don’t forget to join our discord server here. Our discord server is the best place to talk to other community members and give us direct feedback for our game.
Let’s get the Knives out:
And slice up the map into smaller chunks.
To have a detailed and interactive game world means having a lot of individual game objects. To load them all at once will use up a lot of memory and is a highly inefficient approach. The better approach that we thought of is to slice up the main terrain into smaller 256 x 256 unit sizes chunks and have the game objects baked into these segments. Only the terrain piece on which the player characters are on and its immediate neighbouring chunks would be active, freeing up a lot of memory.
This approach will allow us to fill up each segment with multiple game objects and have a really detailed and interactable game map without suffering too much on the performance side.
Let’s get the Mixer out now:
And blend up the heathens game objects into one.
This approach will have a great effect on performance, as it will reduce the number of rendering calls made to the GPU significantly, boosting the fps massively. Now, you maybe thinking that I am contradicting on my words from earlier. Before I explain this let me give you a bit of background on how we are sculpting our scene.
We are using modular assets to fill up the scene, this makes the job of our level designer a lot easier when designing locations and we can precisely place objects where we need it, we gain a lot of freedom when using this method, but its not like there is no drawbacks with this method.
Each individual game object has a mesh renderer component that sends draw calls to CPU which allocates resources to the GPU to render it, increasing its load, if we bake these mesh into one, that means this game object i.e the house will only have one mesh renderer component, freeing up both the CPU and GPU as well as having no impact on the interactivity of the game.
That’s it for the boring talk about optimization, here are some updated parts of the main map
Sneak peaks of our Temple Dungeon
Plus some pictures of the town.
Signing off now.