Status
SteamPeaks
ChartsSalesUpcomingPatchesNewsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
NewsSteam's own announcements and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesNewsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
MycopunkNewsPigeons at Devlog 5/1/26: Procedural Terrain
Community

Pigeons at Devlog 5/1/26: Procedural Terrain

Mycopunk · published 1 May 2026, 22:31 UTC

All newsPlayers around this dateRead on Steam

Hello!

In the past we’ve mostly been secretive about updates until they launch, but like what’s the point of that? So we’re going to try being more open about what we’re working on with weekly (I hope) devlogs. Or maybe we’ll do two of these and then forget to post any more…


Proc Gen

Let’s start with something that didn’t happen this week, because I’m excited to talk about proc gen. Our procedural levels are generated using a grid of voxels (sorta like Minecraft). Then we use a cool algorithm called marching cubes to turn those voxels into a smooth surface. If you’re interested in marching cubes, there are a lot of cool youtube videos on the topic, but basically it’s a massive table of surface shapes to choose from for every possible combination of neighboring voxels.

All of our terrain code runs in compute shaders on the GPU, which makes it go really really fast (yes, the levels still take a while to generate - I’ll be optimizing load times as we go AND the 1.8.2 patch today should improve loading times a bit!)

Terrain is split into layers. Every layer runs a function for each voxel (of which there are 21,233,664) that returns that voxel’s distance to the nearest surface. Say we want to plop a big ball into the center of the level - we just calculate:

ball_radius - length(current_pos - ball_center)

The resulting value is negative in the air outside the ball and positive in the ground inside the ball.

When we aren’t making balls, we can do a lot of cool things with simple math. For example, the arches you sometimes see in the Desert or Ice Floes are made by calculating the distance from each voxel to a curve like this one. I then offset the distance with some random noise and we get our rocky arches.

As a bonus, here’s a weird terrain layer I accidentally made using voronoi noise.

-Liam


Crashing Out

We’ve been dealing with a fun new crash that seems to be caused by particle systems reading from mesh data. These sorts of crashes are always fun because they only happen on a few computers, and NONE OF THEM ARE OURS! :D We added a debug option that seems to be mostly working as a temporary fix but I’m working on a long-term solution to replace mesh data in particle systems, which should also help performance when a bunch of them are going off at the same time.

The current theory is that the crash is connected to a different bug where status effect particles were occasionally appearing with corrupted values, making them 3000 times the size they are supposed to be. This began happening when we updated to Unity 6, and we’re not really sure why…

With the world update coming out so soon, and very few leads, so I put in a temporary fix:

if (tooBig)
{
Die();
}

This solved the problem visually, but since the insane numbers are still being set, I suspect that certain cards run into a crash when trying to process them.

So what’s the solution? No more meshes. Instead of reading the exact model data (slow), I reconfigured the system to use generic shapes that will fit around the models (fast). This should free up a bit of VRAM, and the game likely won’t hitch as much when you use a Globbler build that applies acid to everything on the map in a single frame.

This change comes as part of a larger goal for 1.0 to increase the performance of VFX, while also making them a little less visually overbearing on the whole. You guys like to blow stuff up, so I wanna try and help you not go blind while doing it.

-Noah


NEW ENEMY MODELS!!!!!!

Your workplace will be ruined by furniture and appliances soon (well, soonish). Fridge, toilet, laptop, microwave, fan, etc. These cruel chaotic BEAUTIFUL machines want you dead. Kill them or they will butcher you.

Modeling and texturing was done by a old Saxon faculty who is obviously unwell but with great work ethic fortunately. (That’s me) Every enemy core looks different to fit the body type, and the new shells are carefully designed to be insanely infected. They will look a lot nicer than the old ones because of my crazy texturing technique improvement normal maps, it will bring more detail and depth to the enemy surface and fungal flesh. The models must look good because I am going to UV them one by one like why would I make it bad.

Concept art for one of the new grunt models

Just the model - wait for them magical textures

Saxon doesn't care about you but we do, enjoy!!

-Lily

Also update 1.8.2 is out now! Patch notes here.

More from Mycopunk

Other announcements

All news
Community11 Sep 2026Pigeons at Devlog 9/11/26Howdy Last week i spent a few hours tracking down a crash that sometimes happens when exiting to the main menu. With most crashes, I can find the cause pretty easily by having the game write to the log file at specific points so I can see exactly where it fails (or if I’m really lucky, the log will already have an error from whatever caused the crash). No such luck this time. The menu initializ…Game update2 Sep 20261.10.2Fixed a crash that sometimes occurred when returning to the main menu · Fixed an issue with how POIs and side objectives were sorted · Autocannons won’t spawn in the tutorial mission · Fixed popup info being allowed to clip off the sides of the screen · Fixed a missing face in one of the Ouroboros roomsGame update27 Aug 20261.10.1Fixed an issue where certain skins would sometimes not appear when selecting a skin at Lottery Larry (most often with Skeletal Ghost skins) · Also fixed an issue where Larry would only give Skeletal Ghost skins with Entombed, which is only supposed to come from ghost skins that drop in the world. Don’t worry, I disciplined him. · The lobby filter threat level slider was a bad boy and showed thr…