1. Colony Survival
  2. News
  3. Friday Blog 264 - The Culling Update, 0.15.1, is Live!

Friday Blog 264 - The Culling Update, 0.15.1, is Live!

Culling frozen right in front of Lagoon's castle - invisible terrain does not get rendered

Colony Survival was a Daily Deal last Sunday. For an entire week, the game is 50% off! This is the moment to purchase the game for yourself, to recommend it to your friends - or to gift it to them!

Until this update, the game rendered everything the camera pointed at. But of course, visually rendering things that are not visible is a waste of computing power and energy.

So, if you can determine what is invisible to the player and skip that in the rendering process, you get serious optimization benefits. Except… that you kinda have to render the world to determine what is visible and what’s invisible.

But, this “test render” doesn’t have to be as detailed as the render output you actually see as a player. You can skip textures and lighting, you can do it in a lower resolution, and you can even combine individual voxels into larger blocks in the distance,

So this is what Zun has been working on these past few weeks. A quick “test render” determines what is invisible and excludes that from the “final render”, which is rendered in full resolution and detail. This process is called “culling”.

Correctly implementing this without glitching was quite difficult. There are a lot of edge cases. What if a hill isn’t visible - but the shadow it casts is? Solutions had to be found for all these problems.

And Zun succeeded in that! Culling seems to work in all situations. If you’re standing in an open field without player-built structures, it doesn’t have a very significant performance impact. But where fields of crops are hidden behind walls, castles or hills, or when you're inside underground colonies, or when walking through dense cities with twisty streets, there is a very serious performance improvement!

The "Culling Texture" right in front of Lagoon's towers

Optimization is always good, but this new feature is a necessary prerequisite before we can work on two other things we’d like to add in the future:
  1. Cave generation. They cost performance compared to the flat, “2D” terrain we currently have, but now culling will make exploring and settling them actually less performance intensive than walking outdoors.
  2. More meshes for wild plants and flowers, to make the world and terrain generation more interesting and diverse. They cost performance too, but if they’re culled when not visible, their impact is greatly reduced.
These will not arrive in 0.15.2 though. That update, which will be released in a couple of weeks, will focus on the “Oddity Press”, which gives access to a lot of decorative content, and some UI enhancements.

If you want to experiment with the details of culling, we have some tools available for that. Go to Gameplay Settings and enable developer buttons. Press F5 to display a performance graph. Press F6 to show dev features. There, you can enable and disable culling, show the “Culling Texture”, and freeze culling.

Is this causing visual glitches or performance issues for you? Running into other problems? Please let us know in the comments or on Discord.

Veel plezier met 0.15.1!

Reddit // Twitter // YouTube // Website // Discord