⚜ SteamCozy

Home / News / Techtonica

Techtonica 1.0 Optimization

Techtonica · Community Announcements · October 02, 2024

Read the original on Steam ↗


Hello Groundbreakers! I’m Greco and I’ve been working on optimization for Techtonica since I joined the team in January. I'm going to explain some of the optimization work that has been done in previous updates and what’s coming next for 1.0.

One may ask what does optimization mean in practice? Fundamentally, program optimization is about reducing the amount of resources we need to achieve the same result, this includes memory usage, CPU usage and GPU usage. Usually this is achieved through a combination of better algorithms and taking into account the “low level” hardware details, the main constraint in modern PC and console hardware is memory bandwidth, therefore most of the optimization efforts focus on improving the memory layout of the data so that we can maximize the throughput of the core game loops. One great way to learn about this is to study Data Oriented Design, here’s a good video introduction:


▶ Watch on YouTube



The Unity game engine has some technology built around this concept of DOD, in Techtonica we’re mainly using 2 things: The Burst compiler and the Job System.

Unity has a separate compiler from the built-in .NET Mono compiler and the IL2CPP compiler called Burst, this compiler is built on top of LLVM which tends to produce much better x86-64 code compared to Unity’s Mono JIT compiler, “burstable” C# code also has a lot more constraints, such as no managed memory and containers not being allowed to alias which allow the compiler to emit better code. If you’re a programmer and are interested in learning more about Burst you can watch the following talk:


▶ Watch on YouTube



The Job System allows us to more easily add multithreading to the game, it works with native memory and integrates easily with Burst, oftentimes Techtonica needs to process X amount of independent items, (usually called “embarrassingly parallel”) so the job system is a perfect fit for this.

Techtonica was initially released as a pure managed Mono C# game, but we’ve been slowly migrating our most data intensive systems to a DOD approach, some of these optimizations include:


These optimization efforts have enhanced Techtonica’s performance and stability, by leveraging Data Oriented Design, the Burst compiler, and the Job System, we’ve managed to reduce memory usage, improve CPU and GPU efficiency, and minimize loading times. As we continue to refine and optimize, we look forward to delivering an even smoother and more immersive experience in the upcoming 1.0 release. Thank you for your support!
Techtonica MORE ON STEAMCOZYTechtonica 67.2% positive · 2,832 reviews Price tracking · player charts · similar games →