Episode
The storm came off its leash and took the whole week with it
Sunday was mostly one long argument with Lightning Storm, which had been striking about thirty times where thirteen was the plan, hovering a metre over everyone's heads, and losing its cloud partway through. Quick Deposit arrived, broke twice in public, and got fixed twice the same day. Summoned elementals came back down from double health, and the studio finished moving into its new name.
In this episode
- Lightning Storm and every lasting ground field
- Quick Deposit, and the garlic problem
- Summoned elementals at double health
- The day you could not drag your own boots off
- Moving the whole game into a new name
Transcript
Good evening to thee, citizens of New Britannia. Lord British speaking, with an account of what thy makers were about upon Sunday last. The storm has been taken off its leash and put firmly back upon it. Summoned elementals, who spent a week at twice their proper vigour, are returned to mortal proportion. A siege may no longer be walked around by anyone who has seen a little of the world. And the house has a new name upon the door, which meant carrying every last thing inside it through to the other side. We begin with the storm, for the storm is where the trouble started, and, as thou shalt hear, where it kept going.
Picture a man galloping across the countryside on a pair of coconut halves. This is a real thing you can do in our game, and I regret nothing. Now summon your mount while you are doing it. Until this weekend, what happened next is that a horse appeared, and you carried on doing the coconut run, arms out, clopping away, inside the horse. Other players saw it too. So there is a horse trotting down the road with a man running in place inside its ribcage, banging two coconuts together. It has been fixed. I signed off on that fix with some reluctance.
So. The storm. Earlier in the week we fixed a small and entirely reasonable thing. If you stood in an Ice Field, the slow it puts on you had stopped refreshing, so you could stroll out of a freezing puddle at full speed. The fix gave every separate part of a lasting ground effect its own clock, so the slow could keep renewing itself. That was correct for the slow. It was wrong for the damage. Lightning Storm's damage runs on a faster clock than its stun does, and since the day that spell was written it had been held back to the stun's pace. We took the leash off without meaning to. A full storm went from about thirteen hits to about thirty.
And it got worse the more Air Magic you had trained, because those two clocks move in opposite directions as your skill climbs. So the very best air mages on the shard received the largest secret upgrade, and for a few days the sky was doing roughly double duty. Rickdoll reported it. Pith reported it. And once we were in there we found caltrops doing the same thing, both of the explosive potions doing the same thing, and one creature ability doing it as well, with not a single report against any of those. Anything written with no clock at all had been falling straight through and firing on every update the game runs, which is a great many updates per second, none of them shy.
The part that nags at me is that we own a tool whose entire job is to score every skill in the game offline and shout when one of them is out of line. It did not shout. It was reading a lasting ground patch as a single hit, because the number it believed was the gap between damage ticks is actually the whole lifetime of the patch. So it scored a fifteen second storm as one poke and went back to sleep. That is corrected now, and the corrected reading is sobering. Lightning Storm scores four times what the old reading gave it. Meteor Shower, three times. Immolation, across its very long burn, fifty times. Not one of those spells changed. Only our ability to see them did.
Then there is the floor problem, which I find quietly hilarious. Every persistent ground field in the game is drawn as a flat disc. That flat shape never reached the check that decides who is standing inside it, so the game fell back on a sphere. Your Lightning Storm on the ground floor of a house was striking the people on the balcony above and the people in the basement below, all of them under a clear ceiling, wondering what they had done. We fixed that on Saturday. And Saturday's fix measured the field's height from the wrong place, which left every lasting ground area floating about a metre above everybody in it. So on the test build, Lightning Storm, Ice Field, Ring of Fire, Meteor Shower, Immolation and every single bard song stopped affecting anyone at all. A bard could play their heart out and the world felt nothing. Rickdoll caught that one too, which means rickdoll has now reported the same spell in both directions inside one week, and has earned a drink.
Last piece of the storm, and it is my favourite, because it is pure theatre. The cloud. The visible storm cloud sat on a fixed thirteen second timer, while the spell untrained lasts ten seconds. So an untrained storm finished with three seconds of bolts that hurt nobody, and then the cloud hung around for three more, like a guest with his coat on who will not go home. Trained up with Air Specialization it ran the other way and the spell outlived its own cloud, so you were pulling fifteen seconds of lightning out of a clear blue sky. The cloud now lasts exactly as long as the storm, fades out rather than blinking away, and packs up early if the storm ends early. Wishdragon retested it and found the layer underneath: a fully stacked cast runs more than twice as long, and a bard extending a storm already in the air was telling the storm about it while the clouds heard nothing whatsoever. Both of those carry through properly now.
Right. Inventory. There is a new button, and it is called Quick Deposit. Press it on any container you can put things into, and every stack in your pack that the container already holds goes into it, in one press. Open the reagent chest, press it, done. Nothing can appear in that container that did not already have some of it there, so you never have to read the result before you press it, and locked, quest and no trade items are never touched. You get a notice telling you how many stacks moved, with an Undo sitting on it for as long as the notice is up. Furios Farmer asked for the other half of it: right click a stack and set Keep When Depositing, and that much stays with you. Remembered per character.
Now, we shipped it, and then two things happened in public in the same afternoon. The first is the keep amount, which was being applied to every stack separately instead of to your total holdings. Necronut worked this out with garlic. Three stacks of garlic, keep two thousand, and the game kept two thousand from each one, so he walked away with six thousand cloves and a chest that was very nearly as empty as when he started. It is a total now, across everything you carry of that item, and a stack that could not have moved anyway counts towards it.
The second was worse and simpler. The deposit worked perfectly, and neither window redrew. So you pressed the button, the notice cheerfully told you eleven stacks had gone in, and absolutely nothing on your screen moved. The only way to see the truth was to shut the container and open it again, and meanwhile the stacks still showing in your pack were no longer there to drag anywhere. Gravidy and necronut both called it in. Both windows now update as the button is pressed, which, on reflection, is the entire point of a button.
Summoned elementals. On the tenth of August we fixed a thing that had never worked, where a Strength buff on your pet should raise its maximum health and did not. Good fix. The way it recalculated, though, threw away the health each summon is authored with and rebuilt the whole figure from that summon's own Strength. Elementals carry a great deal of Strength. Specialization raises both of those numbers, so it got counted twice, and a specialized fire elemental was strolling about with eighteen hundred and ninety four health where the intended number is nine hundred and forty three. A specialization potion pushed it past triple.
And the same mistake ran the other way for anything that carries no Strength. The Will-o-Wisp lost nearly half its health and simply went about its business, because nobody files a report saying their wisp seems a bit fragile. Everything is back to its authored health, and Strength buffs and taming gear still raise a pet's health the way they should. Garfunkel Humperdinck found it by toggling specialization off and on and watching the number jump, which is exactly the kind of stubborn that makes a test shard worth having.
Here is the one I would rather not tell you about. Yesterday morning we shipped a sensible fix so that selling an item while you are wearing it clears the slot properly, because the crafting station had been convinced you still had a tool you had just sold. To do that, your equipment started listening for items leaving your inventory. Fine. Until you drag a worn item off an equipment slot, because the pick-up was removing the item from its container before unequipping it. So the piece vanished from your character sheet while staying on your avatar, refused to attach to your cursor, and after a few tries drag and drop stopped answering for the rest of the session. That was the state of things for most of Sunday. You could not take your own boots off.
What I love is how it was caught. Somebody swept eighteen hours of shard logs, folded eight hundred and thirty seven entries down to two hundred and twenty four distinct problems, and then counted each of those per build across the previous week, so a fresh break stands out against noise we have lived with for months. This one appeared thirty nine times on the current build, across four players, and zero times on the six builds before it. That is a fingerprint. The order is reversed now. Unequip first, then pick up.
Something bigger, and quieter. We are Catnip Games, and Sunday was the day the game itself caught up with the sign. Your local files now live in a folder with the new name on it, and the first run after the update carries across your add-ons, your sheet music, your chat logs, your heraldry, your decoration layouts, your keybinds, your graphics options and your hotbars. The originals are left exactly where they were, so an older build still reads them, and running it twice does nothing at all.
The launcher does that carry-across before it starts the game, which is the only moment early enough to save your window size and your resolution along with everything else. The licence agreement names the right company and its privacy link points at a page that exists. And the Windows installer now publishes as Catnip Games, which is the name you will see in the security prompt and in Add or Remove Programs, signed with a current certificate rather than one that expired years ago. The Linux and macOS packages carry the new name too. Existing installs stay where they are.
Inside the tools, four hundred and five menu entries moved to the new name in one pass. The shader names were deliberately left alone, because every material in the game stores its shader by name, and renaming those would have turned the entire world a cheerful shade of magenta. Some doors you look at, and you walk past.
Sieges. When a town is under siege there has been a Bypass button, and it has been there for everybody, which meant a siege was less a battle than a mild inconvenience with a door beside it. That button now appears only while your character is still new. Under adventurer level twenty, or under a hundred hours played on that character. Either one on its own is enough. Everyone else fights through the lines or turns back, and that includes player owned towns.
The hours are counted per character, so a brand new character on a fifteen year old account still counts as new and still gets the door. And /played now prints your time on the character you are standing in, underneath your account total. A siege that can be walked around is not a siege. It is a queue with monsters beside it.
A few smaller things that will improve somebody's evening. Landmark bosses have been announcing realm celebrations for a long time, and only the very first one a shard ever ran was actually being saved. Every one after it failed its write and was swallowed, so the announcement went out on the World Events channel and then nothing happened. No celebration, no experience bonus, just a boss shouting about a party that never existed. Worse, the three hour cooldown was counting from celebrations that had never recorded a start, so it could refuse a later boss over a window that was never real. Fixed at the database layer.
Two problems with characters who were not there. An NPC asked about a topic it had no written answer for used to reply with nothing whatsoever, which left your question sitting in the window with a hole under it. Guards did this constantly. Those now get the same puzzled line an unrecognised word gets. And in the Isle of Storms tutorial, the guides fade in when a player enters the space around them, but the check for a player already standing there only looked at a limited number of nearby objects. On crowded ground, you were missed and the guide never appeared at all. New players were being greeted by an empty room.
Three combat corrections. Ammo Scavenger is supposed to raise how much ammo turns up in loot, and the second half of it ran backwards, so training the skill made the piles smaller, and past a certain point made the largest ones impossible to roll at all. Shield Smash claimed to deal earth damage and carried no element whatsoever, so earth resistance and earth attunement had nothing to work with. And Mummified Undead, trained high, was not slowing your summoned skeleton's decay so much as reversing it, so your skeleton healed itself. It was, in fairness, a very good skeleton.
The backpack's Show Objects in Containers checkbox was hiding itself. Tick the box once, or run one search, and the checkbox was gone for the rest of your session with the pack stuck flat. The window was working out whether a list was already showing bag contents by reading the same setting it writes itself, and the list gets handed back fresh on every open, so the second open of a session read its own answer as somebody else's decision. Rinaldi reported it. The seven tests guarding it were all reading source text, which is precisely why a fault that only shows up on the second open went unguarded, so the new tests build the window and open it twice for real.
And the launcher stopped being quite so eager to leave. Pressing PLAY no longer closes it. It hides while you play, comes back when you quit, checks for a new build straight away and is ready to go again without a restart. It also keeps checking for new builds about once a minute the whole time it is open, so a launcher left sitting on your desktop all afternoon no longer offers you PLAY on a build that has gone stale.
The lightning round, and the numbers are silly. Better than two hundred tracker items were closed on Sunday, a hundred and forty of them bugs, and most of that pile is windows behaving themselves. Windows that would not stay open, windows that opened on top of each other, buttons walking off the bottom edge, text with the descenders sliced off, and a truly heroic quantity of tooltips misbehaving in ways I would rather not describe on a family podcast. Elsewhere: your own nameplate no longer hides behind your own clockwork wings, dungeon fog of war reveals only what you can actually see from where you stand instead of politely uncovering the room behind the secret door, obsidian gear finally looks obsidian when it is sitting in a bag or hanging on a wall, and the fire elementals in the lava grotto are no longer marooned on rocks too small to take a step from.
Behind the curtain, two reference passes worth mentioning. Every beneficial effect in the game was measured, all sixteen hundred and eighty one of them, eight hundred and two of which actually reach a player, evaluated at skill eighty, at a hundred and fifty, and at a hundred and fifty with specialization. That has already turned up two store blessings handing out half a point where their eight siblings hand out ten. And the control points, which had capture rules written down and nothing at all written down about the waves, now have a full reference built by a tool that reads the scenes directly. All six run eight waves. The first wave is empty and expires instantly, purely to lock the side doors. Brightbone Pass and Eastreach Gap field precisely the same fight down to the named lich at the end, which I did not know, and I am fairly sure I am supposed to.
That is Sunday. My thanks to rickdoll, to Pith, to Garfunkel Humperdinck, to Rinaldi, to Gravidy, to necronut, to wishdragon and to Furios Farmer, who between them found more this weekend than any tool we own. What I am looking forward to is the balance pass that all this measurement has finally made possible, now that we can see the spells the way the game actually runs them.
And a closing thought. We are Catnip Games now, which means that from this evening onward, every bug we ship is officially a cat-astrophe. Good night, and I shall see you in New Britannia.