Posted May 07, 2025 by Riteshhhh
Having completed the fundamental gameplay mechanics—vehicle movement, turret targeting, and camera logic—it was time to introduce our main environment: the Gladiator Arena, which was conceived and agreed upon at the time of our concept presentation. I received the 3D map from the designers, and while it was amazing-looking, it was a huge performance problem. Clocking in at over 5GB, the scene contained high-poly meshes, extensive collider usage, and global shadow casting—elements that would be acceptable for cinematic or AAA-style games but not for an arena-style, low-latency multiplayer game. Being the gameplay programmer, I felt it wasn't just my responsibility to implement mechanics but also to ensure the game runs well, especially on low-end hardware. Performance issues can ruin player experience, and optimization is just as important as features.
Things I did to bring the map in line with our performance goals:
The optimization was that extreme that the diff couldn't be pushed to my GitHub branch cleanly due to its size, I have found a way to push it using GitHub Large File Storage.
In playtesting on the newly imported Gladiator map, we encountered some problems with incorrect obstacle colliders. Vehicles were trapped on the boundaries of ramps, wooden obstacles, and rough terrain, disrupting gameplay and ruining the desired flow of battle. Because a rapid and non-corporeal fix, I placed custom box colliders by hand on areas of concern. These non-corporeal colliders were the same size and shape as the original objects, which smoothed out the play experience invisibly without modifying the visual look.
By turning off the mesh renderers on these colliders, the solution was completely transparent to the player. It's a small trick, but a neat one that allowed me to keep the visual design of the level intact while delivering a smoother and frustration-free driving experience. This was especially worthwhile with time constraints and map size, and it illustrates how gameplay programmers often have to generate creative, low-impact solutions that maintain immersion while solving technical problems.