Episode
The black bar, the white text, and Graff Island's missing sea
Monday was a day of embarrassing bugs found and fixed. All the text in a session could turn plain white because one small window asked what colour it should be a moment too early, a black band across the screen was hiding the way into every zone, and every weapon in the game had been printing a damage range twice as wide as the one it rolls. Zone maps also learned to draw the sea again, five deep dive proposal pages went public, and the top right corner of your screen finally works.
In this episode
- Font settings could fail for a whole session
- The black bar that ate the Enter Area button
- Every weapon lied about its damage range
- The No Ransom tag on nearly every location
- Zone maps draw the sea instead of the seabed
Transcript
Good evening to thee, citizens of New Britannia. Lord British here, with an account of what your makers were about on Monday. The text of the entire game could turn plain white because one small window asked a question half a heartbeat too early. A black bar sat across your view and swallowed the door into every zone. Every weapon in Britannia has been telling you a lie about its own damage, and we have made it stop. The sea is back around Graff Island. And near enough every place in the world carried a warning that meant nothing at all. Come along. We begin, as one does, in an argument with a wolf.
A tester is in a fight. It is not a hard fight. It is a wolf. The wolf is upright, healthy, and taking a keen interest in the proceedings. Our tester presses the number key that has fired the same attack for years, and their character calmly produces a skinning knife and begins preparing the animal for market. The animal, being alive, has opinions about this.
Two rows of buttons, one set of number keys. The combat bar and the utility bar each worked out for themselves whether you were fighting, and they asked different questions to do it. Around the start and the end of every fight they disagreed for about a tenth of a second, so a key could fire both rows at once, or neither, or the wrong one entirely. They now read one shared answer. The combat bar owns the plain numbers whenever it is on your screen, the utility row has them otherwise, and Shift always reaches the utility slots. While we were in there we also found the combat glyphs being drawn at the same size as the utility icons instead of their designed size, so your fighting hand had been about fifteen percent too small for weeks.
Now. The best bug of the day, and I say that with real affection, because it is the sort of thing that only happens to people who have been building software for a very long time.
Some of you have had sessions where all the text in the game went plain white. Not just the odd label. Every place a font or a colour was meant to be chosen, wrong, for the whole session, until you quit and came back. Here is what was happening. The font and colour settings were loaded once, right at the beginning, by a piece of code that runs before almost anything else. On its way to loading them it asks the engine a simple question: is the game actually running right now? And the engine, for its own reasons, refuses to answer that question while a piece of the game is still in the middle of being built.
So if the first thing in the entire session to want a font happened to be something loading at that exact moment, the load failed. And here is the part I find beautiful and horrifying in equal measure. When a load of that particular kind fails, the runtime writes it down and remembers it for as long as the program is alive. It never tries again. Every font and every colour lookup for the rest of your evening failed too, and all the text in the world fell back to plain white.
And the thing that set it off? The loot roll window. The little need or greed box that pops up when a party splits its takings. It wanted to know what colour its countdown timer should be, and it asked while it was still being assembled, and the game said "very well, everything is white then" and stood by that for hours. The settings are now loaded the first time something actually asks for them, and an attempt that arrives too early is simply tried again on the next request. There is a new test that fails if anything anywhere reaches for a font that early again. And thirteen checks in our own test suite that had been red for weeks, which we had been cheerfully blaming on all sorts of innocent parties, went back to passing the moment this was fixed.
The black bar. Many of you reported the black bar. A wide dark band straight across the middle of your screen, with a grey edge, and it would not go away, and it was there in towns and in dungeons where there is no map at all, which is why the report I read came from inside a dungeon.
That band was the overworld tile readout. It is the little plate that tells you what is under your marker on the world map and offers you the way in. In the interface rebuild it was built with its own backing plate stretched from one edge of the screen to the other. The plate paints a dark backing and a bracket frame, so a plate the width of your monitor paints a dark bar the width of your monitor. Nothing ever hid it, and it lives on the shared game interface, so it travelled everywhere with you.
And it had eaten the Enter Area button. By two independent methods at once, which I think shows real commitment. The button's caption never made it across in the conversion, which left it a sliver of frame art too small to see. And because that full width plate had to stay clickable in order to hold the button at all, resting your pointer anywhere in the band told the game your pointer was over the interface, and the keyboard route into a tile checks exactly that before it fires. So you could not click your way into a zone, and you could not press your way in either. The plate now sizes itself to its contents and hides entirely when there is nothing under your marker to enter. Clicking works. The shortcut works. And I would like it noted for the record that we had accidentally built a very expensive letterbox.
Now I owe you an apology about weapons. Every weapon in this game has been advertising a damage range twice as wide as the one it actually rolls. All of them, from the humblest club to the finest sword.
The tooltip you read and the code that rolls your swing carried two entirely separate sets of numbers, and nobody had ever put the two side by side. The tooltip printed a spread of half to one and a half times the weapon's base damage. The combat code rolls three quarters to one and a quarter of the maximum. So a Longsword told you it hits for five to sixteen, when what it really rolls is eight point two five to thirteen point seven five.
Nothing is weaker today. I want to be very clear about that, because a number going down on your character screen is a horrible feeling, and this number is going down on every weapon you own. Your sword never rolled sixteen. It also never rolled five, which I hope is some comfort on a cold night. The label was the thing that was wrong, and the label is now right. Both sides read one shared pair of numbers, and a test fails loudly if either side ever grows its own private copy again. The parry range printed on that same tooltip had inherited the same bad spread, and it is corrected along with it.
Here is one that has been quietly insulting your intelligence for a very long time. Every location banner in the game, the line that names the place as you arrive, has been ending with the tag "No Ransom". A player reported it from The Breach, which greeted them with "Tier Fifteen Plus Adventuring Area, No Ransom".
Ransom is switched off across the entire world at the moment. So that tag was appearing on eight hundred and sixty seven of the eight hundred and sixty eight known locations in Britannia. That is not information. That is a warning label on nearly every door in the kingdom reading "this door will probably not bite you". The banner now carries the opposite tag, so a place where your goods really are at risk will say so. Nowhere qualifies today, so the tag is simply gone from your screen, and if that switch is ever thrown it will light up on exactly the places that can take your things.
The second half of this one is stranger, and I think it is the better story. There is a tool we use to set that ransom property on a location. The field in it read the value the code had already overridden, and then wrote that overridden value straight back into the record. Opening a location's entry to look at it was enough to change what it said. Roughly half our catalogue of places has been rewritten this way over the years, by people doing nothing more aggressive than looking at it. The field now shows what was actually set and leaves it there. Observing the world no longer changes the world. I am given to understand that in physics this remains an open matter.
The maps. This one is my favourite, because it is about the shape of the world.
Zone maps had stopped drawing water where the water is. Graff Island was drawn as though the sea around it were a dry field, with its docks lost somewhere in that field. East Vauban Foothills showed its castle sitting at the bottom of an empty basin, which is a fine and moody image, and entirely wrong, because there is a lake on top of it.
The reason is rather lovely. Our seas and our great lakes are not built once and left sitting there. They are assembled while the game runs. The tool that photographs a scene to make its map works on the scene standing still, so when it went looking for the sea there was nothing there to photograph, and it obligingly drew the bed underneath instead. Maps are now painted from the same waterline the running game uses. We render the scene again with everything below that waterline cut away, and wherever that leaves nothing behind, no land reaches the surface and the map is drawn as water. Which is the same rule your own eyes use when you stand on a shore.
The same work found the fault running the other way, which is better still. Rivers and ponds are flat panels that hang out past their own banks. Drawing those whole laid great rectangles of blue across dry ground. Vauban Pass was carrying a hundred and fifty metre square of open water over its hills, left behind by a panel belonging to an entirely different zone. Water is now cut to the land it actually covers, with one exception carved out for rivers running downhill, because a river running down a hill has no single waterline, and clipping one at the top of its bounds erased ninety four percent of the river. We noticed. Graff Island, East Vauban Foothills and Vauban Pass have all been recaptured and shipped, and the capture camera also stopped culling whole buildings out of the picture, which is where the docks went, and very probably where those missing roofs went too.
Three more things worth your evening. Books and notes could not be read at all. Their text is authored in dark ink because the old window printed it onto a page texture, and the rebuild kept the ink and lost the page, so every book in the game was black words on a near black panel. The words were all there. You simply could not see a single one of them. The page is back, and it is a theme colour, so each of the four interface looks gets its own paper.
Five deep dive pages went up in one morning: Fire, Life, Earth and Death magic, and one on the tools of home decorating. Every proposal on them carries a comment thread and vote arrows, and I would very much like you to use both. What delights me is what the audits under those pages turned up in our own files. A complete fourth undead summon, a Skeleton Mage, authored years ago and invisible ever since because one field says it belongs to no school at all. Every summoned elemental levelling off the water specialization by copy and paste. The Root spell carrying a leftover mount effect that shrinks its target and throws riders out of the saddle. Seventeen real defects filed the same day, all of them found by going looking for ideas.
And shopping improved twice over. The Crown Shop moved onto the new interface, and its nine items a page became a shelf that scrolls and loads its art as the art comes into view, so a category of three hundred offers is one drag of a scrollbar instead of thirty four clicks. Vendor search learned to answer how much rather than merely whether: chest armour with Strength of at least ten, sorted by that stat. The list of stats you can filter on grew from forty entries to about seventy five, so crafting, mining, fishing and taming gear can be searched for the first time.
The lightning round. The top right corner of your screen had a bad week and then a very good day. Its icons were blank, its social and Player Guide buttons did nothing whatsoever when clicked, it was showing two Rewards buttons of which one opened nothing at all, and with auto hide switched on it would vanish once and never come back. All of it works now, which means the corner is once again a place rather than a rumour.
After that came a long line of small indignities, all of them fixed. Windows that refused to stack in the order you dragged them, including a teleport list that opened behind the very backpack you opened it from. Right click menus that appeared and then tore themselves down two frames later. An emote bar with nothing to grab hold of but a three pixel border. Direction keys that went into the backpack search box while you were placing a property marker. Help buttons restored on six windows, along with the one time reminders that point at them. Ward skills that had every one of them been wearing another school's artwork, so Air Warding, which protects you from air, wore the Earth icon and looked exactly like the skill above it. And four Death Magic bonuses that read a hundred percent on your character sheet when you had no gear granting them whatsoever.
Underneath all of that sat the unglamorous work. Every window that has moved to the new interface had been drawing its lists twice, once for you and once as a complete invisible copy in the old system, rebuilt on every refresh. A list of twenty eight rows carried about a hundred and seventy hidden pieces, and now carries thirteen. The test suite went fully green for the first time in weeks, over four thousand checks with nothing red. The test shard has off site backups at last, and they are proven every night by starting the copy up as a working database and counting what is inside it. And we finished a full study of how this game teaches a new player, measured against thirteen other games, which found that about a third of what a newcomer needs is taught nowhere at all. That one will take us a while.
That is Monday. A hundred and twenty commits, thirty six tracker issues closed, and a great many of those came from you: reported, argued over, and in several cases reproduced more carefully than we managed ourselves. Thank you. I am looking forward to the recaptured maps reaching your hands, and to the login screens, which are now very nearly the last thing standing between us and the end of this whole interface migration.
And spare a thought for our poor mapping tool, which spent all those months drawing the ocean as a meadow. In its defence, it just could not sea it. Good night, my friends.