The most general principles for those who want to know why their favorite game performs so well or so poorly.

I will try to tell you about how the game optimization process actually works so that you can better understand why game performance may not correlate strongly with graphics and why games in 2020 may feature weak AI.

I should warn you right away that I have only developed games for PCs and Android, so I am not very familiar with the specifics of other platforms. However, my education and specialty allow me to correctly assess which principles can be extrapolated and which cannot.

Also, in this article, I will rarely touch on specific technologies, as I do not closely follow progress in this area. The review will focus more on the conditions that developers face and the most universal practices that have been used in the industry for decades.

When does the optimization process begin?

Optimization is a never-ending process; there is no limit to perfection and no such thing as a perfect system. That is why good companies start optimizing in a broad sense at the initial stage of production, when they are just conceiving the game.

That’s when you start thinking about the system architecture, target platforms, the number of assets and their reuse, the number of mechanics and their complexity, how the mechanics interact with each other, the tools and technologies used in development, and the quality requirements for all components of the game.

These decisions will ultimately have the greatest impact on development time and the final result, as they determine the scope of work, employee qualification requirements, and how much deviation from the initial plan is possible.

However, these are all general questions. The main optimization work begins during game development. And here there are three approaches to development:

  • Optimize in parallel with game development. That is, programmers think about future bottlenecks right from the start when developing mechanics and fix them immediately, while artists try to make their art as lightweight as possible when creating it.
  • Optimize the game after creating the main part of the game. That is, mechanics and art are developed without regard to their weight for the device, and the process of their optimization begins after the game has been brought to a more or less tangible form.
  • Optimize the game after playtesting or immediately after the game’s release.

All these approaches are not mutually exclusive; decisions are made separately for each mechanic and each art object: for example, models can be made immediately with optimization (the requirements for them are known in advance), and problems with game mechanics are postponed until later, when they can be tested in “combat” conditions. Each of these approaches has not only disadvantages but also, unsurprisingly, advantages.

The sooner you start optimizing, the easier it will be for developers, as they won’t have to switch between tasks and return to them several times. Roughly speaking, it’s faster to go to the store once and buy everything you need at once than to go there several times and buy things in parts. It’s also useful because the code is still very flexible in the early stages of development and is easy to fix without breaking everything else in the process.

On the other hand, optimizing too early may be unnecessary. For example, the model that the artist spent several days optimizing down to the last polygon may not be approved in the end and will have to be redone, or it may not even make it into the game. Or, the game itself is so undemanding in terms of graphics that there is no point in optimizing the models to the very end, and any level of detail will do. Or maybe your game had a flawed concept from the start, and by polishing it further, you simply wasted man-hours for nothing. The later you start optimization, the less effort will be wasted.