Episode
Crafting tables learn to reach into your own chests
Wednesday brought crafting stations that pull missing ingredients from the storage chests on your own lot, followed by a five-angle attempt to break that feature before players could. Twelve more windows were rebuilt on the new interface system, the dungeon builder's decoration library nearly doubled and every prop in it was catalogued and described, and stealthed characters can finally see themselves.
In this episode
- Crafting stations pull from lot storage chests
- The dupe hunt against the new crafting feature
- Twelve more windows rebuilt on the new interface
- Four hundred and ninety-three dungeon props catalogued
- Stealth stops hiding you from yourself
Transcript
Good evening to thee, citizens of New Britannia. Lord British before thee, with an account of what thy makers were about on Wednesday. The crafting table hath learned to reach into thine own chests and take only what is wanting. A dozen more windows of thine interface were pulled down and raised again. The builder of dungeons was taught the difference betwixt a torch that hangs upon a wall and a torch that floats in the open air like a rude and idle ghost. And the stealthed among thee may at last make out their own shape, which they could not, and which they found most vexing. We begin at the chests, for that is where the crime was attempted.
So here is how Wednesday ended. Somebody on the team sat down with a crafting feature that was about eight hours old, and spent the evening trying to duplicate iron ingots with it. Five separate angles of attack, each one written up and checked by someone else. The entire goal of the exercise was to make the game produce materials out of thin air, and to manage it before one of you did it by accident on a Tuesday. The answer came back no. You cannot. The crafting code never learned how. What the hunt did find was three smaller problems, one of which I find very funny, and I will come back to that.
Let me start at the beginning, because the feature underneath all of that is the thing most of you will actually notice. If you craft seriously, you have a lot, and on that lot you have a table, and around that table you have chests. Possibly a great many chests. And every crafting session begins with the shuttle run. Open a chest, pull out ingots, close the chest, walk to the table, put things down, discover you are eight short of something, walk back. Nobody designed that. It is just what happened once we gave you storage and gave you recipes and left the two of them to work it out between themselves.
As of Wednesday, they talk. Any placed storage container now has a Crafting supply checkbox sitting next to its permission settings. Tick that on the chests you want the table to draw from. Then at the crafting station on your lot there is a Use lot storage option, right under the Only craftable filter. Turn it on, and your ingredient rows start reading like three of ten, plus twelve on the lot, in their own color, so you can see at a glance that a recipe is craftable because of what is in your chests. Click the recipe, and the table fills itself from your backpack first, then takes exactly the shortfall from the marked chests. Nothing extra lands on the table. Every single take gets a line in chat naming the amount, the item, and the container it came out of.
The part I find lovely is what the new code deliberately cannot do. It can count what is in your chests, and it can claim a chest for a moment. That is the whole of its power. It cannot create an item, it cannot destroy one, and it cannot move one. All the actual movement goes down the same checked path the game already uses when you drag something out of a chest with your own hands, where the server builds every moved item itself from the original. And the claim on the chest is the very same lock the game puts on it when a player opens it, held for the instant of the pull and released after. If your client falls over mid-pull, the server clears the claim when you disconnect, or after five minutes, whichever comes first. Nobody's chest gets stuck shut because somebody's power went out.
Batch crafting got folded in the same morning. Ask for twenty of something and the table works out the whole remaining shortfall up front, pulls it once, and then runs the batch as normal, rather than reaching into your chests twenty separate times. The quantity spinner counts lot stock too, so the number it offers you is a number you can actually reach.
Now, the hunt. Three real findings. The first is the closest thing to a genuine problem: when two ingredients in one recipe resolved back to the same material, the planner could reach into the same stack twice and take slightly more than it needed. Your materials, over-taken, without a word about it. That is now summed up front so each stack gets touched once with an exact number. The second is the funny one. The feature worked exactly once per toggle. It was so careful about not trusting stale counts that after a pull it threw all its counts away, and then nothing ever asked for new ones. Extremely principled. Completely useless the second time. And the third was a family of cases where a chest's in-use marker could stick and leave the chest unopenable, which now always clears or retries.
There is one more test in there that I want to praise, because it is the kind of thing that saves you three years later. It is a test whose only job is to fail the entire suite if that supply code ever contains a call that creates, destroys, or moves an item. It does not check that the code behaves itself. It checks that the code never even learns the vocabulary. Fifteen tests cover the feature now, and the crafting and consumption code itself is verified word for word unchanged by the whole endeavour.
Second story. Twelve more windows came off the old interface and onto the new one across two batches, and the list reads like a tour of the game. The Journal. Leaderboards. Your My Lots deeds list. The lot access permissions window with its Access and Banned tabs. The chest, vendor and door permission window. The Decoration Placement Settings window. The dungeon entrance, which swallowed the separate dungeon picker so the two are now one window. The dungeon piece connection window. The custom NPC dialogue editor. Both mini-games. And the enchant and masterwork bonus effect picker.
The line counts on these are something else. Rebuilding the Puzzle Box removed about nine and a half thousand lines of old interface and added eight hundred. Nine and a half thousand lines, to run a game where you guess four letters. The deeds window removed over eight thousand and added under four. That is what a decade of an interface system accreting around a window looks like when you finally lift the window out of it.
The two mini-games are worth a word because of how carefully they were left alone. Languard Gemstrike, the teletype dungeon crawler, still runs on exactly the same game underneath. Only the frame around it changed, and the click mapping was reproduced precisely so your clicks land where they always landed. The Puzzle Box, the code-guessing game that opens certain mystery boxes, keeps its A to F steppers, its black and white pegs, and its ten tries. Its scoring moved out into a properly tested model, with a test matrix covering the duplicate-letter cases, which is exactly where that flavour of scoring tends to go wrong.
Some of these came out better than they went in. Your deeds now sit in a sortable table with name, type, location, past-due tax and days remaining, so you can sort by days remaining and find out how much trouble you are in. The Journal gained a search box on each of its lists. The Decoration Placement Settings remember themselves between sessions. Claiming a lot, paying tax, clearing tax debt, adding credit and upgrading a deed all work exactly as before.
And late in the day, work started on the hover tooltips, which are a harder problem than they look. The shared tooltip host is now in place and plain text tooltips run through it, while everything else keeps using the old path, so nothing breaks while the rest move over one at a time. There is a nice side effect: the windows already rebuilt on the new system could not show tooltips at all, because the old system could no longer see them. Now they can. Item and skill tooltips are next, and they keep their current look until then.
Third story, and this one is for the dungeon owners among you. The tool that builds dungeons has a library of decorations it can place, and on Wednesday that library went from two hundred and fifty-nine props to four hundred and ninety-three, across thirty-one families. Thirteen collections that were simply missing got added: cages, altars, coffins and graves, bookshelves, banners, urns and pottery, sacks, furniture, alchemy glassware, cauldrons, statues, horror paintings, and a body collection containing forty-two corpses. Somebody spent part of their Wednesday morning curating forty-two corpses, and I hope they took a walk afterwards. Traps were left out on purpose. A pressure plate is a machine, and machines belong to a different pass.
Then came the interesting bit. A new cataloger stands every one of those four hundred and ninety-three props alone on a clean lit stage, measures its size and its collider, works out where its pivot sits, decides how much floor it eats and whether a walking creature would be stopped by it, and photographs it from three angles. Nearly fifteen hundred reference images, and the whole run finished without a single failure.
And then a fleet of agents looked at those photographs and wrote a card for every prop. What it is and what condition it is in. Whether it is a hero piece, a supporting feature, or background filler. Which surface it belongs on, meaning floor, wall, ceiling, water, a tabletop, or hanging. Whether it truly blocks a path. Its role in a story, so ritual, prison, storage, burial, alchemy. And which other props it likes to stand next to.
That surface field is the whole point. It is the field that stops a wall torch from being set down in the middle of a room, hovering at chest height, lighting nothing, deeply confident. Anyone who has built with a tool like this knows that bug intimately. It is now a property of the prop rather than a guess made from its name.
The review pass caught two things I enjoyed. Forty-seven entries that looked exactly like props are not props at all. They are moss, painted onto structural pieces, so you do not place them, you swap a plain wall for a mossy one. And twenty-one bookshelves had been read from their geometry as wall pieces, which means a wall snap would have mounted them like paintings, hanging four feet off the ground with nothing underneath. They stand on the floor with their backs to the wall, and now the library says so.
The final tally is four hundred and forty-one usable props and fifty-two set aside. Three hundred and forty-six belong on the floor, seventy-five on walls, seventeen on ceilings, seventeen hanging, and five in water. Thirty-one of them are grand enough to build a room around. Two hundred and fifteen support. Two hundred and forty-seven are there to make a place feel lived in, or died in. A dungeon, after all, is more than a collection of objects. It is a rumour about what happened down there. The tool now knows which of its four hundred and forty-one pieces carry the rumour.
Fourth story, and this is the one I owe you an apology for. Until Wednesday, when you went into stealth, your own character was drawn at two percent visibility in daylight and half a percent at night. Half a percent is not a faint outline. Half a percent is nothing. Indoors, at night, in a dark room, you did not fade, you left. People have been standing perfectly still in stealth, unable to tell which way they were facing, unsure whether that last movement key did anything at all. For years, the person most thoroughly deceived by your stealth was you.
That is now five percent by day and two percent at night. Still faint. Still a suggestion of a shape rather than a character. But enough to answer the question of where you are standing, which is a reasonable thing for a person to know about themselves.
The care in this one is in the split. Your character and every stealthed creature in the game shared a single setting, so raising yours would have lit up every stealthed NPC in New Britannia at the same time. So they were separated first, and the NPCs kept the old numbers exactly. Other players see your stealth precisely as they saw it yesterday. Nothing about hiding from other people changed. You simply stopped hiding from yourself. I will also mention that fifteen minutes before this change was made, the nightly sweep of the community forums filed a player suggestion about stealth visibility. I make no claims about cause and effect. I merely report the timestamps.
Fifth, and this one is for the team rather than for you, but it is the sort of thing that decides whether your Tuesday works. The server can be built two ways, and each way is described by its own list of which files belong in it. Add a new file to one list and forget the other, and here is what happens: everything compiles, on every machine, and every test passes, and then the build that actually runs on the test shard is missing that file entirely. Nothing complains. The code is simply not there. It had done exactly that the night before, and the check that caught it ran overnight, long after the mistake had landed.
So one checker now feeds four gates. It runs when you commit. It also runs when you push, and refuses the push at the server if the lists disagree. And it goes red in the build system within about a minute. And there is a single command that reconciles the two lists for you, which replaces the previous procedure, that being: remember to paste the line into the second file. That is an instruction that works beautifully for about a week. The checker also needs no special build tooling of its own, so it behaves identically on every machine, which matters more than it sounds like it does.
Into the middle of the show. That nightly forum sweep I mentioned filed nine items on Wednesday. Player suggestions on naming your player dungeon, searching your personal storage, the stealth visibility question, some skill balance thoughts, and instrument crafting. Plus two bug reports, one about a golem spell being cancelled and one about a text function in the add-on scripting. I want to be clear that this happens every night, and that a suggestion posted on the forums is read and written down by morning. That is more than a courtesy. It is where a decent share of this list comes from.
There was also a small fix to one of our own testing tools that made me laugh. The tool can launch a game client and then hold it open so an agent can drive it. That was the promise. On Windows, the client was being started as a child of the tool, so the moment the tool finished its work and exited, Windows tidily killed the client along with it. The hold mode held nothing. It now lets go of the client properly on its way out.
And a note for anyone who administers a lot with other people on it. The permission windows for lots, for chests and vendors and doors, and for decoration placement all got rebuilt this week, and all three kept their rules exactly. You still cannot remove yourself, the add limits still apply, the roles are still Guest, Kindred, Trustee, Co-Owner and Tenant, and the bans still ban. They are just faster to read now, and the lists sort.
Lightning round. Sixteen tracker items closed on Wednesday, and the shape of them tells you what this month has been. A good half were verifications of rebuilt windows going out to testers and coming back approved: the rename window for items, pets and houses, the help window, the performance readout, and a resize corner that was refusing to be grabbed. A cluster of them were lists that had been lying to people, which is my least favourite category of bug. Friends and guild lists insisting that offline players were online. Leaderboards that would not load their data. And leaderboard credit not being given for bugs reported from inside the game, which is a bit rich given what we were asking of people.
The rest were odds and ends. A red error line that used to appear in chat is gone. A journal menu graphic misbehaving. A battle camp that was showing up as somewhere you could teleport to, when it very much should not have been. Login on the native Linux client confirmed working. Two voices signed off, one of them a robot. And the loading screen that used to appear to freeze at ninety-four percent now tells you it is compiling shaders, which does not make it any faster, but does mean you stop hitting the mouse.
That was Wednesday. Eight hours of crafting work, twelve windows, four hundred and ninety-three props described one at a time, and a rogue who can finally see their own feet. The thing I am looking forward to is the first dungeon dressed by a builder that understands what its pieces mean, because the difference between a room full of objects and a room with a story in it is entirely in that understanding.
And one last thing. After Wednesday, the dungeon builder knows that all twenty-one of its bookshelves stand on the floor with their backs against the wall. Which means, at long last, our tool has become shelf-aware. Good night, and be well.