Episode
Pets stop bleeding, house lots sell again, and four fixes come back out
Monday's biggest repair was undoing Saturday's. A change that stopped pets healing themselves collided with pet data that had been doing the same job for years, and wounded pets began draining health while standing perfectly still. A player read the changelog and caught four of Sunday's fixes as wrong, all four came back out, and the lot sale feature was put right end to end after its first day with testers.
In this episode
- Pets losing health while standing still
- Four of Sunday's fixes were wrong and came back out
- Buying and selling house lots works end to end
- Hidden players stop being pointed at by every NPC
- Combat numbers that did not match the tooltips
Transcript
Good evening to thee, citizens of New Britannia. Lord British, come with word of what thy makers were about upon Monday. Thy tamed beasts no longer bleed away while standing perfectly still in a quiet field. Four of Sunday's repairs proved to be no repairs at all, and a keen-eyed player caught every one. The buying and selling of house lots works from one end to the other again. And a rogue who has gone unseen is no longer hailed by name across the square. We begin with the beasts, because that one is my fault, or near enough.
So. Picture a tamed bear. Standing in a field. Nothing attacking it. Nothing near it. And it is losing about a tenth of its health every five seconds. Just standing there, quietly running out. If you walked away and made a cup of tea, you would come back to a very sad bear. This started on Saturday, and it started because we fixed something. Two days earlier we had decided pets should stop healing themselves, so that a wound meant something and you had to tend to it. That was the intent. What we shipped was a bear on a slow timer.
Here is what happened, and it is the oldest trap in this business. Wild creatures in our world come with a small baseline of self-healing built into them. Tamed pets are wild creatures with a lot of extra data stapled on, and one line of that extra data has been sitting there for years doing exactly one job. It subtracts that baseline back out. Nobody remembered it was there. So on Saturday we went into the code and set the pet's self-healing to zero, feeling rather pleased with ourselves, and then the data woke up and subtracted the baseline from zero. Which gives you a negative number. And a negative rate of healing is a rate of bleeding.
The arithmetic is the funny part. The subtraction was written to cancel out a number that was no longer there, so it just kept going, straight down through the floor. Your bear was not sick. Your bear was not poisoned. Your bear was the victim of a double negative.
And it gets slightly worse before it gets better, because that same line of shared data also feeds the undead you summon. Skeletons and liches are meant to decay. They are meant to fall apart while they are out. That is the bargain. But they were carrying the decay term plus the leftover constant on top of it, so they had been fading roughly three times faster than intended. Anyone who has raised a skeleton lately and wondered why it dissolved so eagerly, that was not your imagination.
All of it now lives in one place. The code owns the number, the data holds no opinion about it, and every one of the one hundred and sixty-seven tamed pet types ends up on the same setting. A wounded pet holds its health exactly where it is until you heal it. Undead summons decay at the old speed. Everything else you summon does not lose health at all. And if the designers later decide pets should get a small trickle back, there is now one dial to turn rather than an asset to go edit.
Now. The other thing I promised, which is the four fixes that were not fixes. On Sunday the team ran an unattended pass over the bug queue, which is exactly what it sounds like. Reports go in, fixes come out, and every one of them gets written up in plain language on the public changelog. And a player called alliumoop, who knows the old content of this world about as well as anyone alive, sat down and read that changelog. And found four things we had broken by fixing them.
The first was a ladder. In the Serpent's Spine Mines there is a teleporter dressed up as a great steam pipe, and beside it there is a ladder that is deliberately invisible. It exists so the pipe reads as something you climb. The original report said the ladder was showing up from a distance, which was true, and our fix restored the close-range version of it so the whole thing would draw properly. So we took a ladder that was accidentally visible from far away, and made it reliably visible from everywhere. That is not a repair. That is an upgrade in the wrong direction. It is now hidden at every range, which is what it was always meant to be, and the teleporter itself works as it always did.
The second was a room full of spiders in the player dungeons. The report said the spider room never gave out its dungeon blueprints. We looked, and found that spiders leave no body, and the reward was set to come out of a body, so it had nowhere to land. Very satisfying diagnosis. We gave the big spiders a corpse. Wrong on two counts. Dungeon blueprints are meant to be the reward for going out and adventuring in the wider world, so a player dungeon should not be handing them out at all. And no creature in this game should be a thing you loot and then also skin. The spider room giving you nothing was the design. That fix is out entirely, and the question of whether that room should reward anything is back where it belongs, with the people who own the content.
The third one is the one that made me sit up. There is a hidden room in my castle at Brittany. The wall fades when a player performs the right song. Sunday's change made it fade for everyone standing nearby, which sounds generous and reads like a bug fix, and it walked half a courtyard of onlookers straight past a gate that has main story consequences behind it. The song is the lock. If the wall opens for anyone within earshot, there is no lock. Brittany is back to opening for the performer alone. The castle at Mistrendur keeps the group-wide fade, because that is where the actual reported bug was.
And the fourth was a map marker at Lamech's Bazaar that looked like a duplicate. Two markers, same spot, so we removed one. They were not duplicates. The town label takes you straight in at the normal tier, and the caravan wagon beside it lets you choose your tier. Two doors into the same place. Removing one took away a way to travel. Both are back. The real bug was the wagon's hover text, which was reading its task list from a stale destination and cheerfully listing quests from an entirely different continent. That is fixed properly now.
I want to be plain about why I am spending this much of the show on four mistakes. Every one of them was caught because the changelog says what actually changed, in language a player can read, rather than a version number and the word improvements. That is the whole return on writing them out. Somebody who loves this world read it and told us, and the fixes were out the same evening.
On to something that works. The lot sale feature had its first full day in front of testers, and it came back with a list. Start with the worst of it. You could not buy a lot. Clicking buy answered with a server error and threw the buyer off the shard entirely. The reason is small and stupid and I love it. Part of the game's plumbing gets regenerated when certain things are renamed, and that regeneration renumbered the message for paying for a lot. The server learned the new number. The client kept using the old one. So the buyer would say buy this lot, in a language the server no longer spoke, and the server would hang up on them.
Now here is the second problem, which is the good one. That purchase runs in two legs. The first leg reserves the listing so nobody else can grab it while your gold is moving. The second leg takes the payment. And the payment leg was the one that was failing. So the listing sat there, reserved forever, for a sale that could never complete. The owner could not cancel it. No other buyer could touch it. You could not buy the lot, but you could make it permanently unbuyable for everybody else, which is a kind of power, though not one anybody asked for. A reservation now expires after five minutes, the owner gets their cancel back, and any listing that got stuck in the old way frees itself on the next sweep.
The rest of it is presentation, and it matters more than it sounds. A lot for sale was marked with a plain stone cairn, identical to the marker on an unclaimed lot, and the asking price only appeared once you clicked through into the sign. Walking a town looking for property told you nothing. A listed lot now carries a floating For Sale label with the price on it, right over the marker, readable from the street. The sale text says plainly that the deed is included. And while a lot is listed, the options that would change what the buyer actually receives are frozen, so nobody can shake the contents out of the box after you have agreed to buy it.
Next, one that has been quietly insulting stealth players. If you go fully hidden, creatures cannot see you. The detection system has understood stealth for a while now. Two other parts of the game never got the message. The first is barking, which is the term for a townsperson calling out a line at you as you pass. The second is head tracking, which is how a merchant's head follows you around the shop. So you would slip through a market square, completely unseen, and the fishmonger would turn, track you across the flagstones like an owl, and shout a cheerful greeting at the empty air where you were standing. Every guard, merchant and stationary gossip in the place effectively pointing at you and saying, there, that patch of nothing, keep an eye on it.
Both now check whether a stealth effect is running before they react, and the fix landed in the two places every bark and every head turn already passes through, so it covers merchants, vendors, idle talkers, and the decoration pets on people's lots. The tutorial keeps its one deliberate exception for the scripted ghost.
Then there was a run of combat fixes that share a theme, which is that the numbers on your screen and the numbers the game was actually rolling had drifted apart. The most severe was in ground-aimed spells. Moon Beams, Corpse Explosion and Reveal Hidden all let you place a circle on the ground up to twenty meters away. You place it, the circle appears where you put it, and then the game would drop every target more than a few meters from you. The circle was decoration. The spell hit whatever happened to be standing next to the caster. Cast it at range and nothing happened at all.
Second, damage resistance masterworks on armor. That bonus is meant to scale with the crafter's skill and with which slot the effect landed in. One of the three places that reads it was not being handed either of those, so it evaluated both as zero and applied the smallest possible amount, every time. A masterwork from a highly skilled crafter was worth about half of what its own tooltip promised, and no amount of extra skill would ever move it.
Third, gear with a taming bonus on it. The bonus was printed on the item. It was printed on your character sheet. And the roll that decides whether the creature comes with you never looked at it. The percentage on your casting bar read the same with the jewelry as without, because it was the same.
And fourth, the projectile skills. Ice Fist, Flame Fist and Concussive Canticle throw their damage as a bolt, and a bolt takes time to arrive. But the debuff attached to each one was applying the moment you cast, before the bolt got anywhere. So a target could dodge the attack outright and still be slowed, or chilled, or knocked about by a strike that missed. The riders now wait for the bolt to land. Dodge it and nothing sticks. Take it and everything does, at the moment of impact.
There were three things about your house worth knowing. Rain was falling inside a keep-style village home, because the building has an open stair up to its roof and the rain was going straight through the steps into the rooms below. Rugs in that same building's entry hall were sinking into the floor, because the hall rises very slightly from the door inward and decorations were being placed along a flat line that ignored the rise. And four window sills in a gothic mansion were refusing decorations while the sills either side of them worked fine. All three are fixed, along with a fifteen meter stair landing in the Grand City Chateau that had been rejecting everything anyone tried to put on it.
Three things about crafting and your pockets. A crafting table adds its quality to your skill while the window is open, but that bonus was only reaching your odds if something else happened to refresh your character at the same moment. The same recipe, at the same table, could quote you different chances on different visits, and it rolled with whichever number you got. That now goes in when the window opens and comes out when it closes. Batch crafting stops properly when a tool wears out and your only spare is locked in your backpack, instead of failing halfway and leaving your materials unusable. And things that weigh nothing, gold and experience orbs, can be picked up when your pack is full.
Three about your companions. Pet food is no longer eaten when you have no pet out, which was a straightforward tax on absent-mindedness. A taming collar that got stuck after a pet died and was resurrected under unusual circumstances now releases properly. A Strength buff cast on a pet finally raises its maximum health, which is what Strength is for. And stunned cats play their stunned animation instead of sitting there in a perfect idle pose, unbothered, like nothing had happened.
Which brings us to the sweep. Monday put a hundred and forty separate entries in the work log and closed forty-four reported bugs, and I am not going to march you through them. A good handful were dye and cosmetics: a tricorn hat whose braid ignored your color choice on female characters, a cloak that lost its dye when a particular gambeson went on over it, a sword that forgot its color when you moved it to your off hand, and a set of gauntlets built from the material meant for the decorative version, which is why they came out darker than the rest of the armor.
A player proofreading the game in offline mode sent in thirty-nine typos and grammar errors across the Lunar Rift books, several journal entries and a stack of dialogue in Solace Bridge and Ardoris. All corrected, wording only, nothing said differently. Meanwhile a leaning dead tree in Tanglemire had collision that leaned along with the trunk, which made a nice gentle ramp, so running at the base of it launched you about twenty meters into the air. A town holding two kobold time machines was swinging its sky between noon and dawn every few seconds while the two of them argued about what time it was. And a rain sound was playing in three scenes under a completely dry sky.
My favorite of the small ones. Male avatars have never had a sound for the sneeze emote. The animation played, the shoulders went, and nothing came out. Female avatars have had it all along, including the occasional other noise that sometimes follows a sneeze. The men's sound list simply had no entry for either. Both are in now. You are welcome, and I am sorry.
What I am looking forward to is the housing market. Sale signs with prices on them, in a town you can walk through, reading them off the street like a proper high street window. That changes how a town feels. And I am told the deed transfer holds up under a tester actively trying to break it, which is the only endorsement that counts.
So the housing market is finally stable. Which is more than I can say for the stables, though we fixed those too, because pets kept getting pushed out of them. Good night, citizens of New Britannia.