Game
Upside-Down Dimensions
7 years ago

Optimizing performance in Upside-Down Dimensions


5d0ac776e8b28.gif

Everyone that has been using Unity to develop a game, know exactly how tough it is to actually achieve a consistent and stable framerate needed to give the player the best possible gaming experience.

The main problem is how to manage correctly the CPU and the GPU as to avoid collapsing it under a tremendous flow of data and calculations that will make your framerate start to fall as leaves from trees during autumn.

There are a lot of optimization techniques that can be used and that can be found with a couple of simple queries on google, from optimizing our code and how we compute all calculations in the,  to give the engine the less possible amount of data to “chew” without choking.

In the last weeks we have been especially work on the later as to try to have  a stable amount of objects to be processed across the level in order for the game engine to use correctly the CPU and GPU without causing overruns.

5d0ac77b22310.jpg

To do that, we have basically created a simple streaming algorithm that starts by disabling all objects during the load of the scene. Yo cannot disable the overall object because  if not, it would be impossible to awake it again when the correct  events are generated. Reason why, we have organized most of our scenes with a main empty game object that serves as a template for the final gameobject that holds the logic and the animations of the game. This way, we don´t have to think on what to disable or what to enable, and we turn off the gameobject child.

By doing  this we are already saving a lot of cycles on the amount of physics calculations and frustrum visibility checkups , which is quite good for the overall framerate.

5d0ac77dc901f.jpg

To reactivate the object, we have created a Box that follows the camera ( not attached to the camera, because since our game has a dual world setup, the camera needs to rotate to pass to the other dimensions, and the cost of the rotations with triggers boxes would be to high) and that when an object is triggered activates it back to its logic.

The result is a reduction of the usage in the memory, CPU and GPU Usage and in a more stable gameplay experience.

You can find more about the game on our Steam EarlyAccess page.



0 comments

Loading...

Next up

Upside-down coop slit screen

Short intro of us 💕✌️

We're an eletro duo based in Seoul 🇰🇷 Heavily influenced by the 90s.

Our new album #Xennials is all about the nostalgia of that era 💽 CD listenin 📟 beeper beepin 💾 floppy disks floppin days 😎

Stream now! 🎧

https://open.spotify.com/album/3YwWhnHWVy5cA8XOpbaGRA?si=8E9awqU…

We made a lot of improvements on the Freezing Plains visual. Things like pine trees, tiny bushes, some rocks, and others game props!

#IndieGame | #IndieDev | #GameDev | #PixelArt | #WaifuQuest | #WifeQuest | #screenshotsaturday

Protege el conocimiento, salva la historia. Guardian of Lore es un platformer 2D en el que debes luchar para mantener viva la memoria de la mitología latinoamericana. El juego llegará a Steam el 18 de mayo: https://steam.pm/app/1211740 #ScreenshotSaturday

"Our work is never over" they said.

Heya! I wanted to show some gameplay progress i made so far. I hope you like it ^^

So here's the first of the zodiac signs i will make for the next weeks.

Szayel Aporro Granz - Bleach

Some Shadow boss fight gameplay 👾