SotA

The New Britannia Herald

Sunday, September 27, 2026

Work Log Podcast

Episode

Two hundred and ninety-seven charts, and the stun that never worked

Every map in the game with fog on it now has a chart that uncovers the whole thing for your whole account, plus two new recipes for clearing fog on the spot. The Ancient Undead of Despair were carrying their stun resistance twice and adding it together, so Body Slam had never once put a Guard Drone on the floor. Also two clients out of one build ahead of the October move, and a long profiling day at Etceter that cut the middle frame by a fifth.

In this episode

  • Charts uncover every fogged map, account-wide
  • Movable buff bars and a spoken buff warning
  • Despair fixed, and stuns finally land on drones
  • One build now makes a player client and a staff client
  • Etceter at night runs a fifth faster

Transcript

Hail and well met, citizens of New Britannia. Lord British before thee, with word of what thy makers were about yesterday. Two hundred and ninety-seven charts are drawn, one for every shrouded corner of the realm. The Guard Drones of Despair have learned at last how to fall over. Thy wards and blessings may be set wherever upon the screen it pleases thee, and the Oracle herself will speak aloud when one of them begins to fade. And the busiest town in the rain runs the faster for a long day spent hunting work the game was doing for nobody at all. We begin with the fireworks, for they would not stop.

So. Over the rooftops of Brittany, on the overworld map, the sky had been going off every half second. Not for a minute, and not for an evening. As far as anyone standing nearby could tell, forever. We hung celebration fireworks over a handful of towns, tied to certain dates, and then the dates stopped mattering and the fireworks did not. Players wrote in to ask, very politely, whether the party was ever going to end.

It has ended. Overworld fireworks no longer play over the player-run towns or over Ardoris, Castle Atos keeps its bursts on the days it is supposed to have them, and the timing fault that let the dated ones run loose is fixed as well. I am told the quiet over Brittany is lovely.

Now. The largest piece of work yesterday ran to over twelve hundred files, and it goes after something that has bothered me since the day we put fog of war in. You walk into a town, or a zone, or a dungeon, and most of the map is grey. You uncover it by walking it. That is exactly the right way to learn a place the first time. It is a chore the fourth time, and it is a real slog on a new character.

So every map in the game that has fog on it now has a chart for it. Two hundred and ninety-seven of them, and that includes one for every player-run town out there. You read a chart, and that map is uncovered. Every floor of it. For every character on your account. From anywhere at all, which means you can sit in your own kitchen in Brittany and learn the shape of a dungeon on the far side of the world. And if you had that map uncovered already, the chart stays in your bag instead of evaporating politely, so you can hand it to somebody who needs it more.

They drop at about one in two hundred and fifty from creatures and treasure chests, and only in their own zone, so the chart of a place is found in that place. There are two new recipes as well. The Surveyor's Chart takes a little alchemy, some wood pulp and two black pearls, and it uncovers the whole map of wherever you are standing. And then there is the Scroll of the Wayfinder's Eye, which I like a great deal. For fifteen minutes the fog peels back twice as far as usual, a hundred meters instead of fifty out in the world, sixty instead of thirty underground. You walk, and the map opens ahead of you at double reach. Both recipes come from the merchants who already sell the Recall Scroll recipe.

Next, the icons under your health bar, which have been overcrowded for years. Your own buffs and debuffs lived in one fixed little row on the player frame, at one size, in whatever order the game happened to apply them. If you play a character who stacks a dozen blessings, that row was a wall of very small pictures, and finding the one about to run out meant reading all of them.

They come apart now. A new option lifts your buffs and your debuffs off the player frame into two bars of their own, and each bar drags anywhere on the screen you like, as long as you have status movement unlocked. Reset Positions puts them back if you make a mess of it. There is a new size slider for buff icons too, which goes up to twice the normal size, and both bars follow it. That one is for everybody who has told us, correctly, that a sixteen pixel icon is not a user interface, it is an eye test.

The part I find clever is the hourglass. Most of those icons are long buffs. Four hour food, a guild blessing, something you put on before you left the house. They do not each need a picture. So every buff bar in the game now folds the long ones into a single hourglass at the left end with a count on it, and hovering that lists what is inside with each one's time left, soonest first. Where you draw the line is yours, anywhere from five minutes up to four hours, or off entirely, and it starts at fifteen minutes. A buff with no timer always keeps its own icon. Your bar does this, and so do your target's, your party's, your companion's and your pet's.

And because the icons are not always where you happen to be looking, the Oracle will now tell you out loud. Switch on the new setting in the audio options and she says "Attention," then "Shield of Air is decaying," a chosen number of seconds before it goes. You pick the number, five up to sixty, and she will not warn you earlier than a fifth of the buff's own length, so a ten second buff does not get a sixty second warning. We recorded four hundred and thirty-six lines of the Oracle informing you that your magic is wearing off. She is off by default. I understand completely.

Here is one that has been insulting a whole school of players for a very long time. The Ancient Undead, and the Guard Drones down in Despair in particular, could not be stunned. Not at a reduced chance. Never at all. You could hit a drone with Body Slam, a move whose entire purpose in life is to put a thing on the floor, and it would stand there and look at you.

That is because it had the resistance twice. Ancient Undead carry a specific resistance to being stunned and a general resistance to crowd control, and the game was helpfully adding the two together, which pushed them past the point where anything could land. It is one check now, and it takes the higher of the two instead of the sum. Stuns, knockbacks and knockdowns land on Ancient Undead at about three tenths of their usual chance, which is to say they are extremely tough and no longer immortal on their feet. Frost giants can now be stunned as well. And if you stack Hard Headed with Bolster Balance, you get the better of the two, which is the honest answer, even if it is a little less than the sum you were quietly enjoying.

While we were down there we did the rest of Despair, and Myrkur with it. The treasure room at the end now has a resurrection ankh in it. If you died in that room after the lich fight reset, the prison doors were shut, you were a ghost, and there was nothing in there to bring you back. People have been stranded in that room. Now there is an ankh, and it puts you back on your feet beside the ankh past the green barrier.

The loot down there was wrong in a way I find faintly embarrassing. The elves beside the dragon room and in the last cave, at the very end of one of the hardest places in this game, were rolling loot tables from areas you would visit on your second afternoon. They roll the proper high tier elf and artifact tables now, in Myrkur too. The Ancient Undead fighters, guards and Sherden each drop two pieces of Acara's Defiance plate, and the chest in the treasure room has a table of its own with Epic and Rare Acara pieces, which is what a room called the treasure room ought to contain.

One more from that corner. A lich rises from the dead once, which is correct, that is what a lich is for. But a friendly mage casting a raise nearby at the wrong moment could hand a lich that had only just stood up a second free rise, or stand one back up after its death had already paid out its experience.

So the lich died, you got paid, the lich got up, you killed it again, and you got paid again. Self-raising zombies had the same habit. Every creature in the game now pays for its death exactly once. A player reported that one through the in-game Oracle instead of farming it for a month, which says something rather nice about this community.

Now something that is mostly plumbing and matters to you anyway, because it is about what lands on your machine. For years there has been one Windows client, and it carried everything: the game, plus the tools our staff use to run the world, plus the tools our testers use to break it. That was fine while the only people playing were us. With the move to the new servers on the first of October it is not fine. So yesterday the release pipeline learned to build two clients out of a single run, a player client and a separate staff client for us. The player client does not contain the game master windows or the tester tools at all. Their chat commands are treated like any other word the game does not recognize, and the help listing leaves them out.

Everything downstream learned about it too. The deploy step sets the staff client aside before it reads anything, sends only the player client to the player download channels, and refuses outright to publish a build with staff tools still inside it. The store upload turns the staff client away on every platform. And the commit checks now compile the whole game a second time as the player client, so a change that only builds with the staff tools present is caught the day it is written rather than on release night.

And then the gate we built to protect the launch refused to let us ship anything at all. The rule switched on the moment its own code went in, and the rule says a staff flavored build may not go to a player channel. Quite right. Except the test shard was itself running a staff build at the time, so every build in existence was suddenly refused, and the promote button simply said no, permanently. It arms one channel at a time now, the first time a real player build arrives there, and the builds page shows you the verdict before you press the button rather than afterward.

The other one in that family is a lesson learned the hard way. A profiler build made from the very newest code logged into the test shard while the shard was still running the previous night's build. Somebody had added a new character stat that day, which shifted how player state is laid out on the wire, so that client and every player standing near it read each other as gibberish. It was shut down quickly. That job now refuses to build code whose network layout differs from what the shard is actually running.

Which brings me to my favorite sort of work. We have been chasing a stutter, and rather than guess, the team took the frame telemetry from the newest test build and compared it minute by minute against several older ones, matched on the same player, the same graphics card, the same scene and the same quality setting. Frame to frame variation was up by about a third, processor time was up a little, and graphics time had actually gone down, which pointed at the processor rather than the renderer. It also showed that one apparent cluster of long freezes was a single idle client parked in a castle, which is the sort of thing you only ever learn by looking.

Then they went and stood in the worst place we know about, the square at Etceter, at night, in heavy rain, at around thirty frames a second. And what they found, over and over, was the game working extraordinarily hard to accomplish nothing whatsoever.

The compass was re-sorting a marker for every housing lot in town, ten times a second, whether or not that marker was anywhere near the strip you can see. Every interface window was reading a one time appearance setting off the disk, fifty-six times a frame. Every townsperson, while glancing around itself, was converting object labels out of text, fourteen hundred times a frame. The whole post-processing look of the game was being rebuilt every frame because one brightness setting was being re-sent every frame. Every villager's stack of floating damage numbers was being repositioned every frame with no numbers in it. And an old interface camera left over from the interface rewrite was rendering an empty layer, half a millisecond a frame, in every town.

The other half of it was thinking. Fifty townsfolk in that square were re-deciding what to do thirteen times a frame, most of them on the far side of the square from the only player present. Creatures out of a fight now think four times a second instead of eight, and once a second when there is no player within about forty-five meters. Anything in a fight keeps its full speed, and so do your pets, your summons and your companions, since those are the ones whose hesitation you would notice.

In that spot, in that rain, the middle frame went from just under thirty-three milliseconds down to twenty-six and a half. The worst one percent of frames, the ones you feel as a lurch, went from nearly forty-six milliseconds to under thirty-four. Nothing else about the scene changed.

Three smaller things about how you look. Since the tenth of August, most of the hair in this game has been wearing a ghost. Hair is drawn as two layers over the same strands, a solid one and a softer see-through one, and the see-through layer was losing your chosen color every time the camera faded or dithered or caught the light, falling back to a pale blonde, so grey and black hair carried a faint blonde halo. Eye color had the identical fault. The two layers had also been fighting over which of them you could see, which made hair flicker at a distance. Both are fixed, and the soft layer has stopped casting solid rectangular shadows, which is a sentence I am pleased to say in the past tense.

Then vendors. The search across all zones had been missing enormous quantities of stock, because items moved around in the game files were losing their category on the way. Almost seven thousand listings out of nearly two hundred and eighty-four thousand had no category at all: about forty of two hundred and ten basement deeds showed up, and a hunt for a Ring of the Sun missed close to three hundred. They are all filed properly now. The stat filters were wrong in both directions as well, counting enchantments about seven times over, so a piece with three strength satisfied a minimum of ten. And underneath that sat something worse. The part of the game that reads numbers out of text could not cope with ten or more decimal places, and would report a small number as a much larger one, or occasionally as a negative. That reader sits beneath nearly every message the client and the servers pass to each other.

Two things about who your character is. Our staff can now mark the account of a player who has died as a memorial. While it is marked, that player's lots in player-owned towns stop lapsing for inactivity or unpaid tax, their decorating permissions stay exactly as they left them, and the sign on the lot reads "In memory of" its owner in place of "Claimed by". It came off the player wishlist, and I am glad somebody asked for it. Lighter, on the same theme: every character made before the first of October now carries the title Old World, and every one made after it carries Child of Chaos. It follows the character rather than the account, so your old main and your launch day alt will wear different ones.

Two about getting on with your evening. There are Crown Exchange clerks in three banks now, in Central Brittany, Ardoris and Aerie, so buying crowns with gold has a front door. Each has his own name and his own conversation built out of his town's usual topics, all three sell from the same shelf of hundred crown bundles, and the gold you hand over is destroyed rather than going into anybody's pocket. And you can talk to people from horseback. Click a townsperson or press interact while mounted and the conversation opens, keywords work, shops and banks open as usual, and you stay in the saddle throughout. A character a player has placed on their own lot with a written story will still ask you to get down first, which strikes me as fair of them.

And for the people who write add-ons, this was an absurd day. The toolkit went up five versions between morning and night. Packages can carry their own sound files, and a package can be six times larger to fit them in. An add-on can replace our buff bar outright, hide ours, sit where ours sat and dismiss a buff when you click it. Add-ons can be told the result of every craft, refine and salvage and every node you harvest, and they can list your friends and your guild with who is online and what rank each holds, while where anybody is stays private. And combat events now carry which rune landed the hit, the damage type, whether it was a damage over time tick, how much healing was wasted, and a separate number per creature, so three wolves with the same name stay three distinct wolves. Damage meters no longer have to read the chat log like a detective.

The rest went down in a heap. Eighty-eight tracker issues closed yesterday, and I am not going to read you all of them.

A cluster of them were sounds. The gathering swing meter went mute after your first zone change, because the guard that stops a sound repeating was measuring time on a clock that restarts in every new scene. The Oracle's own machine hum stayed at full volume during conversations while the rest of her temple ducked politely. Add-on sounds ignored your volume sliders entirely, and on Mac and Linux they did not load at all. And Immolation ticks could still pop out of your speakers with the master volume at zero, which I am told is a memorable way to test a room full of practice dummies.

A cluster were maps and places. The map stops zooming out once the whole map fits the window, instead of shrinking to a small square inside a large empty frame. The town list stopped advertising a town that no longer exists, along with twenty-six placeholder rows that were never towns at all. The keep entrance at Castle Atos is now called the keep entrance, and no longer counts as discovered from the floor of the aquarium inside the throne room. And the New Player Handbook in three of the outskirts had been floating in mid air, because the stone plinth it is meant to rest upon had been placed a hundred and ninety meters away.

Book and plinth have been reunited.

Then a long tail. Combat cards are called runes everywhere now, from the deck builder to the handbooks to the mouths of the tutors, because we had been using two names for one thing for years. Log search moved onto a machine of its own, about seven and a half million entries carried across with every day's count matching, and while checking that, somebody noticed the nightly combat balance report had not worked since the twenty-eighth of August because one damage figure was being stored as text. All eight translated languages caught up with this week's English, and along the way we found that ninety-eight lines of French and twenty-one of Portuguese had been describing pets with the word for petting an animal, and that Spanish had renamed the blacksmith Pip into a small nugget of gold. Decorating has optional guides on a key press, dungeon owners can publish again after clearing their own dungeon, four planks in a mine walkway that stopped short of one another now meet, and Fiona FitzOwen has learned six new songs from sheet music in offline play. Dragon totems now work in one more dungeon room, requested by Wishdragon, where a dragon totem calls up a dragon and a troll totem still calls up trolls. And the What's New page has two new sorts, most up votes and least wanted by players, requested by Barugon.

That is Sunday. What I am looking forward to is the first of October, and watching a few thousand grey maps begin filling in from the inside. Thank you for playing this thing with us.

I asked whoever drew two hundred and ninety-seven charts in a single day how they were holding up. Not to worry, they said. They were plotting something. Good night, citizens, and take care of each other out there.