SotA

The New Britannia Herald

Sunday, September 20, 2026

Work Log Podcast

Episode

Ladders that sent you nowhere and fires that burned without a sound

Sunday went to the things the world had been doing wrong quietly. Ladders now send you to the end you are not standing at, and a hundred and seven of them became visible to the townspeople who walk past them. Standing in a fire finally hurts out loud, the Battle of Highvale got its map, its escort and its dying knights put right, and a graphics setting that froze the client for up to sixteen seconds no longer does.

In this episode

  • Ladders that put you back where you started
  • The graphics setting that froze the client
  • The Battle of Highvale, fixed end to end
  • Bought armour rebaked onto our own skeleton
  • Fires, crits and a narrator with a voice

Transcript

Good evening to thee, citizens of New Britannia. Lord British here, with an accounting of what thy makers were about on Sunday. Every ladder in the realm has learned at last which end of it thou art standing upon. The wounded knights of Highvale sound wounded. A fire will make thee cry out when it burns thee. And a crown of no small importance has been riding three centimetres behind its owner's skull since the day it was made. We begin with the crown, because I have been laughing about it since yesterday morning.

So. Vitium's Crown. Somebody put it on a character, stood back, and had a proper look at what they were wearing. The band was going around the back of the skull. The brow, where the runes are meant to sit, was bare. And the back of the crown stood off the head with a visible gap behind it, like a hat thrown across a room and landed about as well as you would expect. Three centimetres out. The process that placed it had matched its width against a crown we already ship, then lowered it until the bottom edges agreed. Height, correct. Size, correct. Front and back, no opinion whatsoever.

Let me start the proper show with my favorite kind of bug report, which is the kind that is completely wrong and still walks you straight to the problem. The report said that opening and closing the Settings window froze the client for five to eight seconds, every time, and shoved three hundred megabytes of texture around while it did. That is a frightening thing to have living in your options screen. It is also not what was happening. The Settings window is innocent. We measured it. It builds itself in eleven milliseconds and reopens by switching itself back on. It has an alibi.

What the report had actually caught was a person opening Settings, going to the Video tab, and changing the Quality Level. That is the thing that froze. Here is why, and I enjoy this one, because it is the sort of detail nobody could ever guess from the outside. The texture detail setting is stored inside each quality preset. Not alongside it. Inside it. So the moment you pick a different preset, you have also changed your texture detail level, and the engine honors that request the honest way, by rebuilding every texture in memory that is not being streamed, right now, on this frame, while you wait. Five seconds on a good machine. Sixteen on the session we studied. And then you change your mind, put it back, and pay for it all over again.

The fix is the pleasing kind. Shadows, detail distance and effects still land the instant you pick, because those are cheap and you want to see them. The texture reload is deferred to the next zone you travel to, where there is already a loading screen sitting in front of you doing exactly that work. You pay nothing extra for it. The Video tab now says so in plain words under the Quality Level row, and there is an Apply Now button for anyone who would rather take the wait immediately, which puts a message on screen instead of pretending to be a hang. The Shadow Distance dropdown had been charging the same toll with no warning whatsoever, and it takes the same road now.

Chasing that one turned up something else worth saying. Two other frozen sessions in the same report had no Settings window involved at all. One of them locked up ten separate times without ever opening it. Those belong to a different problem that we are still working, and every quality change now writes down what it cost, so the next investigation does not have to be deduced from a shrug.

Now. Ladders. These have been lying to you for years, and I want to explain exactly how, because the shape of it is almost beautiful.

A ladder in this game is not one object. It is two separate clickable points, one at the top and one at the bottom, and each of them is wired to a single arrival spot. The names on those points describe the direction of travel rather than the place, so the point called up has its clickable box sitting down at the bottom of the shaft. Meanwhile your reach is five meters, and a great many ladders are shorter than five meters. Which means that from the ground, both ends of the ladder are within arm's length of you. And on nearly every ladder in the world, both of them say the same thing when you hover over them. They say "Ladder."

So you walked up to a ladder, you clicked the word "Ladder," and you got a coin flip. Heads, you climbed. Tails, the game carefully teleported you from the bottom of the ladder to the bottom of the ladder, which from where you were standing looks precisely like nothing happening. I have watched people do that three times in a row and then blame their mouse.

Each climb point now works out which end you are standing at and sends you to the other one. It no longer matters which of the two you clicked, because both of them agree about where you are and where you are not. Ropes, vines and climbable roots all work the same way. The rule is covered by twenty-seven tests, and it ships behind a shard setting, so if we have managed to make something worse in a way nobody has thought of yet, we can put every installed client back on the old behavior without patching anything.

Matching up which two points belong to the same ladder was the harder half. Seventy-two of these prefabs carry no marker at all saying that these two things are one ladder, so where the marker is missing we pair them by the parent they hang under. That covers a hundred and five groups out of a hundred and twenty-three. The other eighteen were left alone rather than guessed at, because the world contains things like a gold city wall tower with three climb points under a single parent, and shogun guard towers that put each end under its own. Better an old bug than a confident new one.

And then the second half, which landed late in the evening and is my favorite thing on the entire list. A ladder only exists to a townsperson if its two points are registered together as one ladder. Sixty-five of our prefabs never were. A hundred and seven ladders that you can see, and climb, and stand on, were simply not there as far as every wandering citizen and creature in the world was concerned. The air balloon. The medieval siege tower. The gothic mansions. The guard towers and the city walls that entire towns are assembled out of. All one hundred and seven now join the map that our non-player characters walk on, and they are already being used up and down in Brittany Fields, Rhun Ruins and Tenebris Harbor. A siege tower whose ladder no soldier can find is not, I would argue, much of a siege tower.

Yesterday was also, without anybody planning it, Battle of Highvale day. Four people worked on that one scene without particularly coordinating, and between them they fixed nearly everything wrong with it.

Start with the map, because the mystery underneath it is lovely. The zone map for Highvale was an old hand made capture from the Portalarium era. The ground read as a flat tan smear with almost no roads or trees in it, and the rock walls around the edge of the zone were covered in solid white blobs that every person who ever looked at that map took for missing textures. They were never missing textures. A map camera looks straight down. The capture forces the sun to noon, directly overhead. That puts every upward facing surface at the exact mirror angle between the sun and the lens, and the rock material in that zone carries a pure white specular highlight. So the sunlight reflected off the rocks straight back into the camera, the render went past white, and it clipped. For years we have had a map with what looked like broken art all over it, and what we actually had was a photograph of glare. Captures now hold the specular peak down for the single frame they shoot, which clears every blown out pixel and still leaves the rock reading as pale granite. The new map shows the roads, the trees, the lake and the village buildings. And while we were in there we found that the post battle version of Highvale had been pointing at the battle version's map sheet, so it had been showing you a picture of the wrong place entirely. It has its own now.

Then there is Samael, who escorts a new player up the hill to the wounded knight. His path was set to give up if the player got more than fifty meters away from him. He walks that hill slowly, with pauses, because he is a man in a bad situation. You walk at normal speed, because you are a hero with somewhere to be. So you pulled ahead, he announced that he would return to where he was, and you got to stand at the top of the hill and watch your escort walk all the way back down to the village. His path now uses the same never give up distance the Solace Bridge escort has always had.

And then the knights. Gawain and Nena are among the first people a new avatar ever speaks to, and both of them are dying when you meet them. Both were cast automatically for their voices, because our casting tool reads the name, and their names contain the word "knight," which put them straight into the noble bucket. So they were handed two catalog voices whose entire selling point is authority and projection, and they delivered their own death scenes like officers addressing a parade. They now speak through new wounded voices, weaker and unsteady, with the chest taken out of the tone. The speech service we use offers no setting for emotion at all, so the team did something cleverer. A new per line pass rewrites the punctuation of the text handed to the synthesizer, putting in the pauses a person short of air would really take. Twenty-nine of Gawain's thirty-seven lines and twenty-two of Nena's twenty-eight are shaped that way. The words you read on screen never change. Only the breathing does. He also stopped saying "mine amulet" and "mine captain," which he had been doing in nine languages.

Now, armour, and a full day spent on a single chest plate. A bought art pack arrived rigged to a completely different skeleton than our characters use. Worn gear is bound onto your body by bone name. And here is the part that makes it interesting. When our game meets a bone name it has never heard of, it does not complain, and it does not skip it. It creates that bone on your character. So instead of armour that fails to appear, you get armour that appears very confidently in the wrong place, attached to a bone that did not exist a moment ago and now does.

The two skeletons also disagree about how many joints a spine ought to have, which no amount of renaming will ever settle. So the meshes were rebaked instead. Every vertex is posed on the original figure, the two skeletons are lined up over the bones they share, and the mesh is written back out bound to ours. The first attempt tried to do the whole body with one transform and left the piece twelve centimetres off and shrunk to eighty-three percent, because the vendor figure stands in a T pose and our rig rests in an A pose. The forearms alone sit twenty centimetres apart. No single rotation satisfies a torso and two arms at once.

Then came the fitting, which took five passes in one day, and I am going to read you the list because it is a comedy. First equip: no arms at all, a pinched chest, pauldrons floating off the shoulders, and neck skin hanging over the collar. Second pass, judged in game this time: the shoulder caps stayed put while their lower plates swung out with the arms, and a zig zag of bare skin ran along the back edge of the vest. Third: lumps near the armpits, and a collar running through the back of the neck. Fourth, measured on a character who was actually running rather than standing still: the vest sat up to three and a half centimetres inside the shoulder muscle and the collar three point seven inside the neck. It works now. It also produced two new editor tools, including an x-ray view that shows you exactly where the body is poking through the armour, and the whole pipeline is written down for the twenty-odd sets queued up behind it.

Two things nearly shipped broken and were caught, and both deserve naming. The recipe was cloned from the plain plate chest recipe with its ingredients left untouched, which gave it the same ingredient fingerprint as its parent. Recipes are matched by that fingerprint. One of the two would have stopped working, with nothing anywhere to tell you which one or why. And the armour and its pattern point at each other, so whichever was created first could not name the other yet and the salvage link was left empty. The armour itself is the Bulwark Plate Chest, craftable at blacksmithing forty-five, and it comes with a pattern so the look can go onto a heavy chest you already own. Salvaging it returns the pattern rather than eating it.

Let us talk about sound, because yesterday the world got noticeably louder, and the reason it was quiet is a little embarrassing. Stand in a fireplace in a Tudor village house. Stand in a pool of lava. Your health drops every two seconds, the damage numbers pop, the fire visibly attaches itself to you, and your character says nothing and does nothing. Perfect composure. On fire. Three separate gates were doing that. The victim's pain grunt only ever played for weapon damage. Damage over time ticks never reached the flinch animation at all. And the fire hit effect shipped with its own whoosh switched off.

All three are open now. Every burn tick that takes health plays the hurt grunt, a short upper body flinch with the voiced pain line, and a fire whoosh over the top of the burning sound. And since that grunt table was being rebuilt anyway, it now covers every damage type, so a fireball, an ice bolt, poison and a bleed all make the victim react the way a sword does, and creatures grunt when your spells land on them. Reactions are limited to one every second and a half, so a fast bleed does not turn anybody into a machine gun.

While they were in there, they found that player critical hits had never made a sound. Not once, in the entire life of the game. The avatar art names that event one thing and the code was asking for another, and the two had been politely missing each other the whole time. Your biggest hits have been your quietest ones.

The other half of the audio work is something I am quite proud of. Every help window in the game now reads itself aloud in Arabella's voice as it opens. All fifty-two topics, about twenty-five minutes of narration, with a switch on the Audio tab to turn it off and a Listen button to hear it again. And then last night the same treatment reached the library. Notes, letters and books read themselves aloud when you open them, in the same voice, on the same model Arabella speaks with in game, so your narrator is a woman you can go and meet. Fourteen letters signed by an NPC who already has a voice are read by that NPC instead. Four hundred and fourteen texts, four hours and forty minutes of reading. A short note holds the floor and ducks the music the way the help windows do, but a full book gives both back once it is under way, because nobody wants an hour of audiobook muting the entire world around them.

A handful of smaller things that will improve somebody's evening. The game ships with a UI theme of its own for the first time and starts on it, a classic parchment look shared by a player on our Discord, and anyone who had already picked a skin or saved a theme keeps exactly what they had. A theme now also carries the two sliders it was made at, so a share code finally looks the same on your machine as it did on the machine it came from. And the Theme Editor will stop closing over work you never saved, and ask you first.

Bards can build a deck around their own kit for the first time. Performance Stance, Flourish, Dance and Group Dance were the only bard abilities the deck builder left out, which made the bard the one school in this game whose signature skills could not go on the bar you fight with. All four are deckable now, they cast anywhere rather than only inside a town, and Performance Stance lasts through a fight instead of falling off at the first blow. The instrument stays out, and you move at normal fighting speed rather than the quarter speed walk an instrument usually imposes. Dancing in the wilderness still pays nothing, before anybody asks.

Vigor now starts at Adventurer Level eighty. Below that there is no bar, no meter, and no effect on your regeneration or your critical hits. The loop that system is built around is a town, a bard and an hour of fighting, and a brand new character has no use for any part of that, so they had been carrying a third bar on their screen for a game they were not playing yet.

Two loot fixes worth the space. Tapping the interact key twice quickly on a body used to tell you that somebody else was already looting it. Nobody was. Your own first press was what the second one collided with, and the game reported that collision as a stranger. And pressing that key on a body you have already emptied now closes the window, rather than doing nothing and leaving the X button as your only way out. Item tooltips also add up damage resistance and avoidance across a shield and an off hand weapon properly now, and compare the swap in both directions. That one was reported by Gravidy, who spotted a shield taking credit for an enchanted blade's numbers.

Player towns can level up to five meters of slope under a lot, a house or a leveller, up from one and a half, and that limit is a live shard setting, so we can move it without patching your client. Go forth and build upon the side of a hill.

Lightning round. Thirty-eight tracker issues went closed yesterday. The deck editor now tells you why a glyph will not go into a slot, rather than refusing in stony silence and leaving you to conclude the window is broken. A diagnostic warning that had written fifty-eight thousand lines into the client log in seventeen hours has been taught to say things once a minute instead. And the Sun spell Light now swells in over three seconds rather than arriving at full brightness. The fade was there the whole time, hiding under two other lights that were not fading with it.

On the build side, we added a fully optimized build configuration that we had somehow never produced in the entire history of this project, and the very first release using it failed at the final packaging step. The new configuration was blameless. One line of the script that does the packaging was not valid script, and nothing, anywhere, had ever checked. It had been sitting there for three days and four releases. There is now a check that parses every step in the pipeline and reports the error at the line holding it, and it runs four separate times a day.

And here is my favorite piece of honesty from the whole weekend. In the morning, a benchmark showed a new way of drawing player decorations taking twenty-four percent off frame time in a town. By late morning the same engineer had re-measured it on a realistic scene and found it made things eighty-three percent worse. The original test used three thousand copies of one object. A real town contains roughly eleven hundred different ones. The approach only pays when a small handful of shapes repeat enormously, and a town full of player decorations is the precise opposite of that. The work was withdrawn the same day it was proposed, by the person who proposed it. That is what good engineering actually looks like, and it almost never makes the highlight reel.

Elsewhere: a raft of database safety work that you will never see and would very much have noticed the absence of, including a character select screen that used to solve the problem of a character it could not open by getting rid of it. Seven more community members were given tester access. And the nightly proof that our backups restore correctly now audits the restored copy as well, which on its first real run found exactly one item living in two containers at once. We have opinions about that item.

So. Climb a ladder tonight and arrive somewhere. Walk into a fireplace and listen to yourself regret it. Open a letter and let Arabella read it to you. What I am looking forward to most is the armour, because that chest plate is one of about twenty sets sitting in a folder, and now that we know how to do it, the rest of them should not cost a day each.

I did have a joke about the ladder bug prepared for you. But every time I climbed up to the punchline, it put me back at the bottom. Good night, citizens. Be well, and mind the lava.