Blog

reducing bones from 97 to 64, Tris from~30k+ to 9k & Tris on the battle scene by ~300k; saving ~1-2ms Game Thread

Brigada Games team reduced bones from 97 to 64 and Tris from ~30k+ to 9k on the best asset. We also reduced Tris on the big battle scene by ~300k, which, with a 1m budget, was a significant win. Additionally, we saved ~1-2ms Game Thread, ensuring the game runs smoothly and efficiently without any hiccups.

Case: to port the game, which was originally developed for PC/Console to iOS, which allowed a developer and a publisher to tap into a new mobile games audience.

Process description:

The optimization work was conducted on the iOS platform as well as past generation consoles.

The primary goal was to reduce SK Triangle Count and CPU costs of animations by setting platform min LODs parameters and thresholds for Dynamic on Animation Blue Prints, ensuring smooth gameplay without sacrificing visual quality.

We faced technical challenges, such as finding screen sizes for each platform, using LOD to save maximum visual quality with minimum impact on performance, finding the most expensive dynamic animation systems, removing right bones to all gameplay/visual features like VFXs, sounds, and more that are based on socket on SK's. Our expertise helped us succeed.

To analyze and optimize the performance of the game, we used a variety of tools and technologies, such as analyzing Stat Unit/RHI on gameplay, Unreal Insight to better check CPU state, using standard Unreal SK LOD generation systems with Skeletal Mesh LOD Data Assets, and Insta LOD on another project.

At the level of game architecture and engine, we implemented optimization methods that are standard for all games and all platforms. We only made a system with 5 DA for more than 80 SK assets based on SK archetypes (big and small, quantity of legs and arms, using weapons) without using custom engine implementations.

To manage memory and game resources, we optimized memory by removing unused LODs for each platform and reduce texture size, resulting in efficient performance without excessive resource usage.

Our optimization work significantly improved gameplay, resulting in fewer FPS drops on battles with a lot of enemies on low platforms, ensuring smooth gameplay.

We conducted testing and debugging during the optimization process by assigning QA tasks to provide repeatable gameplay videos and Stat Unit/FPS, enabling us to identify and resolve issues quickly.

These optimizations also allowed us to successfully port the game from PC/Console to iOS, expanding our audience and attracting new players.