Your Business / Devlog

The dev
log.

Notes from the studio while we build VEILSPIRE. Posted roughly every two weeks since 2022. 57 entries, all here, including the ones that shipped before they were ready and the ones we should have written sooner.

14Apr 2026
#057
Art · Lighting — by Paweł Krawczyk

Lighting the chalk corridors without baking GI.

For four months we had a beautiful lighting model that took 38 minutes to bake every time we moved a single mesh. We replaced it with a custom shader pass that fakes seventeen layers of bounce light at runtime. This post is about laziness, color theory, and how we ended up with a lighting solution our composer can play.

The new pass costs us 1.4ms on a Steam Deck and gives us six color-control parameters per scene that the audio engine writes to in real time. Saoirse can darken a corridor in time with the score, and we discovered that's something we wanted before we knew it was possible.

Read post · 12 min →
02Apr 2026
#056
Code · Audio engine — by Tobias Holm

The 11ms reactive score window.

Saoirse writes music that reacts to player choices in eleven milliseconds — a window narrow enough that it feels like she wrote it for the moment. Hitting that latency required three rewrites, two thread-priority arguments, and one trip to the speedrunning Discord. Here is the audio scheduling stack we landed on.

The post includes a reproducible repository (Godot 4.3) and a benchmark of every alternative we tried. If you have ever wanted to know what the difference between FMOD's event system and a hand-rolled scheduler costs you in real time, this is for you.

Read post · 18 min →
21Mar 2026
#055
Playtest · Closed beta 02 — by Saoirse Ní Bhaoill

What twelve people taught us in eleven hours.

Our second closed playtest pulled twelve players into a Discord stage for a full evening. We watched. We took notes. We did not talk. The transcript is fifty-seven pages and the conclusions are: three things worked better than we expected, two things didn't, and one mechanic — the chalk-drum trade — we cut on the same Sunday we shipped it.

The post pulls eight specific player moments and explains what we changed in build 0.71.x. If you backed the alpha you've been playing the changes since last Wednesday.

Read post · 9 min →
04Mar 2026
#054
Sound · Composition — by Saoirse Ní Bhaoill

Writing music for a game that hasn't decided yet.

The score is forty-seven minutes long. Most of it changes shape based on what you're doing. I write in pencil on staff paper, then in Logic, then I record it through three different microphones at the same time so we have channels to peel apart later. The result is a score that watches you back. This is how I do that.

Includes a 4-minute demo cue (build of "Saoirse Returns") split into the seven layers we render. You can mute any layer and hear the others adapt in real time.

Read post · 14 min →
18Feb 2026
#053
Design · Refusal — by Paweł Krawczyk

"Refuse" is a verb we had to argue for.

For most of 2024 the player couldn't say no. The interaction designer (me) thought refusal was a UX failure — every "no" was a moment we'd sent the player into a dead end. Saoirse insisted refusal was the most important verb in the game. She was right. This is the long version of that argument and how we built it.

Read post · 7 min →
03Feb 2026
#052
Studio · Process — by Tobias Holm

Three years on a game and we still ship on Friday.

People ask how three people make a game in four years and don't burn out. The answer is "we burn out a little, regularly, on a schedule." This post is the studio operating manual: weekly cadence, what we cut from the process every six months, and the reason none of us takes meetings on Mondays.

Read post · 11 min →
22Jan 2026
#051
Art · Environments — by Paweł Krawczyk

How the orbital city rotates while you sleep.

The Veilspire's architecture is procedurally rotated between nights — each room, each corridor, each chunk of the station shifts on a custom physics pass while the game saves. This is the rotation system, why it's not Wave Function Collapse, and why we don't talk about WFC at this studio.

Read post · 16 min →
/ Devlog · email subscription

Get every post in your inbox.

One email per post, sent the morning it goes live. We post every two to four weeks. You can reply to any of them and it will hit our actual desk. 2,140 readers, no marketing copy, no upsells.