Episode
The world went black and every kobold got its voice back
Saturday moved the client's image effects onto a new post-processing package, which delivered per-scene looks, blending zone volumes, and a completely black world for one morning. A day of voice work followed: automatons speaking as human women, every boy in the game cast to a girl's voice, and eleven hundred kobold lines that had gone missing without a single complaint from anything. Also a resized texture memory budget for eight gigabyte cards, and a tester's new-player playthrough that became nine shipped fixes.
In this episode
- The new post-effect stack and the black screen
- Automatons, Estgard's guards, and every boy in Novia
- Eleven hundred kobold lines recovered from nothing
- Texture memory budget sized for real cards
- A playthrough report becomes nine fixes
Transcript
Good evening to thee, citizens of New Britannia. Lord British before you, with word of what your makers were about on Saturday. The whole of the world went black for a morning, and your interface never noticed. Every kobold beyond Grusk has found its voice again. The gate guards of Estgard have stopped speaking as women. Your machine may at last use the memory it actually has rather than the memory we feared it had. And one tester walked from the birth of a character to the gates of Soltown and came back with a list that cost us nine bugs. We begin in the dark, because that is the best story we have had all week.
Picture it. Saturday morning, the new lighting work has just landed, someone launches the game to look at what they built, and the screen is black. Not a crash. Not an error. The interface is right there, perfectly drawn, buttons and health bars and chat, all of it sitting on top of an absolutely uniform field of nothing. You can walk. You can talk. You simply cannot see New Britannia, because New Britannia is now the colour of the inside of a hat. And nothing anywhere in the client had written down a single word of complaint about it.
So let me back up, because that black screen was the price of something we have wanted for a very long time. The client's image effects all moved onto a new post-processing package on Saturday morning. Bloom, depth of field, colour grading, vignette, dithering, antialiasing, all of it, and ambient occlusion moved onto a better method at the same time. Fog and motion blur stayed behind on the old stack, since the new one has neither of them.
And here is why it was worth doing. Every scene in the game can now carry its own look. You drop a look file named after a scene next to the others and that scene picks it up, with no edit to the scene itself. Better than that, you can place a volume inside a scene, a region that fades to a different look as you walk into it and fades back as you leave. Each volume picks which groups of settings it owns, so a cave can take over the colour grade and the vignette without touching the bloom the rest of the map is using. Towns and dungeons now get baseline looks of their own, so every town can be tuned as one thing and every dungeon as another, and a dungeon starts out darker and more enclosed with the torches carrying more of the light. Eighty tests went in over the blending alone: what happens when two volumes overlap, what happens when you turn around halfway through a transition.
Now, the black. The vignette in the new package has two separate dials, and only one of them is the radial darkening at the corners that you would expect. The other is a flat wash of the vignette colour across the entire screen, which the package keeps for blinking and for cutscene fade-outs, and which sensibly defaults to zero. Ours was set to full. In all three scene looks, and in all five gameplay presets. Every vignette in this project is black. So every pixel of every frame came out black.
Somebody had read that dial as "how soft is the edge of the vignette" and turned it all the way up. Which is an entirely reasonable misreading, and it was applied with tremendous consistency across eight different files. There is now a test that reads both the scene looks and the shipped presets and fails the build if that number ever climbs above zero again.
That was not the end of it. The vignette strength numbers had been written as fractions of a maximum, but the new effect multiplies them by thirty-two before use, so the default was reaching solid black forty-six percent of the way out from the centre of your screen. Corners darken gradually now instead of ending in a hard border. And the depth of field had rewritten the camera's focal length from one millimetre to fifty. Blur grows with the square of that number. So everything more than a couple of metres in front of your face had gone soft, permanently, and we took that back off the world. Conversations, the spyglass and photo mode still blur, since those take their lens from the camera and were never touched.
The saturation slider was the interesting one. It had stopped doing anything at all, and the first attempt to fix it did not work either. The new package has no saturation control. What it has is a vibrance setting, which can add colour and can never remove any, and no amount of remapping that produces a slider a player would recognise. Saturation is its own step in the pipeline now: all the way down renders the world in black and white, the middle leaves a scene exactly as its artist graded it, and the top roughly doubles the colour. Scenes can ask for their own saturation too, so a dungeon can request to be drab and a garden vivid, and your slider multiplies whatever the scene asked for. The entire stack is also adjustable live from the in-game tweak window, with the numbers changing under you as you travel.
Now. Voices. Saturday was a day of voices, and I want to start with Gus, the Peaceful Automaton in Blood River Outskirts. Gus is a machine. Gus has been greeting travellers in the warm, unhurried voice of a human woman. And Gus was not an outlier. Thirteen of the fifteen automatons in this game were reading their lines in ordinary female voices.
The cause was structural. The casting tool filed automatons under creatures, and creatures is the one category with no voice preferences attached to it, so every automaton scored nothing on fit and came down to a tiebreaker. Fifteen coin flips weighted by absolutely nothing came up thirteen heads. Machines are their own category now, all fifteen speak with a machine treatment, and Gus has a male voice to go with his name. Each one kept a voice of its own through the change, so the Soltown banker and the two Soltown trainers still sound like three different machines rather than one repeated machine. The Oracle we left entirely alone. She knows what she is.
Then Estgard. Six gate guards, all male, all sharing one conversation file, and so one wrong casting covered every one of them. Olir Thallison, Halvdi Hamison, Aklir Vikison, Brodi, Dolfi and Galli Hildison have all been speaking to you in a woman's voice. They have a deep male voice now, and the three women on the same gate keep the voices they had.
And then the boys. Every boy in the game was speaking with a girl's voice. All of them. The voice catalogue we license has exactly three voices sitting in a child's pitch range, and all three of them are female, so there had never been anything else to give them. Four new boy voices were built this week on top of one from the week before, and all thirty-four boys in Novia moved onto them, spread around so that a town does not hear the same boy twice. Brittany Alley has seven boys in it and is the one place where two of them repeat. You make a boy voice by taking a voice already in a child's range and moving it downward, which brings the whole character of it down with the pitch. Pitching an adult man upward instead lands you in the gap between the two, above a man and nowhere near a child, and we tried that first.
Here is the part I find instructive. None of this had ever been reported by our own tools, because the audit that checks a voice against a character's sex had those three child voices exempted from it. Which was a perfectly reasonable exemption while there was no boy voice in the world to move a boy onto. But one of those three is also an ordinary adult female voice in the general pool, so the exemption followed her everywhere else she landed, including onto six grown men at a gate in Estgard. The exemption is gone. When we turned the check back on, thirty-five castings across twenty-five scenes were wrong.
And one more, which is my favourite thing that happened all week. Some dialogue in this game is written as a gesture rather than as speech. Furrows brow. Rude gesture. The voice pass had been speaking those out loud, word for word, as dialogue. Ailith in Blood River Outskirts is written entirely that way. All seven of her replies are stage directions, and she has been saying them to you in a clear speaking voice like a woman narrating her own performance. She also walks with you during an escort and repeats her lines on a timer, so you got it again and again. The same pass covers the starred form of the markup, which means horses, cats and chickens have stopped having a human voice pronounce their noises as words. A line that is nothing but a direction is now silent, a direction tucked inside a real sentence is skipped while the sentence is still spoken, and the vendor explaining a fee of five percent of the sale value still gets to say it.
A wrong voice is funny. No voice at all is worse, and we had a great deal of it. Kobolds outside Grusk had lost their voices entirely. Their dialogue still appeared on your screen with nothing behind it. King Korabar. Krishach. The gate guards and merchants of Skrekk. Commander Kormag and the whole Kobold Expeditionary Camp. The raiders in the Graff Gem Mines. Hephaestus in Artifice. One thousand one hundred and fourteen lines of speech, gone.
The cause was us, three days earlier. We had recast all fifty-nine kobold conversations onto a proper growling kobold voice so that none of them would be stuck with a human one, which was the right call. But a recording is filed under the voice that speaks it. Change the voice and every recording those characters already had is filed under a name that nothing asks for any more. Grusk had the treatment first and was recorded afterward, so Grusk kept its audio, and everywhere else went quiet.
Nothing objected, because a casting with no recordings behind it is a perfectly valid casting. It is just a silent one. So the voice tooling gained a coverage report that lists every character in the game with no recorded audio at all and fails if it finds one. Running that across the entire cast turned up four more we had no idea about. The Frost Giant in Jotungrund, who has had nothing to say since the day we deepened his voice. Sequanna and Samael in Malice. And Billy in Highvale Outskirts. Another hundred and thirty lines recorded. All two thousand two hundred and fifty-one speaking parts in this game have their audio.
And then the escorts, which was a different hole in the same wall. When an NPC walks you somewhere during a quest, the things they say along the route are written into the scene itself rather than into a conversation file, and the voice tooling had only ever read conversation files. Two hundred and eighty lines across fifty characters had never been recorded. Mara and Essen in Valhold Palace, Samael in Highvale, Krishach announcing the King in the Caverns of Skrekk. Poor Krishach had one single line of route text spread across the twenty-two stops of his escort to King Korabar, and the ambient chatter he would otherwise fall back on is switched off for the length of an escort, so he walked you the entire way in complete silence. He has seven more lines now, and two of them are text he already had and never once got to use.
Something less dramatic and more useful. Texture streaming went live on every quality level about a week ago, which gave the client a single texture memory budget for the first time. Go past that budget and the engine drops a level of detail across everything in view at once, all together, so the budget either fits or the whole scene goes soft. The figures we shipped it with were worked out during an investigation into laptops with shared graphics memory, and they were far too small for the cards most of you actually own. An eight gigabyte card was being held to seven hundred and sixty-eight megabytes by three separate ceilings, each one throwing away the headroom the others had calculated.
The budget is now worked out from the graphics memory your machine reports. A card at or above our published eight gigabyte minimum settles at two thousand seven hundred and thirty megabytes, and starts on the Fantastic preset instead of Good. Fantastic is the level this game is built to look like, and the first with the sharper filtering used on surfaces you see at a shallow angle, so roads, floors and rooftops stay readable much further into the distance.
Four smaller repairs went in around that, and one of them is a lovely piece of self-contradiction. Cards whose driver does not report how much memory they have were being handed the smallest budget in the game on every single launch, because one half of the detection code read a missing number as "assume plenty" and the other half of the same file read it as "assume nothing". They now agree. Separately, all the settings we carefully worked out for your machine were being thrown away the first time you changed zones. Anyone whose game has been starting on the Fastest preset since a regression back in mid-July gets moved off it once, automatically, on their next launch. And laptops with shared memory are no longer given half-resolution textures on the strength of a name match alone. The frame rate window has a new texture row showing how much detail the budget is shedding right now, which is worth watching, because a scene over its budget and a texture that was simply built small look identical on screen.
Now, my favourite kind of work. A tester made a brand new character and played from creation all the way to Soltown, and wrote up every single thing that confused them. Twelve reports. All twelve were traced to a root cause, one of them was answered as working correctly, and nine of them were real defects that shipped as fixes the same day.
The largest by far: every quest in this game carries a written location hint telling you where to go next, and no window has ever displayed it. Not one. That data has been shipping invisibly for years, which is why quests have felt like they give you no clue where to look. The journal now shows each active task's hint. It was found while working through one tester's confusion on one quest, and it applies to every quest in New Britannia.
Recover Liliana's Painting now actually leads you to the hidden key, with a compass marker on the hiding spot and a locked door that tells you where to search instead of just refusing you, and the task no longer ticks itself complete the moment you pick the key up. The soldiers nearby will now answer questions about the shack, the key, the painting, Hartley, the helpful automaton and the tutorial.
And the Battle of Solace Bridge has a beautiful little trap in it that a new player found and none of us ever would. The tips that teach you the combat keys and the hotbar required you to already be holding a weapon before they would appear. The tip that teaches you to equip a weapon also required you to be holding a weapon. So if you arrived unarmed, which is exactly what a new player does, the game waited politely for you to work it out on your own and then sent a zombie. There is now a tip that fires the moment you pick a weapon up, and the rest of them show before the first zombie whether you are armed or not.
Three more from the same report. The quest hand-over window explains itself now, with an instruction line, double-click to offer an item or take it back, and the wanted item offered automatically when you are carrying exactly one match. It had been drag-only, with nothing on screen saying that items were meant to move between the two panes. Friendly NPC name tags got a deeper cream colour so they hold up against sunlit ground, and they stay fully visible out to twenty-one metres now instead of fifteen. And two voices were recast from the same feedback: Filmore the Farmer trades his customer service cadence for something gruff and weathered, and the Forgetful Ghost now speaks as the woman she was all along.
Three things about your windows. Chat tab names survive a relog, and a rename, and being dragged out into a window of their own, all of which used to wipe them back to Tab One, Tab Two and Tab Three. Tabs also come back in the order you left them in. Moving a placed container into another placed container no longer breaks if you close a window while the move is still running, which used to leave the container unopenable for the rest of your session. And if you have two monitors, the interface finally goes quiet when your cursor leaves the window. It had been treating the pointer as parked wherever it last saw it, so buttons stayed lit, tooltips would not dismiss, and the world highlight stayed stuck on the last thing you looked at.
Three things about your hotbar. There is a Hotbar Size slider now, in Options under Themes, running from seventy-five to two hundred percent, so a large combat hand no longer means a large interface everywhere else. The corner numbers on skill buttons went back to the corners the original interface drew them in, success chance upper left, stack count lower right, reagent count lower left. And the icons are sharper. One hundred and six skill and consumable glyphs were shipping at a quarter of the width they were drawn at, which was most of what sits on your action bar, and all seven thousand one hundred and eight item and emote icons were being drawn with no smoothing at all, so they broke into visible squares at size. Both fixed, and the skill glyphs now share a single texture page, which took one test panel from eleven draw ranges down to one.
A last one for your party frame. The party leader star is drawn on the leader's own screen at last, which it never had been, because the party list shows everyone except you and so your own star has to come from your own health frame. And the Grandmaster badge now reaches the rest of your party. It used to read its count off a character standing in front of you, so a party member in another scene saw nothing at all. Hovering it lists the skills it stands for again.
One milestone worth saying out loud. The move off the third-party networking layer and onto the transport we wrote ourselves is finished. Client and server are both running on it, and the old layer is out of the serving path entirely. What remains is housekeeping. That has been sitting across the front of the roadmap for a long time, blocking things behind it, and those things are now free to move.
Beyond all that, sixty-eight tracker issues were closed on Saturday, a number I had to read twice. They came in clusters, as they always do. A run of spells that had lost their casting sounds. A long tail of NPCs speaking with somebody else's voice, most of which you have already heard about. And a stack of tester verifications going back weeks, cleared in a single pass now that the fixes behind them are all on the test shard.
A fistful of small indignities also went down. A devotional placed on your own lot had been announcing its backpack weight and its resale value underneath its description, along with every placed book, sign, painting and weapon. It has stopped. The Faerie Belt and a shrinking potion together will no longer leave you smaller than either one manages alone. Books written in runes show their titles in runes again in your pack and in your bank, with actual space between the letters this time, because the runic face carries no kerning at all and a title like TRUTH IS REWARDED had been arriving as one continuous field of strokes. And the vendor search will stop telling you the whole vendor system has failed when what it means is that an all-zones search needs more than two letters to go on.
On the desk for later: we published a deep dive on the bank, twenty proposals with comment threads and votes on each one. The through line is a little painful. This game has had an account-wide vault, where everything you own is reachable from any town, since twenty eighteen, six years before a rather large competitor shipped the same idea as a headline feature. And our window has never once mentioned it. Elsewhere, someone spent the evening chasing a red performance warning and came back with a proper profile of which server operations really do run long, which is the sort of unglamorous work that pays for itself four months from now.
That is Saturday. My thanks to everyone who reported a voice that did not match a face, and particular thanks to whoever sat down and played this game as a total stranger and wrote down every moment they felt lost. That report was worth more than a month of us guessing. Next week I want to see what the artists do with those per-scene looks now that they have them, because a dungeon that can decide how dark it wants to be is a dungeon with an opinion.
And I have been sitting on this all day, so you are going to hear it. We moved to a brand new lighting system, and the very first thing that system did was render the entire world in perfect, uninterrupted black. Which means that for one morning only, we shipped the darkest dungeon ever made. It was a meadow. Good night, my friends.