Optimization Series:
Part 1: Optimization Goals
Part 2: Before and After Results
Part 3: Technical Deep-dive
Part 1: Optimization Goals
Introduction:
Welcome to part 1 of the Death Carnival optimization mini-series in which we will share some of the experiences we had when optimizing for the game.
Death Carnival is an upcoming fast-paced arcade shooter with singleplayer, online coop, and competitive PVP. It is built on the Unity engine and is slated to be released later this year.
This first post will be focused on our optimization goals, and why weve been doing optimizations along the way instead of waiting till the very end of production.
Firstly, we wanted to do some level of optimization now, to answer the question of, how well will it run on low-end hardware such as low-budget laptops or even low-mid range mobile phones.
We want Death Carnival to be accessible. Both in terms of ease-of-controls, in being able to understand how to play the game quickly with our easy arcade controls, but also being accessible via a broad range of hardware. We needed to make sure common devices in different countries around the world can play the game smoothly, with at least 60 frames per second. The game is fast-paced and arcadey, and having a decent framerate is important for us.
Low-End Hardware Support:
What does low-end hardware mean? On PC, we used a $250 laptop with a Celeron CPU, 4GB of RAM, and an Intel integrated UHD600 video card to do our low-end performance testing.
Havent heard of that video card before? Heres another way of looking at how powerful it is.
In terms of the G3DMark score, the UHD600 has a performance score of 328, vs GeForce 1060 having 10,071 and a Radeon RX 6900XT having 25,497.
Basically, if we can optimize it well enough to play on this $250 laptop, it should run well on most PC hardware. And on mobile devices, we have plenty more optimizations that we can do as well to try and get it to run even on lower-end mobile phones.
How about Compromises:
What about compromises in quality to achieve great framerates? Maintaining a high standard of quality is quite important to us, so there are some rules we need to make sure we dont break:
1) Make the game look relatively similar between budget hardware to peak performance hardware. Budget hardware players should not feel like theyre suddenly playing a completely different game and breaking their immersion in their game experience.
2) Game needs to scale well at multiple resolutions from 480p, 720p, 1080p, 1440p and up to 4K and even 8K resolutions. We want to futureproof the game to a certain degree.
3) There should not be toggleable (in-game or 3rd party) visual elements that will significantly impact the combat performance of players.
With the rules mentioned above, and many other factors that are considered, we basically had to make sure the game continued to look great even when we super-optimized its performance.
Results Sneak Preview:
And for those skimming the article or actually reading this far, on that $250 laptop that we mentioned before, we achieved astounding performance results.

Prior to our optimization attempts, the game ran at 5 frames per second on the laptop. After our first batch of major optimizations, it reached 22 frames per second, which is still pretty respectable for a visually complex game such as ours. And most recently, we made a breakthrough with our optimizations and achieved over 80 frames per second. That is a 1600% increase in performance!
And to top it off, this isnt even our final form yet, we have lots more optimizations available to us still, but I think weve definitely cleared some major hurdles in making Death Carnival widely accessible to everyone around the world. Until next time!
Our next post will be more details on the Before and After performance results across a wide range of hardware, along with screenshot comparisons.
[ 2022-05-11 18:08:57 CET ] [ Original post ]