Friday Dev News #104 - Happy New Year!

Hello everyone and happy new year!

InfraSpace in 2023

Our main priority for InfraSpace is finishing the terraforming endgame and improving quality. That means fixing bugs and working on performance.

If you take a look at our ingame roadmap, you’ll see that after the terraforming update, we’ll have finished all the guaranteed features as well as the extra features “Mod support”, “Gondolas” and “Pipes”.
For version 1.0 we think it’s more important to work on game quality and polishing instead of tacking on more and more features.

Currently I estimate that we’ll be able to reach our target quality for version 1.0 after 2 or 3 more updates. Then we’ll release version 1.0 and exit Early Access. If and how many features are then added after Early Access depends on how actively people are playing the game after the big release.

Performance: Vertex Animation Textures

Speaking of working on game quality, we have already started tackling animation performance!

Animation has been a performance bottleneck for a while. A mature save easily features thousands if not tens of thousands of buildings, and for now we’ve just used the Unity default animation system. The trouble: it’s actually putting a bunch of load on the CPU.

Building animations are not complex though: Each building typically only has one or two animations that either run or don’t run depending on the state of the building.

We’re planning to use a technique called “Vertex Animation Textures”, where we design the animation with the Unity animator, but then bake the animation data into a texture and send it to the GPU.

Pros and Cons

The advantage: there is NO CPU load for running building animations and the GPU load doesn’t actually change that much, since it’s just texture sampling.

The disadvantages of this technique: buildings have maximum vertex limit and we can’t use it to control particle animations or other, more complex shaders.

Since we don’t reach the vertex limit anyways with most buildings and we can still use the CPU to control the more complex parts, the tradeoff seems like a good one to make.

We’re finishing the implementation this week and letting our artists play around with it next week and we’ll see how it goes!

Happy playing!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.