The Crate Entertainment team has released Fangs of Asterkarn, the new expansion for Grim Dawn that introduces a complete snowy biome. This article analyzes how the proprietary engine, inherited from Titan Quest, manages dark lighting and enemy debris physics. We will explore the optimizations in C++, asset modeling in Maya, and texturing in Photoshop that make this freezing and oppressive atmosphere possible.
Technical implementation of winter weather and debris physics ❄️
To simulate accumulated snow, the team used custom shaders in the proprietary engine that apply dynamic vertex displacement to Maya models. The dark lighting is achieved through a directional light system with height-based attenuation, optimized in C++ to maintain 60 FPS in scenes with blizzard particles. Enemy debris physics, such as frozen corpses that shatter on impact, were implemented with a simplified collision solver that prioritizes stability over realism, reducing CPU load. Texturing in Photoshop included layers of frost masks that activate based on the biome's temperature, a detail that reinforces the sense of constant danger.
Technical lessons for indie developers 🛠️
Fangs of Asterkarn demonstrates that a proprietary engine can compete with modern solutions if the pipeline is optimized. Using C++ to manage the physics object pool and asynchronous loading of snow textures from Photoshop prevents performance drops. For developers, the key is to limit the number of weather particles and use Maya to create modular assets that can be reused with different materials. This expansion is a case study on how technical planning from modeling to lighting defines the atmosphere of an action game.
How did they optimize the procedural generation of snow and ice in the winter biomes of Fangs of Asterkarn to avoid performance issues in Grim Dawn without sacrificing the visual density of the environment?
(PS: a game developer is someone who spends 1000 hours making a game that people complete in 2)