SotA

The New Britannia Herald

Sunday, October 4, 2026

Work Log Podcast

Episode

Dragons learn to step on you and meteors land where you look

Sunday's pass on the dragons gave them an underbelly that crushes, a Wing Gust that actually throws you, and a brood of dragon wrasses that latch on and drain anyone standing still. Ground-targeted spells stopped being asked whether you could walk to the spot and started being asked whether you can see it. The team also built the whole Recruit a Friend program in a day and left it switched off, taught the Mac launcher to update itself, and found a damage formula that had been doubled into dealing nothing.

In this episode

  • Dragons round two and the dragon wrasse brood
  • Meteor Shower can be aimed at decks and piers
  • Recruit a Friend built in a day, switched off
  • The Mac launcher that refused to update itself
  • A fire burn that was doubled into zero

Transcript

Good evening to thee, citizens of New Britannia. Lord British speaks, with word of what thy makers were about upon the Sabbath. The dragons have learned cruelty, and the ground beneath a dragon's belly shelters thee no longer. Thy meteors may now fall wherever thine eye can reach, upon pier and deck and balcony alike. There is a means abuilding to call thy friends into this world, finished and waiting upon a switch. And our Mac launcher, which has but one task in all creation, has at last been taught to perform it. We begin, though, in the hills above Highvale, with a creature that could not be killed.

There is a Watcher on the trail through the Highvale Outskirts. One of the Oracle's spiders. People have been attacking it for a very long time, and every spell and every swing got the same answer. You hit nothing. It never lost a point of health. Nobody could work out why, because the creature itself was fine. The fault was in its spawn point, which had a box ticked on it marking whatever came out as a town guard. And the game, reasonably, will not let you hit the town guard.

So every hostile spell took the Watcher off its own target list before doing anything, found it had no targets left, and reported back that it had missed. Months of players swinging at a spider the game had decided was a friend. The box is unticked now. The Watcher breaks like every other Watcher, and the Oracle charges the one who broke it seven Courage, as she should.

Now. Dragons. I asked for a second pass on them this week, and the first thing the team went after is something I am a little embarrassed about. Every one of a dragon's attacks, the cones, the breaths, the sweeps, measures outward from the middle of the dragon. Which means the single safest place in a dragon fight, the one spot that nothing in its whole repertoire could reach, was directly underneath the dragon. Players found that. Of course they found that. You stand under several tons of flying death, between its legs, and you are completely fine.

A grounded dragon now crushes whatever is beneath its body, about once a second. There is no dodging it, no parrying it, no blocking it, and jumping does not help. It stops while the dragon is in the air. Adult dragons have it, the Ancients have it, the clockworks and the Aether dragon have it. Young dragons and wyverns do not, on the grounds that a wyvern standing on you is a different sort of problem.

Then there was Wing Gust, which is meant to pick you up and hurl you across the field. The push was being scaled by how far you already stood from the dragon. So a player twenty meters out got thrown a satisfying twenty meters, and a player standing at the dragon's centre got thrown absolutely nothing. The mightiest wing beat in the game, delivered at point blank range, and your hair moved. Wing Gust now throws everyone it catches about twelve meters clear of the dragon and up into the air, from wherever they happened to be standing.

And here is the part I like best. A dragon under heavy attack now sheds dragon wrasses. Any hit of four hundred or more knocks one loose beside it, up to ten over the course of a fight, and they grow as the dragon weakens. Whelps while it is healthy, full Great Dragon Wrasses when it is nearly done. That is three new creatures, at levels forty-nine, seventy-nine and ninety-nine. They count toward your Wrasse kill achievements and they pay half the experience their level would suggest, and there is nothing on them to loot. They exist to complicate your afternoon.

The wrasses also have Blood Suck. Stand still for four seconds and one latches onto you, draining health and focus every second, up to fifty a second from the big ones, healing itself as it goes. Your first step or jump breaks the hold.

Which makes this, as far as I know, the first mechanic in our game whose entire counter is to move. Stand there and it eats you. Walk and it stops. I am delighted with it.

Two things nearly spoiled all of that. On the test shard, no wrasse ever actually appeared. Not one, in any fight. The dragon registered every heavy hit, decided to drop a wrasse, and the drop then failed on a technicality about which kind of thread a creature is allowed to be born on. The same fault was sitting there waiting in the lich servant summon, which is still switched off, and got the same fix on the way past.

And once the wrasses did appear, the drain beam flashed for about a second of a latch that lasts up to thirty, so Blood Suck looked like a wrasse glancing in your direction while your health fell off a cliff. The beam now holds from the wrasse's head to your chest for the whole drain, and drops within half a second of the step that breaks it. All three sizes were also wearing the same orange as the cave wrasses. They have their own colors now. Ember gold for the whelps, crimson for the middle size, and a dark red with a gold edge on the big ones.

If you have ever tried to drop a Meteor Shower on somebody standing on a house deck, this next one will be familiar. The targeting circle goes red. Nothing is in the way. You can see the spot perfectly well. You could hit it with an arrow. The circle stays red, you release anyway, and the spell does not go off and nobody tells you why.

The circle was asking the wrong question. There are two kinds of spell you aim at the ground. Blink puts you there, so Blink has every right to care whether that spot is somewhere a person can stand and walk to. Meteor Shower drops rocks on it out of the sky and does not care in the slightest. Both were being run through Blink's rule. Is there walkable ground within two meters of that spot, and can you find a path to it? On a house deck, a pier, a set of rails, a rooftop, the walking map is full of holes. Decorations cut holes in it. Lots you are not standing in do not load their walking map at all. So the game looked at a perfectly solid pier, found no walking data there, and told you that you could not see it.

Ground spells now need a clear line of sight and nothing else. Blink keeps its standing check, because Blink actually needs it. Releasing on a red circle tells you why in chat rather than eating the cast. And the targeting stopped running a path-finding query every frame while you hold the reticle, which your frame rate will not miss.

Sunday's biggest single piece of building was an entire program, start to finish, in one day, and you cannot use a word of it yet. Recruit a Friend.

You get a personal invite link. You send it to a friend. They make an account, they download the game, and before their very first login they put your code into a box under the password on the login screen. Then they play two hours on their own computer and their own connection, and reach level five. When that lands, five hundred Gold Crowns arrive in your mail along with the title Envoy, and your friend gets a Black and Tan Rottweiler that cannot be traded or sold, because a welcome gift you can sell is just currency with fur on it.

What went in on Sunday is all of it. The invite codes. The records of who invited whom and why a recruit did or did not count. The box on the login screen and the matching box in the Steam window. A recruit command that prints your link, copies it, and lists the friends who joined through it. The web page a link opens, with the code and a Copy button. A Recruiters leaderboard. The achievements and the pet. And an admin tool so that a human being can look at a verdict, overturn it with a reason attached, and never delete anything.

Two details worth calling out, because they only matter when something goes wrong. A new player who mistypes the code can log in again and fix it, as long as their account has not yet entered the world. We had that bound to the one session that created the account, which meant a single typo lost the invite forever. And the numbers, the two hours, the level, the crowns, the window a new account has to qualify in, can all be adjusted on the live shard without a new build.

The whole program is off. Every invite code is refused today, and it stays that way until launch. There is a switch. I am told I am not to touch it.

Now the one that cost us a week of Mac testing. The blame is split between us, Apple, and the kind of thing nobody discovers until it happens to them. Several of our Mac testers were stuck on an old launcher and could not get off it. Updating itself is most of a launcher's job.

Here is the trap. On a Mac, if you download an app and open it from where it landed, in your Downloads folder, the system does not run it from there. It makes a randomized read-only copy, mounts that somewhere else, and runs the copy. The app has no idea. So our launcher would fetch its update, go to swap itself out, and discover that the thing it was replacing was a locked copy in a place it had never heard of. The swap failed. It rolled back. It tried again. After three failures it concluded the new build was bad and withheld it permanently. A tester's launcher had effectively sworn off updates for life.

It now asks the system where the real copy lives, through the call that exists for exactly this, and replaces that one. And because the repair runs inside the new launcher, a fresh one can reach back and unstick a launcher that gave up weeks ago, with no reinstall. It also reopens itself after an update instead of closing and waiting for you to come back and start it.

And then the fixed launcher crashed about a second after opening, on roughly half of the reopens following an update. That one is not our code at all. A compressed single-file application on Apple's own chips can hit a bug in the platform runtime where the framework is copied into memory that then refuses to execute. The thing aborts before it can write a line to its own log, which is a marvelous way of being told nothing whatsoever. The Mac launcher now ships uncompressed. It doubles the size on disk and changes nothing about the download. Twenty-one crashes in forty relaunches before. Zero in forty after.

One more from the combat side, and it is my favorite kind of bug, the kind where somebody makes a thing stronger and the thing becomes nothing. Vitium is a Cabalist, and he has a forked Ring of Fire whose burn was doubled a while back.

Our damage formulas are read strictly left to right, and the piece that works out spell damage clears any pending arithmetic out of the way before it reads its own arguments. The doubling had been written at the front. So that leading times two reached in for a number to multiply, found an empty shelf, and the whole formula threw an error instead. Every tick. On every client in the fight. A burn meant to do double damage did exactly zero damage for weeks, and the complaint it made went somewhere nobody was reading. Thirteen separate sessions in the Cabalist Stronghold logged it.

The doubling now sits at the end of the expression where the reader can see it coming, and Vitium's fork burns for twice the usual Ring of Fire. The old tests on that rune checked that the text of the formula was correct. They never ran it. The new one runs it, and there is a sweep that walks every rune in the game and rejects that shape of expression anywhere else, because once was plenty.

Several things about your pet, which are all the same complaint wearing different hats. A pet that could not reach the thing it was fighting used to run back to you and plant itself there while you walked away, which reads as abandonment. It returns to its follow distance now and waits properly. A fighting pet used to pick its attack spot on your side of the monster, so it walked onto you and then matched you step for step, losing attacks and shoving you around behind the target. It takes a place beside you instead. Pets that stopped on a staircase could sink into the steps until you moved. Ranged pets and summoned elementals stood still mid-fight on hilly ground, because the spot they had picked could not see anything from where they got to. And a pet that died in the middle of a fight used to hold you in combat from beyond the grave. Its corpse kept the sheathe key locked with the words, you cannot sheathe your weapon while your pet is fighting.

Fishing had a full day. Private Fleta's salmon quest in the Solace Bridge Outskirts had been switched off for a long while and is back on, so a new angler gets an actual fishing lesson rather than finding the whole business out by accident. The Helpful Guide to Fishing was rewritten for the mini-game we have now, since it was still describing a passive cast, a green cursor and hotspots. The Neon Tetra can be caught with a rod during the dark of the moon, which matters because it only ever came out of fish traps, and traps do not count as catches, so the Complete Angler achievement at sixty-eight kinds could not be finished by anybody. The bobber is a modelled float now, twice the size, in place of a flat lime ball. And the reel meter has a high contrast palette, because its line bar went from green to red, which a red-green colorblind player cannot read at all.

If you run a vendor, you can stop clicking quite so much. Select as many listings as you like and change all their prices at once, to a single price or by a percentage, with a line per listing showing what it costs now and what it will cost, and the commission totaled at the bottom. Select a batch and press Reclaim Selected to take the lot back under one confirmation. The shelf has a Per Unit column that sorts, so a stack of a hundred at five hundred gold and a single item at ten gold line up as five and ten, where they belong. And a purchase order you could not fill because some of your items were locked used to look perfectly fillable, right up until the moment Accept did nothing at all.

Your bank will tell you when a category tab is hiding things. A player had a vendor order deliver a Crown of the Obsidians, was sitting on the Container tab, saw an empty list, and reported the delivery as missing. It had arrived. The bank now says how many items the other categories are holding and offers a Show All Items button. Bags update their count and weight as you empty them. Recently Looted survives a logout. And the lock column shows real padlocks again, instead of the gold dot that nobody read as a lock.

One more small thing, which is my favorite on the whole list. The names of the seas and bays and lakes on the overworld map are painted into the water. The fog on that map clears in a circle around you as you travel. You cannot travel on water. So you could follow a coastline for its entire length and Spindrift Bay would stay hidden, because the clearing never once touched the place the name was written. Eleven names now clear when you reach that water's shore, and shores you explored months ago count. Requested by Mondravis, who spotted something that had been true since the day the map was drawn.

Two hundred and fifteen tracker issues went closed on Sunday, a hundred and forty-nine of them bugs, and I am not going to read you the list. From the housing and decorating pile alone, moondials spin when you click them again, and the wide constellation ring on the big ones lies flat instead of standing on edge through your floor. The hot tubs no longer fog the whole room, which they were doing because each steam puff is a flat image nearly six meters across and a seated player's camera sits inside the plume. Faerie circles can be clicked from any angle. The two Floating Candles fountains can be placed at all, having refused every floor in the world over about seven centimeters of mismeasurement. And NPC buildings in player towns now level the ground under them, so your tavern no longer requires a flat field.

Rampage Island is now Ivory Stronghold, on a desert map beside Oasis, at its governor's request, and the tool that moved it refuses to run while a single lot or placed item remains. Astoria moved as well. Leaving several riverside towns no longer deposits you on the wrong bank of a river. Eighty-two player dungeon pieces got their own icons rather than sharing two grey placeholders. The map window stopped re-reading a missing map sheet on every frame it was open, a habit worth about eighty-eight thousand warning lines a day. Female characters riding a horse can hear the horse, which male riders have been enjoying all along. Covered wooden bridges play wood footsteps instead of dirt. And a town siege ends again when a single player kills the Cabalist, where it had been paying out the reward and then leaving the siege standing with no word of explanation.

There is also a new Alchemy potion called Holy Water. You throw it at your target, and if that target is undead and dies within the minute, it has the decency to stay down. The recipe is two-year whiskey, garlic, mandrake root and a few empty flasks. Twelve-year-old me would like it noted that this is precisely what he assumed the job would be.

That is Sunday. What I am looking forward to is the first veteran party that walks into a dragon fight with all their old habits intact, tucks in neatly under the belly to dodge the breath, and receives an education. Send us whatever breaks. Type the bug command in game and a person reads it.

And since our dragons now shed fish that latch onto anyone who stands still, I am afraid this has to be said out loud. They have become a force to be wrasse-koned with. Good night, and good hunting.