The study has achieved a technical milestone by transferring the low-poly aesthetic of Deep Rock Galactic to a top-down perspective, maintaining the essence of the franchise. The key lies in an efficient workflow between Blender and Unity that allows managing hundreds of simultaneous enemies without sacrificing volcanic lighting effects or the characteristic glow of crystals. This article breaks down the optimization techniques and shaders that make this visual deployment possible.
Multitude Management and Dynamic LODs 🎮
To handle hundreds of enemies on screen, the team implements a progressive Level of Detail (LOD) system from Blender. Low-poly assets are exported with three polygon variants, activated based on distance from the top-down camera. In Unity, the GPU Instancing system is used to draw multiple copies of the same enemy with a single draw call. Custom shaders optimize volcanic lighting using pre-calculated emission textures, avoiding dynamic light calculations on each unit. Glowing crystals use a simplified refraction shader that simulates reflections without needing raytracing, maintaining stable performance even with 300 bugs on screen.
The Balance Between Style and Performance ⚖️
The decision to keep the low-poly style was not just aesthetic, but strategic for performance. By reducing the number of vertices per enemy, the Unity engine can dedicate more resources to the particle system that simulates lava and explosions. Using texture atlases from Blender minimizes material changes at runtime. This approach demonstrates that a consistent artistic style can be the best optimization tool, allowing indie games to compete visually without needing high-end hardware.
How did they manage to maintain the low-poly visual identity of Deep Rock Galactic when adapting Blender models to a top-down perspective without losing detail or performance in Unity?
(PS: optimizing for mobile is like trying to fit an elephant into a Mini Cooper)