SotA

Chris “Atos” Spears · Work Log

Shroud of the Avatar development at Catnip Games, day by day

Roadmap → Proposals Guides Testing Patch Notes Resources SQUIRREL! RSS Podcast

Week of August 3, 2026. This is an archive page; back to the current week.

2026-08-09 · 145 items

The New Britannia Herald

Names stop showing through walls and the world gets its colour back

Headlines

  • The post-Beautify darkness is fixed: a lost 2.38x pre-tonemap exposure was crushing midtones in every scene
  • Your eyes now adjust to brightness: dark interiors start dim and open up over a few seconds, and stepping into sunlight briefly dazzles before your view settles.
  • The Distract skill works now: up to five creatures run to the noise in about a second, at the spot it was aimed, for every caster.
  • Pets stopped healing themselves, and started remembering their wounds: keeping a companion alive is now the tamer's job, and a pet food lasts its full two hours across zone lines instead of dying at the first load screen.
  • Night Vision no longer renders the world as a striped monochrome monitor. The spell is back to the soft green wash it always was, and it stops switching off depth of field and edge smoothing while it is up.
  • NPCs take turns speaking. One voice at a time within earshot, and the crowd stays quiet while an NPC is talking to you.
  • Gold is back on the inventory screens. The backpack readout had been dead code since the conversion; it now shows on containers, the bank and plot storage too, and the vendor listing form gets its gold-after-fee figure back.
  • Bug pass. Closed 23 reported bugs from the tracker.
  • Decoration placement now confirms the spot is clear at the moment you let go, and all 19 planter types check for overlap again before sowing.
  • Lot claiming works on the first try. A loading race could eat the deed and leave the lot unclaimed until a second attempt.
  • Block stacks know what they rest on now: rotated stacks record their true support, a base with items on it refuses to be pulled out, and mid-air placements are refused.
  • Overhead nameplates are back. The previous chaos build hid every name, health bar and icon; the depth data the interface checks against is now copied into memory it owns, so it cannot go stale.

The Herald

  • The New Britannia Herald for 2026-08-08 is up: Saturday moved the client's image effects onto a new post-processing package, which delivered per-scene looks, blending zone volumes, and a completely black world for one morning. A day of voice work followed: automatons speaking as human women, every boy in the game cast to a girl's voice, and eleven hundred kobold lines that had gone missing without a single complaint from anything. Also a resized texture memory budget for eight gigabyte cards, and a tester's new-player playthrough that became nine shipped fixes. Listen or read the transcript (19 min). Subscribe in any podcast app: /blog/podcast.xml

Rendering

  • Tracked down why everything rendered darker after the Beautify swap: the old stack applied its exposure setting in EV stops, 2^1.25 for a 2.38x boost fed into the tonemapper, and the transcription copied the raw 1.25 into a plain post-tonemap brightness multiplier instead. Restored the exposure in the correct slot in all three shipped profiles and added a test that fails any profile shipping without it. Screen-edge vignette tuning is a separate follow-up.
  • Turned on eye adaptation in the post-effect stack. Walking from daylight into a dark interior now starts darker than the room really is and opens up over ten to twenty seconds, and stepping back outside gives a brief dazzle that fades in a few seconds. Once your eyes settle, every place looks exactly the way it did before this change.
  • The effect ships with gentle limits so combat readability never suffers, and five new /tweak dials let testers tune the strength and pacing live in game. Measured cost is 0.025 ms per frame at 1080p.
  • Found the rest of the washed-out look after the Beautify swap. The old grade ran saturation 1.25 in every profile and the transcription put that number on a vibrance dial that barely does anything; the profiles now carry it on the real saturation stage. The tonemapper also moved from the full ACES transform to a flat approximation; switched to the fitted ACES curve that matches the old pipeline. Also stopped a night-vision shader path from bleeding a 15 percent desaturating blue shift into dark scenes while switched off.
  • The post-effect swap now ships the old renderer's actual colour grade instead of an approximation of it. The old stack applied contrast and saturation in log space, which lifts dark dungeons about three times more than the equivalent linear dials, so no dial setting could reproduce it. Captured the old pipeline's baked grade table and the new stack applies it directly. Verified against a live reconstruction of the old pipeline on the same frame: brightness now within about ten percent, previously three times darker.
  • Overhead names stopped drawing through walls again, and this time the health bars stopped with them. The GUI camera that draws world-space names was copied from the main camera, and that copy carried the request for a scene depth texture, so it regenerated the texture from a layer holding only nameplates. The result described an empty world, and every name read as unobstructed. The GUI camera no longer asks for its own copy.
  • The health bar, plate border and status icons had never occluded at all. Only the name text carried its own occlusion, because the pass that draws world-space UI runs against a buffer with no scene depth in it. A new GUI3D depth restore pass copies the scene depth into that buffer once per frame, so an ordinary depth test is correct for everything drawn there instead of each shader needing its own answer. Party members still show through walls, name and bar together.
  • Names and health bars stopped drawing through walls in towns and outdoor scenes. A fix earlier today covered dungeons but missed everywhere else, because the scene depth the nameplates test against lives in a slot every camera in the game is free to overwrite, and whatever draws after the world draws wins it. The depth now travels under a private name that only the camera rig writes, so nothing downstream can take it. Party members still read through walls on purpose.
  • Added /verbose nameplate, which reports whether name occlusion is actually working in the scene you are standing in. Names drawing through walls looks the same whether the feature never shipped or quietly broke, which is most of why this one took four passes to pin down.
  • Night Vision looked like an old monochrome monitor after the post-effect stack moved to Beautify. The new stack has its own night vision effect, and it is a sci-fi goggle look rather than a tint: it throws the rendered frame away, rebuilds it from brightness alone, and multiplies in hard scanlines that black out half of every four pixel rows. It also scaled the tint colour by five, so the pale green the game authors came out near white. The spell now draws through the same line the old stack used, a soft green wash over the scene with everything still visible underneath, added to the new shader at the same point in the chain.
  • Casting Night Vision also used to switch off depth of field, sharpening and edge smoothing, because the effect the spell ran through disabled that whole block of the shader. Those stay on now. A test reads both shader files and the shipped scene looks, so a future update to the post-processing package that drops the change fails a test instead of quietly putting the lines back.
  • Overhead nameplates, health bars and icons disappeared entirely on the previous chaos build. The occlusion system handed the interface a reference to depth data the renderer had already discarded, and the stale reference read as a wall in front of everything, so every plate hid itself. The depth is now copied each frame into memory the interface owns, where nothing can discard it.
  • The nameplate occlusion tests now execute the game's actual depth capture instead of a stand-in, the client checks its own depth feed after each scene load and reports a bad one in the log, and /verbose nameplate prints the measured depth range so a report can tell a switched-off capture from one publishing bad data.

Community

  • Filed 8 items from the forum sweep: UI window snap-to-edge, FSR 3/TAA anti-aliasing, an XP-transfer voucher between own characters, an Earth Magic primary-stat reconsideration, a misaligned clock tower, a pet-pathing stuck spot on the Airship, a dev-confirmed house-timer refresh bug, and an ornate planting-bed sowing-spacing bug.

Server

  • Batched the deed ownership check that runs on every zone-in. It made one database query per deed plus up to two more for basement and dungeon item counts; it now runs three queries total no matter how many deeds the account holds. Chaos averaged 52ms per call before the change, with spikes past 300ms.
  • Added the index the vendor listings count sweep needed. Each sweep scanned all ~287,000 player listings because the hidden-listing flag was unindexed; the per-vendor counts now come from an index scan.
  • Fixed a bug in tax-free-deed housing where a visitor opening a container refreshed the lots inactivity timer to full time even though the visitor had no ownership or permission relationship to the property. The timer now only refreshes for the owner or a permission-holder who can actually place or move items on the plot.
  • Fixed a case where items a player left in storage on someone else's lot became unreachable once that lot was unclaimed, expired or evicted. The storage now appears in that player's Property Manager after the lot is gone, and Send to Bank returns the items. Storage on a lot that is still standing is unchanged and is still reached by visiting the lot.
  • Some creature drops are recycled from items players sold to merchants, and those items used to arrive still carrying whatever the seller had typed on them: a renamed weapon kept the seller's name, and a book or letter kept its title and the text inside. Recycled drops are now handed out as the plain version of the item, with the crafter credit, durability, dyes and effects still intact.
  • Player-crafted gear that a merchant recycles back into creature loot now always arrives with usable durability. A piece worn all the way down before it was sold could come back out reading 0/0 and break the moment it was picked up.
  • Picking up a lot deed now always returns the house deed and basement deed to the lot owner's bank. On a lot that also held another player's leftover items, the deed could be filed into that other player's bank instead, so it never appeared in the owner's own bank after the move.
  • Daily bonus fishing towns are drawn from player owned towns again. The sample towns that show off each town template were also in the draw, so a Town Crier could name one as a bonus fishing spot.

Infrastructure

  • The tester hub playtime lookup resolved every tester name with a case-insensitive scan of the account records on each 15-minute run. Resolved ids are now cached, so the scan runs a few times a day instead of 96.

Skills

  • Fixed Distract: the throw now alerts up to five creatures nearest the spot where it lands. Before, exactly one nearby NPC was picked in an arbitrary order, and a pet, merchant, or corpse could absorb the cast so nothing visibly happened.
  • Distracted creatures now react in about a second and run to the noise. The reaction previously took 3 to 5 seconds and ended in a slow walk after a self-buff. Casting again at a new spot redirects creatures mid-search, and posted NPCs turn to face the noise instead of ignoring it.
  • Fixed a multiplayer bug where a distraction landed at the wrong spot: for most casters in a group, creatures investigated near the caster instead of where the throw was aimed.

Testing Tools

  • The editor test suite is back to zero failures. A full run measures 10,417 tests; 15 of them were red before this pass and none are now.
  • Three of the fifteen were real bugs the suite had been reporting correctly for days. The other twelve were checks that had gone stale or were asking for the wrong thing, and each was re-aimed at the behaviour it was meant to guard rather than the exact wording of the code.
  • The recorded baseline for the suite was four days old and wrong in both directions: two of the failures it listed already passed, and failures had appeared that it did not mention. Measuring first is what made the rest of the work honest.
  • The check on creature ability animations was asking every creature controller to play every ability in the game, which failed 39 times over on animation sets that are correct as authored. Farm animals carry no combat animations at all. It now checks the general creature controller, where the original bug was, and separately that no ability names an animation no controller can reach.
  • The window ornament check listed its eight build sites by hand. That went stale in both directions: it failed when a window moved to the shared window frame, and it could never have caught a new window that added the ornament without the backing pattern. It finds the sites itself now.

UI

  • The decoration light editor now hides when you hide the interface. It used to stay on screen after everything else had gone, so it sat in any screenshot taken with the interface off, and it kept eating clicks aimed at the world behind it.
  • Closed windows are cleared from the interface hover list even while the pointer is on another monitor. A check added for multi-monitor use returned before the cleanup ran, so entries could pile up until something else swept them.
  • The four named artifacts (Shroud of the Avatar, Scepter of Dread, Heart of Sorrows, Bonesteel Crown) no longer vanish from All Items, Artifact or Equipment when Hide Quest Items is on. They read as artifacts everywhere else and the backpack filter now agrees. Ordinary quest items still hide as before.
  • Vendor Listings across all zones no longer drops decoration items like lutes, sheet music or wax cylinders when you pick Decoration, and it keeps chests and other storage under Container. The set now matches what the in-zone view showed for the same category.
  • A written Decoration Layout now sorts under the Decoration category in the backpack, container, and bank filter dropdowns instead of Blueprint & Dungeon, so it turns up alongside the deco it records.
  • Vendor listing All Zones search now consistently returns only player vendors across every town. NPC merchant listings no longer crowd player-vendor recipes and patterns out of the results.
  • The quantity prompt (opens when you split a stack or set a mail or trade amount) puts Okay on the left and Cancel on the right, matching the layout players had before the recent rebuild.
  • Pressing Escape to cancel a craft no longer closes one of your other windows along with it. The crafting run and the window chain were both reading the same key press in the same frame, so a single press did two jobs; during a craft the press now ends at the cancel.
  • Fixed the body and face marking lists in character creation, which opened with no option highlighted even though one was already applied. The lists now highlight the option the character is wearing, which on a new character is the None entry at the top.
  • Skill and glyph tooltips now show the chance on debuffs that only land on a roll. A line that read "-5 Death Resistance for 30 seconds" made the debuff look guaranteed while the skill description said it was a chance; it now reads "25% Chance: -5 Death Resistance for 30 seconds". Effects that always apply are unchanged and show no percentage.
  • Fixed hidden quest tasks coming back on their own. Tasks you hide in the journal could reappear after a logout, a scene change, or a switch to another character, and on some of those the hidden list was written back half empty so they stayed back. The journal now works out which character it is remembering for before it reads or writes, and re-checks that when you change character.
  • Added a Camera Zoom Sensitivity slider to the Options Controls tab. It scales mouse wheel camera zoom from half speed to four times the old speed, with a readout showing the current multiplier. The default matches the old behavior, and the setting also applies to overworld map zoom.
  • The gold total is back on the inventory windows. The converted backpack built its Your Gold label behind a condition no window could ever satisfy, so the readout had been absent since the interface conversion. It now shows on the backpack, containers, the bank, plot storage and the rewards window, at the bottom right beside the weight. The quick loot window keeps its bare footer.
  • The vendor listing form shows your gold again. Listing an item for sale or placing a purchase order now displays what you hold and what you would hold after the fee or deposit, and the second figure follows the price as you change it.
  • The test that was supposed to guard the gold readout was checking the wording of the broken condition rather than the result, which is why it stayed green through the regression. It now builds the real footer and asks whether the gold element is in it.
  • Pending friend requests in the Social window now sort by name only. A request you sent that has not been accepted, or one you received and have not answered, keeps the same place in the list whether that player is logged in or not. Accepted friends still list online first, then alphabetically.
  • Fixed list columns getting stuck narrow. Dragging a column divider down below 32 pixels hid the divider itself, so the column could never be widened again, and the width was remembered across relogs. The floor and the divider now agree, and columns that were already stuck repair themselves the next time the window opens. Applies to every window with draggable columns: backpack list view, crafting station, jukebox, deco palette, and the roster lists.
  • Mannequins now refuse a decoration you do not have permission to take, instead of putting it on and leaving it shown both on the floor and on the mannequin. That state also stopped the inventory window from opening until the game was restarted.
  • Fixed a hidden game master briefly showing up on the Players in Scene list when they entered a scene, and the friends list hover now reads Offline for anyone whose presence is hidden instead of showing no status at all.
  • Blank books placed as decoration now check whether you are allowed to write in them before they open, instead of letting anyone title and type a whole book and then refusing the publish. When a publish is refused the message names the real reason and the text you typed stays in the editor.
  • Dropping a repair kit onto an item now says in chat how many points of durability the repair restored. That way of repairing had been giving no confirmation at all, so the kit disappearing was the only sign it had worked. The number reported is what the item actually gained, so a kit spent on an almost-full item reports the amount that fit rather than the amount the kit is rated for.
  • Double-clicking a container in the bank that was deposited at a different bank used to pull it out of the bank and into your backpack. It now stays where it is and prints a line saying it is stored at another bank location. Containers at the bank you are standing in still open, and dragging one out still works.
  • Fixed the weight numbers in the over-encumbered icon's hover text. They were built from a snapshot taken the last time your character stats recalculated, so moving items in or out of your pack while standing still left the readout showing the previous load until you took a step. Both weight lines now read your carried weight at the moment you hover, so they match the character sheet and the backpack footer.
  • Name plates no longer take their size from the character wearing them. A few creatures hang their plate off a point inside the model, so an oversized model carried an oversized plate, and the larger oracle fly read at four times the size of every other name plate in the scene. Plates now hold one size whatever the character is, with the existing floor for shrunken characters left in place.
  • Fixed the mouse pointer being held in the middle of the screen while the game sat in the background. With the cursor toggled off, a scene load that finished after you switched to your desktop grabbed the pointer and kept it until you came back and toggled the cursor. The game now only holds the pointer while its window is the active one, and takes it back when you return.
  • Fixed the item preview window for anything you wear: the mouse wheel now zooms the preview in and out, and dragging up or down tips the figure forward and back. Both already worked for furniture and other held items, and neither worked on clothing or armour.

Combat

  • Obfuscate answers to the reduced chance to consume reagents from an equipped wand or staff. Its smoke bomb was consumed on every cast no matter what you were holding, while comparable spells already scaled. The base chance is unchanged, so with nothing equipped it still costs a smoke bomb every cast.
  • Shield of Ice's four buff timers now line up together at every skill level. On chaos build 100 the Fire Resistance and Spell Critical Damage buffs were still expiring a bit before Damage Avoidance and Water Attunement at Shield of Ice level 7 or lower; the Water Attunement bump now applies after the other three buff timers are set, so they all start at the same value now.
  • Fixed charged skills firing early when the mouse moved while a stacked or locked glyph was charging. The charge now continues as long as the button is held and only fires on release.
  • Root and stun from lich casters at a desert control point showed a blank square on the debuff bar, so players could see something was holding them but not what. Both now show their own icon, and hovering names the effect and its time remaining.
  • Attacking a sleeping barrel mimic no longer smashes the barrel. A single hit used to break it apart and leave the bottom ring and board pieces behind, with no monster and no loot, and the barrel stayed broken when the spot reset. The barrel now holds together and the mimic wakes up and fights. Ordinary breakable crates, walls and rubble still break as before.

Content

  • Three dungeon-kit pieces (the Malice Octagon and both Troll rooms) had lost their overlap check and could be placed on top of another room by the random dungeon generator. Fixed, plus a safety net that catches any future piece whose check is silently skipped.
  • A third source of NPC bark lines now enters the voice recording queue. Trigger volumes in rooms and dungeons that make a nearby NPC speak when you walk in have around 1,300 lines waiting for audio, mostly companion commentary. The recordings still need to be produced before you hear the difference in game.
  • Dogs bark out loud when they spot a hostile target. The "WOOF!" chat bubble that Tarben in Tanglemire and every other dog in the game shouts at aggro now carries a bark sound to match, instead of being silent.
  • Mara and Essen in Valhold kept switching voices between quest stages, and Essen's later voice was one of the goblin voices. Both characters now keep a single voice from first contact through the end of the throne quest.
  • The two large fountains in the Brittany Estates garden pools now hand out water when you hover them from the walkable ring around each pool, not only from inside the basin.
  • The fishing depth label now appears in Ardoris. It was hidden anywhere the water body opted out of the depth-based fishing gate, which included Ardoris and a handful of other city and dungeon fishing pools.
  • The Suspicious Character digging in the Soltown graveyard now fights when you challenge him. Telling him to stop what he was doing got his threat line and then nothing; he stood still a moment and went back to his route.
  • Second pass at the pet-in-a-fountain bug at Castle Atos: the Blessing of Learning fountain (and the Blessing of Atos fountains nearby) now grant their buff only to the player who walks through, so a pet trailing behind no longer picks up the icon.
  • Fixed the approach points on the King's Light Wood Platform Bed, the King's Dark Wood Platform Bed and the King's Four Poster Bed. All three sat inside the bed frame and 11 to 16 cm above the floor, so your character stepped into the side of the bed and hovered there before lying down. They now stand on the floor alongside the bed on both sides, and a new editor test checks that every bed's approach points are at floor level and clear of the mattress.
  • Placing the Royal Founder's Crystal Sword as a decoration now shows its white grip. It had been borrowing the plain Founder's Crystal Sword decoration model, which carries the blue grip. Held and sheathed, the sword still shows the blue grip; that is a separate change.
  • Fixed the Valhold palace audience with King Grannus, where the High Chamberlain Essen's relayed lines showed his name in question marks instead of the name. Essen stood just past the distance at which Grannus registered the people around him, so the conversation had no name to fill in.
  • Heraldry banners you craft can now be given a name, the way founder and store heraldry banners always could. The naming window opens from the inventory and from the banner once it is placed, and the name shows when you hover it. Covers the long and short wall banners and the long and short free standing banners.
  • Fixed the looted Sturdy Hand Axe, Sturdy War Hammer and Sturdy Mace, which used the rusty starter weapon's inventory icon and decoration model. All three now use the same artwork as the crafted version of the weapon, in the bag, in the hand, and placed as a decoration.
  • Artifact necklaces and artifact rings can have patterns applied to them at a smithing table again. Crafted jewelry always worked; the artifact versions were left off the list the reshape recipes read, so the table refused them.
  • The two giant castle gates in Ardoris now play an opening and closing sound. They were the only doors in the city that swung in silence, and the sound carries far enough that you hear it standing to one side of the gateway.
  • Fixed the stairways in the Village Stone 5-Story Basement refusing decorations. The basement limits where decorations may be placed, and that limit covered the five room floors but stopped at the edge of the stairwell, so the steps, landings, walls and ceilings of all four flights were rejected as outside the basement. The allowed area now covers the full height of the stairwell.
  • Full water lots can now be decorated on their wooden pier. The pier that reaches out over the water was missing the surface flag the lot deck already had, so held items stayed red over it and only dropped once a building block was stacked underneath. All five full water lot sizes carry the fix.
  • Double-clicking the chandelier in the Edelmann Benefactor Village Home turns its candles on and off again. It hangs 6.5 m above the hall floor, past the 5 m reach every built-in house light ships with, so the double-click was dropped without a message while the right-click start state option kept working. That one fixture now reaches 8 m.
  • Fixed the Lord of the Manor Keep city home: the wall at the bottom of the third floor stairwell on the left side would not take wall decorations, while the matching wall in the right stairwell did. Both landing walls now accept them across their full width and height.
  • Fixed the Spanish name of the Town Stone 2-Story Basement, which read as a three-story basement and matched the name of the actual three-story town basement. Other languages already named it correctly.
  • Pets can now be inside a placed Upscale Stables. The building was removing its own footprint from the area creatures walk on, so a pet summoned inside had nowhere to stand and would not follow its owner back in through the doorway.

Planning

  • Wrote the October release critical path as its own page: a dated schedule from mid August to go-live, the items that block it, and the long-lead work that cannot be compressed later. Linked from the docs index and the go-live epic on the roadmap.

Housekeeping

  • Checked in the patch ledger records for recent builds, the high quality sun disk on the default skybox, and the Soltown playthrough report behind the August quest fixes.

Tools

  • The whole-game voice-cost report now enumerates the same corpus the generator does. Waypoint and trigger-volume barks are folded in with the conversation lines, so the printed estimate stops undercounting by the roughly 1,600 scene-authored bark lines that were added earlier this week.
  • Tester Tools skill buff no longer clamps a skill you raise above it. Applying the buff at level 30 and then using Set Skill to raise one skill to 150 left the Skills window pinned at 30 for that skill; it now reads at its real trained level while the buff is still running. A character already trained above the buff level is no longer silently debuffed either.
  • The Grandmaster badge fix from earlier in the week now has a dedicated tester task on chaos.
  • The player animation controller rebuild no longer generates combat state names containing a period, which the animator refuses to accept. That covered 45 weapon combat skills at 12 states each. Both animation layers now name those states the same way.

Client

  • Lua addons: sound helpers no longer throw when the addon folder could not be created at startup; addon sounds on unaffected clients keep working exactly as before.
  • Aspen tree bark now loads at its full painted horizontal detail, so the trunk reads as sharp as the other trees standing beside it up close. Follow-up to the earlier aspen bark pass, which had left the aspen a little softer than its neighbours (#3518).
  • Wax cylinders played on the automated phonographs and the jukebox decorations now follow the Music Filter audio setting. With the setting off the song plays clean; with it on you get the record crackle and roll-off it was always meant to have. Those decorations had been ignoring the setting, so the crackle stayed on and the music came out thin in both positions of the checkbox.
  • Effects a player spawns on themselves, like the glow from the /radiate emote, now fade out with that player when you are deceased. Before, the character faded away in the death walk and the glow kept drawing over empty ground.
  • Fixed the Black Horse mount being unable to ride onto the guarded bridge at Solace Bridge Outskirts. The Black Horse was the only mount given a wider body than the rest, so it caught on gaps every other mount fits through.
  • Fixed two spots on the third floor of the Elven Four-Story City Home where decorations could not be placed: the corner the stairs run into and the alcove at the far end. Both were walkable floor that the placement cursor refused, and both now take anything you can set on a floor.
  • Fixed the message shown when a container holds only story items you already own. It read "You already have any item that would be in this container (Container)."; it now reads "You already have the item(s) that would be in this Chest." with the container named once.
  • Neon Tetras and Aether Tetras in a fish tank now start their swim cycle at a random point like every other fish, so two of the same tetra no longer move in exact lockstep. The pair also stopped writing a missing-animation complaint to the client log each time a tank was set up.
  • Corpses can be clicked and looted wherever the body came to rest. The volume that decides whether your cursor is over a body was pinned to a fixed spot in front of where the creature stood when it died, so a body carried off that spot by its death animation answered clicks only over one small patch of ground. It now follows the body once it settles.
  • Choosing a recipe at a crafting station now keeps the materials you already placed on the table. It used to empty the table and refill from your pack, taking whichever accepted material came first, so a deliberate choice of ingredient was swapped out and had to be put back by hand. Staged materials are preferred both for which material the recipe uses and for which individual item it takes, and a partly filled table still fills the rest as it always did.
  • Decorative servants placed on a lot now use a short set of quiet idle actions (cough, sleeve brush, nod, ponder, wait, yawn) instead of the full townsperson emote list, so they no longer belch, cheer, sing or dance on your property.
  • Dismissing a pet, companion or summon now dissolves the creature over about two seconds instead of removing it on the spot. Summoning a replacement still swaps immediately.
  • Fixed the Stone Two-Story Row Home losing its roof at a distance. The roof stopped drawing about a hundred and twenty-five metres out while the walls kept going, so the house looked open at the top from across town. The roof now scales down with the rest of the building and stays on it as far as the house is visible.
  • Bagpipes: holding Ctrl now drops the note an octave. The low octave used the same recording as the normal one, so a Ctrl note sounded identical to the plain key. Those notes are a little quieter than the rest until the recordings are rebalanced.
  • Fixed the beacon on the Shogun Lighthouse (Village) home. Its light was tilted about 45 degrees downward with a wide cone, so the turning lantern swept a broad pool across the ground below. It now shines level out from the lantern room in a beam roughly half as wide.
  • Fixed a flickering ledge at the base of the third floor windows in the Village Shogun Inn. The floor ran under the sill at the same height, so the two textures traded places as the camera moved. Measured every surface in the home and this was the only overlap of its kind.
  • Fixed music devices going silent: when an Aether Vibration Amplifier was picked up or switched off, other devices nearby that were still switched on could stop playing until someone opened one and chose a station again. A device that is still on now picks the music back up on its own.
  • Clan of the Boar Bracers now appear on female characters. The female version of the armour pointed at a broken copy of the model, so the bracers equipped and gave their stats but were never drawn on the character or on the paperdoll at any distance.
  • Fixed the conversation camera clipping into walls. When you talk to someone in a tight spot such as a balcony, the camera now pulls in toward you instead of settling behind the wall behind you, and it keeps clear of geometry for the whole conversation.
  • Fixed NPC conversations going dead when something stood between you and the NPC. Once the conversation window is open, keywords keep working from any angle within talking distance, so a counter, a doorway or another character no longer leaves you clicking a keyword that never answers. Reported against the banker in Celestis, who could be talked to from one side and not the other.
  • The balloon on the Cloud Imperium Navy Airship city home now has collision. Landing on top of it used to drop you through the skin onto the rain cover slung underneath, inside the balloon, with sides too steep to walk back out.
  • Automated phonographs and jukeboxes now take wax cylinders only through the window you get from the placed decoration. Opening one as a plain container from inventory or the bank is no longer offered, so the device cylinder limit and the broadcast restrictions apply every time.
  • Fixed artifact instrument buffs starting when a player used a teletype or another stationary instrument while carrying one. The buff now needs the equipped instrument to actually be played.
  • Fixed a stray arm swing that appeared on other players' characters right after their fishing reel-in finished. Their character now returns to its standing pose at the same moment your own does.
  • Fixed the Level Of Detail slider being ignored after a quality level change. Changing Quality Level replaced the detail distance the slider had set with the preset's own, which could drop distant objects such as the overworld ships out of view while the slider still showed the old position.
  • Wall webs stopped casting a shadow of the flat panel they are painted on, which showed up as a square patch of shadow on the wall whenever a wall torch was lit nearby. The floor webs in the same set already had shadow casting off; the wall versions now match.

Taming

  • Raised the leash range on tamed pets. An untrained tamer's pet now follows to about 15 metres before it breaks off and runs home, rising to 20 metres at Pet Range 150. It was 5 metres and 12 metres, close enough that a handler walking at ordinary speed outran their own pet and it dropped what it was fighting to catch up.
  • The three pet follow distances mean different things again. A pet's station is capped at half its leash range, so at the old short tether close, near and far all put the pet in the same spot. A pet also holds a creature's attention out to a greater distance now, so it keeps what it is fighting while its handler stands clear of the swing.

Tracker

  • A triage pass over the whole tracker. Fifty-three tester-filed bug reports that had gone unanswered since the end of July now carry a reply and an owner, and the report on creature names showing through walls is closed against the occlusion fix that landed this morning.
  • Ten verification tasks were live on chaos but invisible on the in-game tester board, because the commits carrying their fixes never named the task. Each is now mapped to its commit, checked against the deployed build, and back in front of testers.
  • Every open issue on the development tracker has an owner again: 152 that had none were assigned, six were closed as already fixed or answered by a design call, and four more were closed against the commits that fixed them.

Economy

  • Filed the recipe economy audit: every craftable recipe gets its input cost compared against what the output sells for, so crafting cannot be used to print gold out of merchant stock.

Pets

  • Tamed pets and summoned creatures no longer heal themselves. A pet used to recover half a percent of its health every five seconds out of combat, a little under twenty minutes from empty, and nothing in combat. Keeping a pet alive is now the owner's job: pet food, Heal Creature, ordinary healing spells and collars that carry health regeneration. Wild creatures, companions, quest companions and decoration pets are unchanged.
  • Pets now remember the state they were in. Putting a pet away and summoning it again no longer tops it up, and neither does crossing a zone line, so a pet that was on half health comes back on half health. Buffs come back too, including the two hour pet foods, with the time counting down from where it left off rather than restarting. Feeding a pet before a fight is worth doing now instead of after every load screen.
  • Two side effects of the same pass: the balance audit was modelling pets that healed themselves between samples, and its owner-to-pet stat table had been missing the toughness line that Pet Hide Toughness Training feeds. Both now read from the same shared calculation the game uses, so the audit and the game cannot drift apart again. 101 editor tests cover the new behaviour.

Documentation

  • Wrote up a trap in the test shard runbook: the automated login smoke test creates a throwaway character on whatever account it signs into, which leaves clutter when that login has been pointed at a real account. Added the cleanup steps, plus the single log line that confirms the login resolved correctly without creating anything.

Tools

  • The unattended bug loop can now split one backlog into any number of independent queues, so several drivers grind it at once instead of the two the old odd/even split allowed. Each shard keeps its own lock and stop file, and one command winds all of them down.
  • Added a shared build lock for those parallel bug-loop workers. Two backend builds or two batch test runs at once used to fail on each other, which read as a broken fix and threw away work that was fine; now the second one waits its turn.
  • Added a decoration overlap audit for lots that are already decorated. It rebuilds each lot inside the editor before measuring, because a stored decoration position is relative to whatever the item was placed on rather than to the lot.

Audio

  • NPCs now take turns speaking. While one NPC near you is saying a line, the others hold their idle chatter instead of starting on top of it, so a crowded market gives you one voice at a time with a short pause between speakers. Every bark cooldown in the game was per-NPC, so nothing stopped a dozen of them from talking at once.
  • A line that loses its turn is skipped rather than saved up, so the NPC waits for its next one instead of replaying chatter out of context. Conversation dialogue is exempt: what an NPC says to you always plays, and it keeps the crowd quiet while it does.

Client

  • Fixed NPC emotes that hold a pose. A held emote was being cancelled on the same frame it started, so it never played, while one-shot emotes like a wave were unaffected. This hit custom NPCs asked for a held emote by their conversation script, and it also hit talking and merchant NPCs emoting while they spoke a line, where the emote played for everyone nearby except the player whose game was running that NPC. Emote names in a custom NPC script also no longer have to match capitalization exactly.
  • Paintings dropped onto a painting easel now rest on the easel ledge. They were being lifted by half their own height, so a tall painting hung further off the ledge than a short one, and only the paintings drawn around a centred pivot landed right.

Tester Tools

  • Added an item creator to the tester tools window. Type part of an item name, pick it from the list that appears, choose a quantity, and it goes into your backpack. The only item tool before this was Duplicate, which needs you to already own one, so anything a tester had never seen had to be requested from a developer.
  • The tester tools browser page got the same picker. It asks the game for matches as you type instead of downloading the whole item catalogue up front, and the search index is now built once per session and shared with the GM prize mail window.

Housing

  • Decoration placement now confirms the spot is clear at the moment you let go of an item, so a decoration can no longer come to rest inside another one. The refusal reads the same as it always has: "Something is already in the way."
  • All 19 planter types check for overlap again before you sow. Ten of them - the five pots, the barrel and the four ground beds - had lost that check when the field it reads was renamed and their prefabs kept the old name; a missing collider now refuses sowing instead of waving it through.
  • Applying a saved decoration layout measures overlap per item as it places them. Anything that would land on top of something else stays where it is, and the finished message says how many were left behind.
  • Fixed lot claiming needing two attempts. Claiming with a deed from inventory could stop partway when tax data was still loading, so the deed was used but the lot stayed unclaimed with no message. Claims now complete on the first attempt, and a failed claim can no longer quietly unclaim a lot that had actually gone through.
  • Fixed the camera glitching while dragging a decoration in a tight space. The camera treated the item in your hand as an obstruction and pulled in toward it, which moved the item, which moved the camera again. Inside a greenhouse this showed up as constant snapping, and the moving aim point made it easy to grab the neighboring planter instead of the one you wanted. The camera now ignores the held item and only reacts to walls and fixed geometry, matching how every other system already treated a carried decoration. Reported by Dulayne.
  • Stacked decorations record what they actually rest on. The stacking parent used to come from the cursor ray, so a rotated block resting on another block could be recorded as sitting on the ground, and removing the real support left it floating in the air.
  • Rolling a building block re-seats it on the face that is actually down. The old bottom test picked corners by world axes, shifted with the camera view, and could return no corners at all, which passed as valid with nothing underneath.
  • Picking up a decoration that has other decorations on it is refused on every path now, including the right-click menu, which had no check. Multi-part items with nothing on them stopped tripping the refusal.
  • Placing an item over thin air is refused with a new message. One supported corner is enough, so overhanging block builds still place.
  • Items picked up off a rotated stack keep their orientation. The rotation bookkeeping double counted the chain above a rolled block.
2026-08-08 · 135 items

The New Britannia Herald

The world went black and every kobold got its voice back

Headlines

  • The skill icon set you pick now applies everywhere. One consumer had never asked which set was chosen, and six more drew the artwork once and kept it, so switching left parts of the interface on the old icons.
  • Texture memory budget resized for the 8 GB minimum spec: a spec machine goes from 768 MB to 2,730 MB, and starts on Fantastic instead of Good.
  • The transport swap is done. Client and server both run on our own networking driver, and the old middleware is out of the serving path.
  • The post-effect stack moved to Beautify — and scenes can now have their own look, with volumes inside them that fade to a different one as you walk in.
  • Decoration works throughout the secret-door T-intersection dungeon hall, ceilings included for the first time, and a kit-wide audit found 57 more pieces with no ceiling surface at all.
  • Every kobold outside Grusk got its voice back. 1,114 missing lines of speech are recorded and live, three days after a recast left Korabar, Krishach, the Skrekk guards and the whole Kobold Expeditionary Camp with no audio at all.
  • Automatons across the game speak with machine voices now. Gus, the Peaceful Automaton, no longer greets travellers in a woman's voice.
  • Four spells that made no sound when cast now have one: Torpid Torment, Chaotic Clone, Tabula Rasa and Shield of Ice. Each volume was measured against a spell already sitting right in the mix, because the source recordings span 13 decibels and a copied value would have left one of them inaudible.
  • A quest delivery window that flashed your whole backpack and then went blank now narrows from the first frame and explains an empty side, with a Show all items escape hatch.
  • Estgard's gate guards and every boy in Novia stopped speaking with women's voices: 35 mis-cast NPCs fixed across 25 scenes, five boy voices where there had been none, and the audit exemption that hid them all removed.
  • Escort NPCs found their voices. Lines written into the world rather than into a conversation file had never been recorded, so Mara, Essen, Samael and Krishach all walked players around saying nothing at all.
  • The Well-Traveled Vault. The bank deep dive: 20 proposals over the account-wide vault Shroud has quietly had since 2018, from a Compact button for cross-town stacks to a materials shelf that takes raw materials off the slot budget.
  • Every quest's written location hint now actually displays: the journal gained a Hint line, restoring wayfinding text the game has shipped invisibly for years.
  • A tester's new-player playthrough report became nine shipped fixes in one pass: the Liliana's Painting key trail, tutorial tips that arrive in time, a self-explanatory hand-over window, readable nameplates, and two voice recasts.
  • Camera effects can no longer be switched off; the low health blood effect keeps its own opt-out.
  • The on-screen task list finally moves. Drag it by the handle at its left edge or by a task line, and it stays where you put it.

Decorations

  • Hovering a decoration placed on a lot no longer prints the weight and value it would have in your backpack. A placed devotional was reading out 'Weight: 50' and 'Value: 500' under its description; the same two lines were showing on placed books, signs, paintings and weapons. Everything else the hover already said stays, so the devotional keeps its buff list and a brewing cask keeps its brew, and both numbers come back the moment the item is picked up.

The Herald

  • The New Britannia Herald for 2026-08-07 is up: Friday went underground. The oldest system in the game, traps, finally got an owner, and two of them had been dealing a rounding error for years. The in-game map that had been blank for two days was fixed at the root, a second complete set of skill icons went in, and a swamp mushroom debuff that could not agree with itself was straightened out. Listen or read the transcript (17 min). Subscribe in any podcast app: /blog/podcast.xml

Community

  • Filed 5 items from the forum sweep: a smelling-salts cooldown ask, a contested PoT-governor PVP-immunity request, a broad economy/progression depth proposal, smaller PoT map templates, and a deco-placement bug in a Stone Dungeon Hall piece.

UI

  • Books written in runes show their title in runes again in your pack, in bank and vendor windows, and in the tooltip you get from hovering one. The move to the new interface had left those titles in the ordinary font.
  • The runes also have room between them now. The runic face gives about 1.2 pixels of gap at the size the item list draws at, and no kerning at all, so a title like TRUTH IS REWARDED ran together into one line of strokes. Each name carries another 1.5 pixels between letters, which is close to what a book's own pages have used for years.
  • An item name can carry a font an artist chose for it again. Those font settings could only be handed to the old label type, so every window that moved to the new interface stopped honouring them; one shared call now spends them on a new-interface label and clears them again for the next item, so the runes do not follow the plain item you hover afterwards.
  • Hovering the boundary between two column headings in the backpack turns the mouse pointer into a sideways resize arrow. Moving off the boundary used to leave that arrow on screen until the pointer left the whole window. It now goes back to the ordinary pointer as soon as you move off the divider.
  • One flag shared by every drag handle in the interface decided whether a drag was still running, and only a mouse release landing on the handle itself cleared it. Moving the chat window or a hotbar by its grip hands the mouse to the bar underneath, so the release never reached the grip and the flag stayed set for the rest of the session, which switched off the hand-back for every handle in the game. A drag is now judged by whether anything is still holding the mouse.
  • A second check now runs once a frame: whichever handle holds the pointer gives it back on the first frame the mouse is no longer inside it. Every window shares one interface panel, so what sits under the pointer is recalculated only when the mouse physically moves, and a handle that disappears under a still mouse raises nothing at all. A divider hidden because its column shrank under 32 pixels, and a window hidden by the hide-interface key, both did that.
  • Five new editor tests drive a real interface panel through the real event dispatcher. A bar drag no longer leaves the next hover stuck, a plain hover exit gives the pointer back, a handle hidden under a still mouse gives it back, a drag keeps the arrow until the button comes up, and a real backpack column divider gives it back when you move onto a heading.
  • The keyboard focus ring in the shared UI theme was written with outline properties that UI Toolkit does not support, so it had never drawn. Removed the dead rule and left both workable ways to build the ring recorded where it used to be.
  • Empty equipment slots drew their silhouettes at full brightness, because the tint was set through a misspelled property name. They dim again to the level the original art had baked in.
  • Added a test that checks every stylesheet property name against the ones UI Toolkit actually knows, and that every transition names a property it can animate. Neither mistake shows up when reading the stylesheet, and an unsupported property is dropped at runtime rather than refused at import.
  • Moving the mouse onto a second monitor now lets the interface go quiet. The game had been treating the cursor as parked wherever it left the window, so buttons stayed lit, tooltips would not dismiss, and the world highlight stayed on the last object. Dragging off the window and back still works.
  • Wax cylinders now answer to the Music & Instrument filter in the vendor listings window, your backpack, and every container. A cylinder is its own item type and it had been left out of every category list, so a search for one by name found it under All Items and lost it the moment you picked a category. Decoration names the type now too, which is what an all-zones vendor search needs to keep cylinders in that filter.
  • Quest journal now shows each active task's hint line with directions for the current step. The game has always shipped these hints in the quest data, and no window ever displayed them, so quests appeared to give no clue where to go. Found while triaging the new-player playthrough report on Share Quincy's Fate.
  • The quest item hand-over window explains itself now: an instruction line, double-click to offer or take back, and the wanted item is offered automatically when you carry exactly one match. Hand-ins were drag-only with nothing saying items had to move between the panes.
  • Text no longer piles onto the gathering minigame ring: hover tooltips stay hidden during a swing and chained harvests show one Meticulous Collection line instead of a growing loot list over the ring.
  • Friendly NPC name tags read better at a distance: the cream color is deeper so it holds up on sunlit ground, and tags now stay fully visible out to 21 meters before fading instead of 15.
  • Skill buttons on the combat bar, utility bar, and deck builder put their corner numbers back where the original interface drew them: success chance upper left, stack count lower right, reagent count lower left. The chance number steps aside when the apprentice badge needs its corner.
  • Removed the Use Camera Effects checkbox from the Video options tab. Camera effects are now always on for everyone, including players who had previously turned them off.
  • Renamed the Interface tab option Enable Low Health Screen Indicator to Disable Low Health Effect. The checkbox now works in the opposite direction and still controls the low health blood overlay and heartbeat sound. Saved preferences carry over.
  • Fixed the Vendor Listings window popping "Failed to load vendor listings." when the All Zones box was checked with an empty search field. A single dialog now explains that an all-zones search needs a term of at least 3 characters or a category or stat filter, and failures that already explain themselves no longer stack the generic error on top.

UI

  • The skill icon set you pick in Options now applies everywhere. Switching between Classic and Modern used to leave the buff bar, the hotbar and combat bar, the deck slot faces, the encumbrance corner and the glyph lists on the old artwork until something else happened to rebuild them, and the slug glyph a short deck shows never changed at all, even after a relog. All of it repaints the moment you choose a set.
  • Two build-time checks keep the icon sets honest from here: nothing may load skill artwork by path instead of asking which set is chosen, and any code that draws a skill glyph has to either follow the setting or be listed with the reason it does not need to. The list is the record of which parts of the interface redraw on their own.

Art

  • The school emblems, the small round and shield-shaped badges for Blades, Fire, Blacksmithing and the rest, are still drawn in the original style in both sets, and a test run showed why they cannot simply be regenerated. The tool works out which pixels are the frame by comparing icons that share the same plate, and each of the 37 emblems is one of a kind, so it had nothing to compare against: the frame came back overpainted, the colours washed out, and the cut-out around the badge filled in solid. That needs a different approach before any of them can be redrawn.

Images

Gathering

  • Hitting the centre of the harvest swing meter now pays off on a node's first swing. A centre hit there multiplies that node's gathering experience by 1.5. Before this it only counted on the bonus swings that follow a meticulous proc, so a node that never procced could be played perfectly for nothing extra.
  • The swing meter now names which reward a centre hit earned. "Clean Strike!" on a first swing means the experience bonus, and "Rich Find!" on a later bonus swing still means that swing pays its materials twice. The centre band is highlighted on the first swing now that it pays something.

Chat

  • Chat tab names survive a relog. A window that started with Main, Combat and Universe came back with all three called Tab 1, Tab 2 and Tab 3, and a tab you renamed lost its name as soon as you dragged it into another window or pulled it out into its own. What gets remembered now is which name a tab carries rather than the text that name reads as, so it keeps the name and still follows your language setting. Tabs also come back in the order you left them in, so sorting them by dragging along the tab line sticks.
  • A tab whose chat channels you never touched gets its name back on the first login after this. Names given out before today were not written down at all, so recovering them means recognising the three starting tabs by the channels they show. That is a guess, so it is all or nothing: a window has to hold exactly those three, untouched, or it keeps the numbers it has now.

Client

  • Textures had a memory budget that was too small for the cards most people run. An 8 GB card was held to 768 MB of texture memory by three separate ceilings, and when a scene needed more than the budget allowed, every texture in view dropped a detail level at once. The budget is now worked out from the graphics memory a machine reports, and a card at or above the 8 GB minimum spec settles at 2,730 MB.
  • Cards at or above the 8 GB minimum spec now start on the Fantastic preset instead of Good. That is the level the game is built to look like, and it is the first one with the sharper filtering used on surfaces you see at a shallow angle, so roads, floors and rooftops stay readable further into the distance.
  • Graphics cards whose driver does not report how much memory they have were being handed the smallest texture budget in the game, on every launch. One half of the detection code read a missing figure as "assume plenty" and the other read it as "assume nothing"; they now agree, and an unreported card gets its preset's normal budget.
  • The graphics settings worked out for your machine were being thrown away the first time you changed zones, so the game ran on different texture settings after your first travel than it did at the login screen. Restoring the quality level on a zone load now puts them back.
  • Anyone whose game has been starting on the Fastest preset since a settings regression in mid-July gets moved off it once, automatically, on their first launch after this build. Fastest runs half-resolution textures with no anisotropic filtering, and nothing in the client ever reconsidered a preset once it was stored. Picking a preset yourself is still respected.
  • Laptops and handhelds with shared graphics memory were being given half-resolution textures on the strength of a name match alone, whatever their memory. Machines with plenty of it now run at full texture resolution and lean on the memory budget instead.
  • The /fps window gained a texture row: how much texture memory is loaded, what the budget is, and how much detail the budget is dropping right now. That last number is the one worth watching, because a scene over its budget and a texture that was simply built small look identical on screen.
  • The performance heartbeat now carries texture memory figures, so we can tell from the field how often the budget is actually reducing detail, on which cards, and in which scenes. Until now nothing read that back at all.
  • Fixed the scene-exit vignette sticking around after a teleport. Walking toward a scene edge darkens the screen, and teleporting away during that fade carried the dark ring into the next scene permanently. Camera overrides (exit fade, stun, depth of field) now clear on every scene change. Verify #3814.

Interface

  • 106 skill and consumable icons were shipping at a quarter of the width they were drawn at. Potions, food, teleport scrolls, fireworks and experience buffs were all in that group, which is most of what sits on the action bar and in the buff list. They now ship at the same size as the rest of the glyph set.
  • The 37 school badges beside each skill in the skill tree were scaled down with no smoothing, so their edges came out ragged at the 28 pixels they actually draw at. They now filter the same way every other glyph does.
  • Skill glyphs now share one interface texture page instead of taking a texture slot each. Measured on a panel holding 120 different glyphs, that went from 11 draw ranges to 1.
  • Looked at sharpening the skill tooltip on high resolution displays and decided against it for now. Shipping a second copy of every glyph at double size would have pushed the interface download over the point where a future icon set forces everyone to re-download the whole interface package, and raising the whole set instead would have cost four times the download and given back most of the batching win. The numbers are written down so the question does not come back without new ones.
  • Added a Hotbar Size slider in Options under Themes, below UI Scale. It resizes the combat bar and the action bar on their own, from 75 to 200 percent, so a large combat hand no longer means a large interface everywhere else.
  • The bar scales as one piece: slot sizes, the gaps between slots, the move handle and the space the number keys hang in all move together, and the combat row keeps the same relationship to the action row at every setting. The upper end of the range is set where a slot reaches the resolution the glyph art is actually stored at, so turning it up shows more detail instead of a larger blur.
  • The two size settings multiply, so a narrow screen with both turned up would have pushed the ends of the bar past the edges with no way to drag them back. The bar is now held at the largest size that still fits, and the setting you chose is remembered for when you have room for it again.
  • The party leader star is drawn on the leader's own screen again. The party list shows everyone in the party except you, so your own star belongs on your own health frame, and it had never appeared there. It is shown only for the leader of the party you are in, so a stranger leading their own party no longer gets one.
  • The Grandmaster badge and its number reach the rest of your party. It used to read the count off a character loaded in front of you, so a party member in another scene, or too far off to have spawned, saw nothing at all. The count now travels with you on the party frame. Hiding your Grandmaster status publishes nothing, so no one sees a figure for a player who has turned it off.
  • Hovering the Grandmaster badge lists the skills it stands for again, on your own frame, on the target frame and on party rows. That list went away when the nameplates were rebuilt, and a click on the badge fell through to targeting the character instead.
  • Item, consumable and emote icons were drawn with no smoothing, so they lost pixels shrinking down to icon size and broke into visible squares when drawn large. All 7,108 of them now sample smoothly, and the ones with larger source art ship at higher resolution. This shows on the action bar, the emote bar, and every bag, bank and container slot.
  • The skill glyphs beside them were already smooth, which is what made a potion look rougher than the skill next to it on the same bar. That gap is closed, and it mattered more once the hotbar became resizable.
  • The on-screen task list can be moved now. It was the last piece of the HUD still nailed to one spot while the hotbar, compass, party frames, timers and companion frames had all become movable. There is a move handle at its left edge, and dragging one of the task lines works too. Wherever you drop it is where it opens next time.
  • A short press on a task line still opens the journal at that task. Only a press that travels more than six pixels turns into a drag, so the two gestures do not fight. The list also stops at the screen edges, so it cannot be shoved somewhere you can no longer grab it, and Options has a Reset Status Positions button that brings it home.

Housing

  • Moving a placed container into another placed container no longer breaks if you close a container window while the move is still running. The move now holds the destination container open for as long as it needs it, instead of relying on a window that could close underneath it.
  • A container that failed a move like that could be left unopenable for the rest of the session. A move refused because a container was busy no longer marks the items as broken, and the decoration that returns to the lot opens on the first click.
  • Two smaller repairs on the same path: a failed lot check-in is retried once rather than waiting on the server sweep, and a decoration restored after a failed move gets the stale lot state cleared so it responds immediately.

Docs

  • The feature roadmap had one table carrying 93 epics, and the status column had turned into a place to write changelogs. One cell had reached 29,680 characters on a single line, sitting next to rows that said "Idea". The table is back to being an index: a status word, a short clause, a date, and a hard cap. It is 70 percent smaller and reads in one pass.
  • Nine roadmap sections had grown their own append-only diaries; each one moved into the plan document it already linked, and the UI Toolkit conversion history became a doc of its own. Moving it turned up plan documents that had gone stale against work that already shipped, so those are current again.
  • Marked the transport swap done on the roadmap and released the epics that were queued behind it. The render pipeline move is now next in line for client churn, and the capacity proof retargeted from a cutover window that has already passed to the go-live soak.

Networking

  • The move off the old networking middleware onto our own transport is done. Client and server both run on it, and the old layer is out of the serving path entirely. What is left is housekeeping: cutting the archive branch and deleting the vendor code from the repository.

Rendering

  • Swapped the client's image effects onto Beautify: bloom, depth of field, colour grading, vignette, dithering and antialiasing now run through it, and ambient occlusion moved to HBAO. Fog and motion blur stay on the old stack, which is the only thing still serving them.
  • Every scene can now carry its own look. Drop a Beautify_<SceneName>.asset next to the others and that scene picks it up, with no edit to the scene file itself.
  • Added Beautify Volume, a region you place inside a scene that fades to a different look as you walk in and back out again as you leave. Each volume picks which groups of settings it owns, so a cave can take over the colour grade and vignette without touching the bloom the rest of the map uses.
  • Found the old stack was flattening the frame to 8-bit colour before anything downstream ran, and separately overwriting the depth setting that nameplate occlusion and ambient occlusion both depend on. Both fixed.
  • Wrote 80 tests over the new blending: how two overlapping volumes resolve, what happens when you turn back halfway through a transition, and a guard that stops an old effect being switched back on and grading a scene twice.
  • Towns and dungeons now get their own baseline look, so all towns can be tuned as one thing and all dungeons as another without setting up each scene by hand. A dungeon starts out darker and more enclosed, with torches carrying more of the light.
  • The Saturation and Brightness sliders now adjust the look a scene was given rather than replacing it. Left where they are, a scene looks the way it was set up; moved, they still cover the same range as before.
  • The whole post-effect stack is now tunable live from the in-game tweak window, under a new Rendering section: the scene grade, bloom, vignette, sharpen and dither, plus ambient occlusion, fog and motion blur. The values shown are whatever the scene you are standing in was given, so they change as you travel.
  • Fixed a black screen that hit every scene after the post-effect stack moved to Beautify. The vignette has two separate controls, a radial falloff and a flat whole-screen wash of the vignette colour, and the wash had been set to full in all three scene profiles and all five gameplay presets. Every pixel came out the vignette colour, which is black. The world is back; the UI had been drawing correctly on top of it the whole time.
  • Added a test over the vignette settings that reads both the scene profile assets and the shipped gameplay presets, so the wash value cannot climb back above zero without a build failure.
  • Retuned the vignette strength in the three scene looks. The numbers had been read as fractions of a maximum, but the effect scales them by 32 before use, so the default was reaching solid black 46 percent of the way out from the centre. Corners now darken gradually instead of ending in a hard border, and dungeons stay the most enclosed of the three.
  • Took the depth of field back off the world. The move to the new post-effect stack had rewritten the lens focal length from 1mm to 50mm, and blur grows with the square of that number, so everything past a couple of metres in front of you went soft. Conversations, the spyglass and photo mode still blur, since those derive their lens from the camera and were never affected.
  • The Saturation slider does something again. The old and new colour controls look alike but sit on different scales: the new one is neutral at zero and the slider had been mapped entirely above it, so every position added colour and none removed any. It now runs from clearly muted through the authored look to noticeably richer.
  • The Saturation slider is a real saturation slider now. The new post-effect stack has no equivalent of the old control, only a vibrance setting that can add colour but never remove any, which is why the option did nothing no matter where it sat. Saturation is its own step again: all the way down is black and white, the middle leaves a scene exactly as its artist graded it, all the way up roughly doubles the colour.
  • Depth of field joined the tweak window, so focal length, aperture and focus distance can be dialled in game instead of only being switched on and off.
  • Scene looks can now set their own saturation, so a dungeon can ask to be drab and a garden vivid, and a zone volume can fade between the two as you walk in. The player Saturation option multiplies whatever the scene asks for, which keeps the bottom of the slider black and white everywhere and the middle exactly what the artist set.

Tooling

  • Removed the commit guard that refused any commit touching more than 150 files. It was added in July after two commits accidentally swept in thousands of unrelated files, but it turned out to block ordinary bulk art work far more often than it caught a mistake, and today it stopped a 3,000-file material-version update. The commit script the team uses builds each commit from an explicit file list, so the original problem is already handled without a blanket limit. The checks that catch real build breaks are unchanged.

World

  • Decoration now works throughout the Stone Dungeon Hall with Secret Door (T intersection) in player dungeons. Only the hidden corridor behind the secret door took floor and wall pieces before, the wide room at the front took nothing at all, and no part of the piece would hold anything on the ceiling.

Audio

  • The male Naughty Brats in East Sanctus Forest were barking lines like "I just want to go home!" in a grown man's voice. They now have a boy's voice, and the female brats have a girl's voice instead of the older-sounding one they had.
  • Traced the wrong voice to the step that sorts NPCs into voice groups: these characters were never recognised as children, so their voice came from the adult pool. Fixed for them and for the general case, with a test so the next child NPC added does not land in the adult pool the same way.
  • Added a boy voice to the cast. The voice catalogue we license has no male child voice at all, so twenty-five boys around the world had been sharing girls' voices; the new one is built from an existing child voice pitched down, and sits a clear step below its female counterpart on the same lines.
  • NPC voices stopped reading stage directions out loud. Some dialogue is written as a gesture rather than speech, and Ailith in Blood River Outskirts is written entirely that way: all seven of her replies are descriptions like (Furrows brow) and (Rude gesture), and the voice pass spoke every one of them word for word. She walks with you during an escort and repeats lines on a timer, so it came up again and again. A line that is nothing but a direction is now silent, and directions written inside a sentence, such as (grins) or (whispers), are skipped while the sentence itself is still spoken.
  • The same pass covers the asterisk form of the markup, so horses, cats and chickens no longer have a human voice pronouncing their noises as words. Asides a character really does say are kept, including the sales vendor explaining a fee of (5% of the sale value), and the rule only fires when the whole line is a direction so emphasis inside a sentence still survives. On-screen text is untouched either way, so the description still shows in the conversation window and above the character.
  • Kobolds outside Grusk had lost their voices. Their dialogue still appeared on screen with nothing spoken behind it, which covered King Korabar and Krishach in the Caverns of Skrekk, the Skrekk gate guards and merchants, Commander Kormag and the rest of the Kobold Expeditionary Camp, the Graff Gem Mines raiders and Hephaestus in Artifice. 1,114 missing lines of speech were recorded and are live now, on your next login.
  • The cause was a recast three days earlier that moved all 59 kobold conversations onto the growling kobold voice so none of them would keep a human one. A recording is filed under the voice that speaks it, so changing the voice left every recording those characters already had under a name nothing asks for any more. Grusk had the treatment first and kept its audio, and everywhere else had none.
  • The voice tooling gained a coverage report that lists every character with no recorded audio at all and fails if it finds one. A casting with no recordings behind it is still a valid casting, so nothing had objected for three days. Two more options scope a recording run and an upload to a single cast, so unrelated work in progress is not swept along with it.
  • A sweep of the whole cast for the same fault found four more: the Frost Giant in Jotungrund, who had no audio at all since his voice was deepened; Sequanna and Samael in Malice; and Billy in Highvale Outskirts. Each had been given a new voice without the recordings being made under it. 130 lines were recorded and are live. Every one of the 2,251 speaking parts in the game now has its audio.
  • NPCs who walk you somewhere during a quest now speak aloud. Their route lines are written into the scene rather than into a conversation file, and the voice tooling only ever read conversation files, so 280 lines across 50 characters had no recording behind them. The 264 missing clips were made and are live on next login.
  • Mara and Essen in Valhold Palace, Samael in Highvale, and Krishach announcing the King in the Caverns of Skrekk were the reported cases. Twelve further routes are handed to their NPC by AI graphs at run time and cannot be traced back to a speaker from the scene alone, so the tool lists those instead of guessing at a voice for them.

Tools

  • Audited every player-dungeon room piece for decorating surfaces. Of 126 pieces, 63 are complete, 57 have no ceiling surface at all, and 13 have none of any kind, including the whole Cave Stone hallway family. Seven encounter rooms are undecorable only in their with-Spawns form, which are the versions with monsters in them.

Audio

  • Interface sounds and background music no longer pick up the echo of the room you are standing in. Opening the backpack or the options menu inside a stone player dungeon used to hand the window click back with the room reverb tail on it. Sounds that belong to the world are unchanged: footsteps, combat, spells, creatures, NPC voices, the instruments you play, the phonograph and the radio all still echo.
  • Four spells that made no sound at all when cast now play one: Torpid Torment, Chaotic Clone, Tabula Rasa and Shield of Ice. Each had an empty start-effect slot, so nothing was ever created to make the noise, and all four had been silent since the original import.
  • Each of the four was level-matched against a spell already sitting right in the mix rather than given a copied volume. The source recordings span about 13 decibels, so the template value everything else uses would have left the Shield of Ice cast close to inaudible.
  • The Shield of Ice recording had been in the audio folders under that skill's own name since the original import, never wired to anything. Worth grepping for a skill's own name before picking a sound for it.
  • Five Chaos spells are still silent and unreported: Juxtapose, Chaotic Feedback, Chaotic Step, Chaotic Shield and Summon Demon. Chaos has no sound folder of its own, so each one needs a clip chosen for it.

Items

  • The Faerie Belt and a shrinking potion together no longer leave you smaller than either one alone. An earlier fix reached only one of the two belt archetypes in circulation, and the tests loaded that one, so they passed while the belt most players own was still stacking. The shared cases now run against both.

Quests

  • The window that opens when an NPC asks you to hand over items used to show your whole pack for a moment before narrowing to the items being requested, because the narrowing was not worked out until a server reply came back. It is narrowed from the first frame now, and the line naming what the NPC wants appears with it instead of a moment later.
  • An empty side of that window now says why it is empty, rather than leaving a blank box that reads as a broken window: either you are carrying none of what was asked for, or your pack is empty. A new Show all items checkbox turns the narrowing off, so an item the window did not recognise can still be handed over.

Voice-over

  • Gus, the Peaceful Automaton in Blood River Outskirts, spoke to players in a human woman's voice. He was one of fifteen automatons in the game, thirteen of which were reading their lines in ordinary female voices. All fifteen now speak with a machine treatment, and Gus moved to a male voice to match his name.
  • The automatons were miscast because the casting tool filed them under creatures, an archetype it holds no voice preferences for, so each machine was picked by a tiebreaker instead of by fit. Machines are their own archetype now, and a new guard fails if an automaton is left on a plain human voice. The same guard already existed for kobolds and skeletons after they went wrong the same way.
  • Each automaton kept a voice of its own through the change, so the Soltown banker and the two Soltown trainers still sound like three different machines rather than one repeated one. The Oracle was left alone.
  • The six gate guards in Estgard were speaking with a woman's voice. They share one conversation file, so a single wrong casting covered all of them: Olir Thallison, Halvdi Hamison, Aklir Vikison, Brodi, Dolfi and Galli Hildison. They now use a deep male voice, and the three women on the same gate keep theirs.
  • Every boy in the game was cast to a girl's voice. Only three voices in the catalogue sit in a child's pitch range and all three are female, so there had been nothing else to give them. Four new boy voices join the one added last week, and all 34 boys moved onto them, spread so a town does not hear the same boy twice. Brittany Alley has seven boys and is the one place two repeat.
  • A boy voice is made by taking a voice already in a child's range and moving it down, which drops the formants with it. Pitching an adult man up instead lands between the two registers: one candidate measured 164 Hz after treatment, above the adult male band and nowhere near a child. The five boys now run 218 Hz to 374 Hz, measured on the generated clips.
  • Neither problem had ever been reported by the casting tools, because the gender audit exempted the three child voices. One of them is also an ordinary adult female voice, so the exemption followed it onto the Estgard guards. The exemption is gone, a wrong-sex casting now fails from any source, and 35 rows across 25 scenes were wrong when the check was turned back on.

Localization

  • The give-items delivery window was the last of its family still drawing raw English. Its title, both pane headings and the accept button are translatable now, alongside the four new lines added with them.

Tools

  • Textures can now be upscaled from the Project window: right-click one, pick Upscale Texture 2x, confirm, done. The bulk tool needed a scene scan, a manifest export, a preview page, a closed Editor and a command line to do the same thing to a single texture.
  • The upscale dialog asks one question, whether the texture tiles, and answers it first from the wrap detector so you are usually just confirming. If the texture is already bigger on disk than its import cap allows, it offers to raise the cap instead: same detail, no processing.
  • Single-texture upscales render only the model being written instead of three plus a comparison page, and the run applies with the Editor open rather than asking you to close it.
  • Fixed three upscaler bugs found on the way: normal maps could not be applied at all under the default model, the run report labelled every row with the image format instead of preview-or-apply, and a fresh checkout failed inside Python when the model file had not been downloaded yet.
  • Scene saves from automated editor sessions no longer deadlock on the invalid-ID warning dialog. The check still runs and logs its findings; the popup is skipped for automation and kept for people.

Combat

  • Combat bar: a glyph locked into a slot is marked with a frame again, and it is on from the moment you lock it. A player reported a white box appearing around every glyph they fired and staying until they changed scene. The frame had become a solid white rectangle drawn on top of the glyph art instead of the original dark outline behind it, and it was only ever applied when the highlight changed, so it turned up on the first use and nothing afterwards could clear it. Unlocking a slot, clearing its glyph or swapping decks now removes it straight away.

Quests

  • Krishach had a single line of route text across the 22 stops of his escort to King Korabar, and the bark system he would otherwise draw on is switched off for the length of an escort, so he made no sound the whole way. He now has seven more lines spread along the walk, two of them text he already had and never got to use.
  • Triaged a tester's full new-player playthrough writeup (character creation through Soltown) item by item: traced all 12 reports to root cause, answered the shared gold/bank question (intended, matches live), and identified nine fixable defects including a game-wide bug where quest journal location hints were never displayed. Triage doc in docs/research/, fixes landing next.
  • Recover Liliana's Painting now leads players to the hidden key: a compass marker on the hiding spot, a locked-door message that says where to search, and a fix for the task ticking itself complete on key pickup instead of at the end. Soldiers also answer where-is questions for the shack, key, painting, Hartley, the helpful automaton, and the tutorial.
  • The Battle of Solace Bridge now teaches the basics in time: a new tip explains equipping a weapon right after you pick one up, and the Z key and hotbar tips show before the first zombie even if you are unarmed. They used to require already holding a weapon.

NPC Voices

  • Fixed the guards in Highvale Outskirts, where several unnamed guards who look like men were speaking with a woman's voice. They share one set of dialogue between four spawn points, so the voice had been picked once for the whole group; the male ones now sound male and the one female guard in that group keeps the voice she had.
  • Guard Helga in Highvale Outskirts had a man's voice on a female character. Her conversation carried the wrong gender, which is the field both the voice casting and her spoken pronouns read from. Two more guards in that scene carried a neuter gender on single female characters and were corrected at the same time.
  • Floyd the farmer changed accent when you followed him from Highvale to Highvale Outskirts. He holds a separate conversation in each place and each had been cast on its own. Both now use the voice from the outskirts.
  • The Sergeant in Harvest is a child who insists he is a guard, and the voice casting believed him: his name, title and role all read as a guard, so he drew an adult man's voice. The casting tool now also reads the conversation file's own name, which is where his age was written down all along.

Voice Tools

  • Per-character voice pins can now be scoped to one scene. The pin that keeps the female Highvale guard on her own voice sits on a conversation name shared by 61 characters across ten scenes, and an unscoped pin would have generated about 4,100 lines of guard dialogue to voice one of them. Scoped, it generated 26.

Design

  • Published the bank deep dive, The Well-Traveled Vault: the account-wide vault reviewed against Ultima Online, Old School RuneScape, World of Warcraft, Guild Wars 2, Elder Scrolls Online, Final Fantasy XIV and Albion Online, ending in 20 proposals with per-proposal comment threads and votes. The through line: Shroud has had the account-wide global bank since 2018, six years before WoW shipped one as a headline feature, and the window never says so.
  • Wrote the internal bank reference to go with the deep dive: how the vault is stored, why stacks split by deposit town, the slot limit math and its growth paths, and the full research record from the genre study and community threads.

Balance

  • Researched bard balance in depth: documented how each song actually works in the current data, reviewed player feedback going back to the skill line's release, and studied how other MMOs handled bard and support classes. Wrote the findings and options into the internal balance notes.
  • Corrected several errors in the internal bard skill reference (targeting values, effect durations, instrument behavior).

Voice

  • Recast two Solace Bridge Outskirts voices from the playthrough feedback: Filmore the Farmer trades his customer-service cadence for a gruff, weathered voice, and the Forgetful Ghost speaks as the woman she turns out to be. Also voiced the soldiers' new direction lines. 326 clips generated and published, coverage clean.

Server

  • Chased down the red OpPerf chat message that shows in dev clients when a server operation runs long. The one that started it (a 217ms bag-contents fetch) turned out to be a rare stall, not a real cost: that operation averages 1ms across 17,746 calls a week. The useful part was the profile that fell out of the logs: the operations that genuinely run long are the merchant, transfer, and crafting ones that make many database round trips in a row, and each one holds up its whole scene while it runs. Wrote the findings and query recipes into a new operations doc, and flagged three cheap fixes: a deed-ownership check that queries once per deed, a vendor index job that rescans the whole auction table every couple of minutes, and a tester-presence sweep that scans the user table with pattern matches.
2026-08-07 · 118 items

The New Britannia Herald

Spike walls that never bit, a blank map, and 533 repainted icons

Headlines

  • The 39 event award trophies are tradeable again. They were made No Trade in July on a wishlist request; testers made the case against it, and the restriction is off for trophies already in player hands as well as new ones.
  • Taming, creature awareness and the whole threat model joined /tweak: a tester can now answer "how many collars does this creature cost me" in a minute instead of by taming a hundred of them.
  • A new texture upscaler doubles the resolution of art that was authored small, and tiling textures come through it without seams.
  • The dungeon generator moved into the Dungeon Builder window and learned five build styles, with hallways between rooms and outward growth as the new default.
  • Placed containers can be moved into other placed containers, and a failed decoration move puts the item back instead of stranding it.
  • Three traps that have been dealing a rounding error for years: both spike walls and the swinging log had their damage switched off by a strength setting of zero, and nothing was checking.
  • The in-game map works again. It had been blank for most players for two days: the map read its data once during startup, too early to succeed, and that one failure stuck for the rest of the session. It now loads when something first needs it, and four other startup readers with the same flaw were moved off it.
  • The tester all-skills buff was showing every skill at the level you set and giving none of the benefits. It grants the passives now: health, focus, carry weight, attributes, attack skill and resistances all move with it.
  • Creatures that cast spells standing perfectly still now animate. One skill names one animation state, the creatures do not all have it, and 140 creature and spell pairs quietly played nothing.
  • Hallucinogenic Gas stopped fighting itself: the swamp mushroom debuff read its own penalty back into its own formula, flipping every frame. Its tooltip is readable now and the penalty lands at full strength.
  • Wall flags at Kingsport, Owl's Head, Ardoris and on castle lot walls point downwind again after years of holding whatever heading they were placed at.
  • Salvage stopped keeping secrets: item tooltips now list the components a salvage can return and the odds of each, read from the same table the salvage rolls.

The Herald

  • The New Britannia Herald for 2026-08-06 is up: Thursday brought a full Dungeon Builder panel, a generator chest that runs backwards to swallow your rooms, and a fifteen-section manual for the people building them. The Guild Finder went from nothing to shipped in about fifty minutes. Also, seven creatures that were supposed to enrage had their rage wired to a trigger nothing in the game ever pulls, and one Moon skill was making you worse the more you trained it. Listen or read the transcript (17 min). Subscribe in any podcast app: /blog/podcast.xml

UI

  • Hovering a skill on the combat bar shows the tooltip in one column again. On a handful of runes the green rewards line was wrapping into a second column beside the tooltip, which looked like a floating box outside the panel. The Skills window is unchanged and still lays a very tall skill out in two columns.
  • Player dungeon entrance window: the title now splits across two lines so the [PvP] tag stays visible. The custom name (or foyer type, when unnamed) sits on the first line with the tag, and the foyer type moves to a second line in parentheses. Long custom names wrap on their own line instead of pushing the tag off the edge.
  • Right-clicking the floating name over a character's head no longer opens that character's menu. Players who swing the camera with the right button kept opening those menus mid-fight, where the menu covered the fight it was opened over. The menu still comes from the status bar, the target, pet and party frames, and from the character's own body, and left-clicking a name still targets it. A new Interface option, Right-Click Menu on Overhead Nameplates, puts the old behavior back for anyone who wants it.
  • The town directorys Show On World Map opens the map focused on the town you picked and rings it, instead of a "Map not available." message. Picking a town on a different overworld gives a "Travel to X" line whether you press the button or double-click the row, and the button no longer sits greyed out on those towns.
  • Reset Window Layout now brings windows shrunk to their minimum back to their default size, not just their default position.
  • The player health and focus bars are back on the live-game silhouette after the last pass ran them too tall. The bars themselves are thin again, the current-over-maximum figures still fit and centre on the bars, and the title, name and guild lines above them stack tighter. Options with the numbers switched off are unchanged.
  • The Leaderboards window now nudges you off an empty default board: when the ranked table is empty the message above it reads "No entries on this leaderboard yet. Try another timeframe, or another leaderboard from the list." rather than just the flat "No entries." that used to read as if the window were broken.
  • The Blocked Players window no longer opens in Solo Player Offline. Blocking has no meaning in an offline session, and the window was still reachable there by its keyboard shortcut, so it now stays behind the same online check the Friends and Looking For Group windows already used.
  • The buff and debuff icon tooltips now report the amount an effect has applied rather than recalculating one every frame the pointer rests on them. Hallucinogenic Gas was the case where that showed: six attunement lines changed faster than they could be read.

Client

  • Quieted a false-positive client log warning that fired on entry to busy towns like Kingsport and Ardoris while the local spawn queue was still working through its expected first-load backlog. NPCs and mobs still populate the same way and the diagnostic still surfaces a real backlog that persists after you settle in a scene (tracker #286).
  • Fixed a case where a conversation quest flag authored with a stray leading or trailing space stored under a different key than the check that read it later. A one-time NPC response that saved a padded flag would repeat forever; a required-flag gate that named the padded flag would never open. Flag names are now trimmed on both sides.
  • A full bank now accepts a deposit that would just top up a stack it already holds. Non-stackable items and stacks with no matching partner still get the buy-more-space prompt (#2048).
  • The tall flags on stone walls now turn to face the way the wind is blowing and keep turning as it shifts. Each one used to point whichever way it had been placed, so the seven around the Kingsport docks sat at six different headings. The same flag stands on the perimeter wall around castle lots, which is where it was reported.
  • That flag's cloth was driven by a physics component the engine dropped years ago, and the upgrade left two empty objects behind where the simulation used to hang. It has been one rigid mesh holding a single frozen pose ever since. The mesh is still one piece, so the flag swings around its pole instead of rippling. The flat banners that hang against a wall were left as they are, because turning those into the wind would pull them off the stone.

Community

  • Filed five player suggestions from the forums to the wishlist tracker: an official Support tab, a skill glyph at level 160, a Lua free-text emote function, Episode 2 mining locations, and higher jukebox limits with an option to hide animal spawner labels.
  • Ran a deep research pass on Twitch Drops for wishlist request #2328: how the drops program works for a studio in 2026, how nine large MMOs and a dozen smaller games run their campaigns, what our community earned for watching streams in the telethon years, and what the account site and reward pipeline can already deliver.
  • Wrote the Twitch Drops plan. The in-game delivery path already exists in the web store reward system, so a first campaign needs no new game code; the schedule is set by a business step only the studio can take, registering a Twitch developer organization and claiming the game category. Near term the plan recommends reviving the streamer cloak, streamer title, and Friday prize phrase programs for community streamers.

Content

  • Fixed a collider on the crypt-door prop in Solania Catacombs that was throwing physics errors during the build. The doors bake cleanly now.
  • Patrol pets and NPCs on dock and shore lots no longer walk off the edge into the water. Wander picks that would have landed off the walkable ground are dropped for that cycle instead of being pulled onto the very edge, which used to trigger a fall/snap-back loop with the Turkey and COTO cat decoration pets. Inland patrols are unchanged.

Economy

  • Event award trophies can be traded again. In July all 39 of them (decoration contest, fashion, fishing, lava fishing, pumpkin growing, treasure hunt, and the PvP awards, floor and tabletop) were made No Trade from a wishlist request, which blocked trades, player vendors, mail, and merchant sales. Testers argued against it, and the restriction is now removed for trophies already owned as well as new ones. Mounted fish and taxidermy trophies were never part of that change.

Audio

  • The Audio options tab had two volume sliders whose names both said "voice". The first one controls grunts, growls and death cries from players, townsfolk and creatures; the second controls spoken NPC conversation. They are now called Character Voices and NPC Dialogue, and the cache setting below them is now NPC Dialogue Cache Size. Only the names changed, so saved volume settings carry over. Reported by Rinaldi.
  • Every skeleton and lich now speaks with the raspy bone voice. The skeleton barkeep in The Fall, the Skeleton Warshaman in the South Boundless Forest, the three named undead in the Lich Dungeon and the Obsidian Witch in Vikland were the last ones still talking in ordinary human voices.
  • Skeletons that rise from a dug-up treasure chest got the bone voice too, while the living bandits who rise from the same dig kept their human ones. Both gangs share one conversation, so the voice is now chosen by the body that spawned rather than by the dialogue.
  • Fixed NPC spoken dialogue volume responding to two sliders at once: the Character Voices slider was also trimming NPC speech. Spoken dialogue now follows only the NPC Dialogue slider, and Character Voices keeps combat grunts, death cries, and creature roars. Reported by Rinaldi.

Testing Tools

  • Taming is now tunable from /tweak. Base chance, what each level of Tame Creature is worth, how much a wounded creature helps, what a maintained specialization buys, how much harder each creature level makes it, and the chance the collar is used up. Those were six numbers written inside one method, so "how many collars does this cost me" could only be answered by taming a hundred things and counting.
  • Two more categories opened alongside it. Creatures scales how far creatures notice you, call for help, wander, flee and chase before breaking off. Threat holds the twelve numbers that decide what a creature attacks, which is the real answer to why a pet does or does not hold aggro.
  • Neither of those sits under Pets even though pet work is what turned them up. Creature awareness reaches every creature in the world and threat decides what everything attacks in every fight, so each has its own category and every value in them says how far it reaches in its own description. A tester opening Pets cannot retune the world by accident, and a test fails the build if a description forgets to say so.
  • A pet's tether is deliberately left out of the creature leash scale, so winding the world's leashes does not drag your own pet along with it. Three creature values are read once when a creature spawns rather than continuously, so those reach creatures that appear afterwards and nothing already standing in front of you. The window says which are which.
  • Stealth joined /tweak. How strongly a hidden character shimmers, how much of one you see at day and at night, separately for yourself, another player and a creature, and how long the fade takes.
  • Those numbers are the reason it is worth doing in-game rather than by eye. They run from 0.5 down to 0.0005, they sit on top of art that carries its own strength, and the bug that left hidden players plainly visible to everyone was one of them sitting at 30 against a default of 0.5. No amount of adjusting the others would have found it.
  • The rate at which creatures reconsider what they are fighting is now tunable too, which matters more than its size suggests: a two second window to break away and hide is only one or two of those checks wide, so a window that is too short and a check that is too slow look identical from where the player stands.
  • Two things the survey turned up that were left alone rather than exposed. One stealth value in the settings file is read by nothing at all, and a dial that does nothing is worse than no dial. And pickpocketing cannot work for a reason that is not tuning, so a dial there would have read as "enabled" while the attempt kept failing.

Traps

  • Traps got an audit before they got a fix. There is no Trap class in the game: a trap is a trigger, a wiring graph, an FX controller and a damage volume bolted together in a prefab, and those four pieces answer to four different authorities. There is no server-side trap code at all, and trap damage is applied by the victim own client to itself, which is why a plate could fire for one player and not the person standing next to them. Written up as a new systems doc with the census, the real damage numbers against real health pools, and the target architecture.
  • The audit turned up things worth knowing on their own. Twenty-seven of the forty-eight damaging traps have no wind-up, so the effect and the damage land on the same frame and there is no moment in which they can be reacted to. Twenty-one do have one, which makes them the pattern for the rest rather than something to invent. The most-placed real trap, at 124 instances, has no trigger and no effects controller at all. Most damaging traps cannot hurt monsters. Three shipped traps carry a potency of zero, which switches off their own damage formula and leaves them dealing 1 to 5. And the tooltip that would tell a player what a hazard does is already built and read by nothing.
  • The rules a trap runs on are now testable on their own. Six small pieces moved out of the components and into shared code the server compiles too: how long a timed trap stays on, who is standing in a trigger volume, whether a chance trap fires, how a logic gate combines several triggers, what a trap may take off a player, and which damage volumes belong to the trap system at all. 69 new tests, nothing wired up yet.
  • Writing those tests found two things. Timed traps read the clock through an expression that goes negative for half of every 49 day cycle, so the schedule ran backwards for weeks at a time. And a single tick of the flame spout rune is already over the damage ceiling for a level 50 character, not just the full three-tick burst, so the player dungeon version needs its own numbers rather than the ones every developer flame trap uses.
  • The lightning traps in Quel Shardfall dealt damage and played their charge and strike sounds without ever drawing lightning, which is the highest priority trap report on the tracker. Each of the seven emitters names its own object as the place to put the effect, and the code that resolves that name only ever looked through a character skeleton, giving up early on anything that is not a creature. A scene prop is not a creature. The damage volume and the audio sit on separate objects, which is why the trap looked like it worked and only the visual was missing.
  • The Fire Trap decoration sat with its flame permanently lit from the moment it was placed, on Windows only. Its particle systems are authored to start playing on their own, and the trap effects controller never actually stopped them. It asked the distance culling wrapper to stop them instead, and that request does nothing until the object has been classified as visible, and nothing at all when there is no wrapper. The projectile code next door had always stopped them directly. Also fixed: a repeating trap reads a clock that runs backwards for half of every 49 day cycle, so the rhythm of tesla coils and lightning groups reversed for weeks at a time.
  • Every trap component now asks one question in one place before it does anything. Until today a trap decided whether it was allowed to act in three different ways depending on which file you were reading: some checked whether they owned the object, some took a lock that only works while everyone agrees to use it, and some asked nothing at all and ran on every machine at once. Naming the three changed none of them, which the tests check rather than the commit message claiming it. The switch that collapses them into one is in place and off.
  • Trigger areas can now be owned by the scene master, the same machine that already runs every creature in the zone, instead of by whichever player happened to arrive first. The bigger change underneath is that a trap stops guessing who is standing on it. It used to need the owning machine to physically see another player cross the boundary, which it often could not, so a message saying I am standing here was deliberately thrown away and the code that handles someone leaving had been commented out for years because there was nothing to remove. Each player now reports themselves in and out, the server stamps who sent it, and leaving means something.
  • Traps that fire on a chance rather than every time now roll the same result on every machine. Fifteen of the fifty-four triggers in the game are chance based, and each machine used to roll its own. That is also why the recovery pass that rescues a stuck trap had to skip them: re-rolling every five seconds turns a one-in-ten trap into one that always goes off eventually. All of this ships switched off, because turning it on has to happen for a whole room at once and wants two people in a dungeon to check it properly.
  • Both spike walls and the swinging log trap have been harmless for years. Their damage strength was set to zero, and zero does not mean weakest in the formula those traps use, it switches the damage off: they were dealing a handful of points instead of a real hit with a bleed and a hold. Every other trap in the game is set to at least one. Set to one, and a new check refuses any trap prefab that ships a zero or goes above the strongest trap currently in the game.
  • The old fireball trap started a fresh timer every frame while it was waiting to fire, so a one second delay queued up sixty to a hundred of them. It also fired on every machine independently and then fired again for each request the owner received. It now fires once. The full menu of traps worth adding later also went into the system doc: what is free to build from parts already in the game, what needs art, and what needs engineering, with nine authored damage effects that are sitting in the project used by nothing.
  • A whole trap now runs with no Unity in it. It reaches the world through three small interfaces: where time comes from, who is standing in this volume, and everything the trap makes the world do. No game object, no collider, no room, no frames. The tests drive one against a fake world in about forty lines of plain code, including two independent copies of the same trap stepped through thirty rounds of a coin flip that have to agree every time. That last property is what makes handing a trap between machines safe, and it is the one a per-machine random roll could never have had.
  • This is the argument for traps being the right first thing to move onto a server we run, made concrete rather than argued. A creature needs navigation, a behaviour tree and animation to simulate, which is why a headless client is deliberately kept out of the host role today: making one the host freezes every creature in the zone. A trap needs to know who is standing in a box. The same code compiles into the server build, so it is the build checking the claim rather than a comment making it.
  • Lava, storms, poison fields and the other areas that hurt you over time kept a schedule that could fall behind, and then caught up by delivering every missed tick one after another. Thirty seconds away at the usual pace is ninety hits inside a handful of frames, which is what players have been reporting as damage over time spiking. It now picks up where it is rather than replaying what it missed. The list of who an area recently hurt also never got cleaned up, so a pet that died came back still carrying its old entry.
  • That is half of those two reports rather than all of them, and the commit says so. A hazard applies a real lasting effect with its own duration, so an effect that outlives the volume does so by design; making a storm dismiss what it created when it ends, and clearing those on death and revival, is a separate change that wants a reproduction first.
  • A correction to this morning. The audit said no trap in the game has a wind-up. Counted properly across all 83 trap prefabs, 21 of the 48 damaging ones do have one and 27 do not. The explosive barrels and chests, the geysers, the rockfall, both lightning traps and the bear trap are all authored with a short delay before they fire and a long one before they reset, which makes them the pattern for the rest rather than something to invent. The 27 without are now named individually so the authoring pass is a work order instead of a survey.
  • The rules for wiring a trap in a player dungeon are written and tested. A trigger and an effect each carry one of eight letters, and within a room a trigger drives every effect wearing the same letter. Pointing a plate at a dart wall is still how you do it; the letter is just how it is stored. That choice means the wiring is stored nowhere new at all, because it is a plain consequence of which decorations are standing in the room, and the game already remembers those.
  • Three refusals do the real work, and all three happen when the owner builds rather than when a visitor finds out. A door that shuts behind you must have a lever on the inside and must be able to reopen. A trap may not be aimed at creatures, so nobody builds one to farm their own dungeon. And only the four effects that actually take health count against a room limit, so a room full of atmosphere is not a room full of traps. Six of the ten effect pieces cannot hurt anyone by construction rather than by tuning.
  • The trigger and effect pieces for player dungeons exist now, along with the room that works out what drives what. A room re-decides every binding from scratch whenever a piece is placed or picked up, which is how the totem system already works and is the reason a picked-up piece cannot leave anything wired behind it. Effects expose only choices from a list, and how hard one hits is baked into the piece rather than picked, so nobody can tune their own trap up.

Maps

  • The 3D dungeon map turns a full circle now. Rotation was never limited, but a drag moved it 0.4 degrees per pixel, so a whole turn needed 900 pixels of travel across a window 520 pixels wide and one comfortable stroke bought about 90 degrees. Drags now cover 0.6 degrees per pixel, and two rotate buttons joined the row below the map, each one turning the model continuously while it is held. Reported by Rinaldi (tracker #3141).
  • A compass sits in the bottom left of the 3D dungeon map: the four cardinal letters on a ring, plus an arrow for up. Both are drawn from the angle you are looking at the map from, so the ring flattens to a circle and the arrow shrinks away as you tilt toward a top-down view, and letters on the far side of the ring dim.
  • Holding the right mouse button on the 3D dungeon map slides the model around the window, at the same speed as the pointer whatever the zoom, and it cannot be pushed past the edge of the map. A Reset button restores the view the map opens with, recentres on you and switches Follow back on. A drag that leaves the map window no longer hands the held button to the camera behind it.
  • The in-game map came up blank for most players. The map read its data once during startup, before the game had finished loading its art, and a read that early failed for good: the failure was cached for the rest of the session, so every map stayed empty until the client was restarted, and it usually came back on the next start. The map now reads that data the first time something actually needs it, and tries again if it is not ready yet.
  • Four other startup readers had the same shape and moved onto the same lazy load: scene information, tweak values, emote data and the user stat rules. Any one of them could have failed the same way given an early enough reader. A new test scans the client source and fails the build if a startup reader goes back to loading this way.
  • Two players reported the blank map in game within a minute of each other. The logs held no map error of any kind, only 4,400 unnamed startup failures across five builds, in 32 of the 37 client sessions started since it first appeared two days ago.

Build

  • Last night's nightly build produced nothing. The build machine crashed 90 seconds in, while compiling, and the automatic stop-everything-else rule then cancelled the Windows and Mac builds behind it. The code was fine: another job built the same commit successfully five hours later. The build now retries once when the machine itself falls over, and refuses to retry when the code genuinely does not compile, so a one-off hardware hiccup no longer costs a whole night's build.

Design

  • Audited all eighteen proposal pages against the work that has actually been built. Two cards were missing their Built badge, the dungeon point budget and the crafting batch queue, and two more carried it in the summary table or on the card but not in both places. Forty built cards across six pages now agree with each other.
  • A built proposal card now reads Built on every page. The guilds and crafting pages had been saying Shipped for the same state, and the green edge marker that flags a built card was referenced but never defined on three pages, so it had never appeared there.
  • Rechecked the bug lists on the Earth and Death magic proposal pages against the tracker. Seven of the eight Earth findings and five rows on the Death page have been fixed since those pages went up and now say so, and one Death finding was closed as not a defect and is marked that way.

Skills

  • Skill icons can now come from a swappable art set. The art the game shipped with stays the default and nothing looks different yet; the picker in Options stays hidden until there is a second set to choose. A set is a folder of icons reusing the same filenames, and the fallback is per icon, so a set that redraws forty glyphs still shows a complete skill tree with the rest in the original art.
  • Built the generator that draws an alternate icon set. It never redraws a frame: the outer border colour tells a player whether a skill is an attack, a buff, a heal or a passive, so the generator crops out just the emblem in the middle, redraws that, and drops it back onto the original border. Twelve icons were generated as a test and reviewed. The emblem also sits further in from the edge than it used to.
  • The alternate skill icon generator now runs on our own graphics card instead of a paid service, so drawing a full set costs power rather than money. It redraws the middle of the icon and leaves the colour-coded border alone, and it checks the disc colour before and after so a restyle cannot quietly turn a fire skill into a water one.
  • Tried two local approaches on the same twelve test icons and they fail in opposite directions. One repaints boldly but reinvents anything with people in it, turning a knife fight into a smear. The other keeps every subject intact but barely changes the art. The second is the one worth pushing, because not bold enough is a dial and redrew the wrong picture is not.
  • Reworked how alternate skill icons are drawn. The border is now stamped over the new art rather than the art being dropped into a round hole, so a star-shaped or shield-shaped icon fills its own shape instead of showing a circle with the old corners around it. The shapes are worked out from the art itself: icons that share a border differ only where the picture is.
  • The instructions given to the art tool were telling it to keep everything the same, which it read as permission to tint the old picture rather than repaint it. Rewritten to demand a full repaint while holding each icon to the colours it already had, so a frost spell stays icy instead of coming back on fire.
  • Fixed alternate skill icons sitting off centre in their frames. The area handed to the art tool is now square and centred on the icon rather than taken from a bounding box, which was both nudged sideways by a stray hairline in the shape detection and squashing the six-sided frames by about a tenth.
  • The alternate icon generator now draws several at a time, which turns a full set from about three hours into about thirty minutes for the same cost. Added a checker that runs over a finished set and fails it on the four faults that are invisible by eye: a border that moved, a filename nothing will ever ask for, a missing import setting, and an icon that came back barely changed.
  • A second set of skill icons is in. The original art is still there and still the default; the new set repaints the picture inside all 533 icons in a fuller, more colourful style. You pick between them in Options under Themes. The border of each icon is untouched, so the colour that tells you what kind of skill it is, and the shape that tells you which tree it came from, still mean what they always meant.
  • Images:
  • Added the skill icon sets to the public roadmap, and widened the test that proves choosing a set actually swaps the art. It had only been checking a single icon, which a resolver that worked for one file and no others would have passed; it now samples twenty-five across the set.

Art Pipeline

  • Added a texture upscaling tool that doubles the resolution of source art using a local AI model. It targets the textures that were authored small in the first place, which no import setting can help: raising the import ceiling on those does nothing, because the detail was never in the file.
  • Tiling textures come out of the upscaler without seams. The usual failure is that the model has to invent something to look at past the edge of the image, so the left edge stops matching the right; the tool instead has it read across the wrap, which makes the two sides agree exactly. There is a test that proves it and a second test that confirms the check would fail if the fix were removed.
  • The upscaler runs three versions of every texture side by side, including a plain non-AI resize as a control, so the comparison decides which one we use rather than the sales pitch. It also refuses to touch things a resize would break, like the sliced border art the window frames are built from, where the corner sizes are measured in pixels and would come out wrong at double scale.
  • The texture upscaler now handles TGA files as well as PNG, which matters because most of our character and prop art is TGA. It writes them back in the same form it found them: about six in ten of our TGA textures are stored compressed, and a quarter are stored bottom-up, and both of those are easy to lose on save without the picture looking any different.
  • Preserving that saves real space. One 2048 clothing mask came out at 6.5 MB written properly against 67 MB written carelessly, and since the careless version opens fine and looks identical, nothing would have flagged it until the repository had grown by ten times more than it needed to. Every upscaled file is now read back and compared before the tool moves on.
  • The texture upscaler was turning away art it could handle. It refused any texture used as more than one kind of map, but it never checked whether the two uses actually needed different treatment. Tree bark, for instance, is used as both the main colour and the detail overlay on the same branch material, which are the same thing as far as resizing goes.
  • It now refuses only when a texture is used as both a picture and as data. Surface direction and roughness maps are numbers that happen to be stored in an image, and an AI model would invent plausible values that are simply wrong, so those get a plain resize instead. The distinction reads the name the shader uses, because a detail surface-direction map otherwise looks like a colour map to the classifier.
  • The texture upscaler can now find its own work. Point it at a scene and it measures every object, works out how much texture detail each surface actually needs at the size it appears on screen, and lists the ones that fall short.
  • It separates the two reasons a texture looks blurry, which are easy to confuse and have completely different fixes. Sometimes the art file already holds the detail and an import setting is throwing it away, which costs nothing to correct and invents no new pixels. Only the second case, where the art was drawn small to begin with, needs upscaling at all. On a test run over 120 objects, nine of the blurry textures turned out to be the free kind.
  • The list only includes textures the measurement calls visibly blurry, since each one costs four times the memory once doubled, and it flags the ones so small that even doubling leaves them short rather than running them through twice. Scanning several scenes builds one combined list, and a texture that appears close-up in one place and far away in another is sized for the close-up.

Rendering

  • Fixed a bug in the texture sizing audit that had been mislabelling terrain. The check that recognises ground materials never matched, so terrain was being graded against the rules for props and small objects, which are up to four times stricter. Ground that was the right resolution all along was being reported as too blurry; any terrain result from an earlier run should be thrown out and the audit re-run.

Images

  • A wall texture before and after 2x upscaling

Dungeons

  • Fixed the dungeon entrance window clipping its bottom buttons. The record plaque added on Tuesday made the window contents taller than the fixed frame, so the options and Close buttons fell outside it with no way to reach them. The window now sizes itself for its longest plaque, and a window saved at the old size grows to match on next open.
  • Moved the random dungeon generator's build and reclaim onto a new Generator tab in the Dungeon Builder window: piece counts by kind, the seed field, a style picker, and both buttons in one place. The chest is a plain container now and closing it does nothing.
  • Gave the generator five build styles. Sprawling Halls is the default and threads hallways between rooms while growing away from the entrance. Compact Warren builds tight and knotty, Balanced Wings grows branches evenly, Delver's Descent favors stairs, and Classic reproduces the old layouts exactly so seeds shared before today still work. Shared seeds now carry the style, like 184529/sprawl.
  • The layout policy stays a pure, unit-tested core: 81 new EditMode tests pin the style behaviors, and three golden-log cases prove Classic matches the old algorithm placement for placement.
  • The Dungeon Builder's Manual caught up with today's changes: section 7 now teaches the Generator tab and the five build styles, the panel mockups show the fourth tab, and the seed examples carry the style token.

Localization

  • The Generator tab's strings entered the translation pipeline, along with a backlog of journal, book and skill text the harvest swept up.

Housing

  • Moving a container that is placed as a decoration into another placed container works now. A tester reported the move failing with a red server error this morning. The game never asked the server to open the destination container for writing, so the server refused the transfer.
  • A failed decoration move no longer strands the item. The dragged decoration goes back to its spot on the lot, and trying to pick up a decoration that is busy or stuck now shows a message saying why. Before, a failed move left the item invisible and unmovable until the next login.

Tools

  • The bug loop can be pointed at a single tracker status, so a pass can go back over the reports that were set aside rather than only the new ones. A run now also refuses to work the same report twice, which the retry mode had no guard against.
  • Added an automated check that the obsidian bone armor and the obsidian shields stay salvageable at their respective crafting stations, so a data change that would grey the salvage button gets caught before it ships.
  • The unattended bug pass can now work a second queue: the imported legacy backlog, worked highest priority first, running alongside the pass on the current tracker instead of waiting for it. It also reads past the first page of results, which had been quietly capping any single run at about 200 reports.

Server

  • The tool that copies a player's skills from the live server to the test server now copies the whole character sheet: appearance, displayed title, combat decks, hotbar, quest and knowledge progress, owned titles, known recipes and emotes, alongside the skills and experience it already handled. Items stay out of it, so backpacks, equipped gear, gold, bank and housing are never touched by a copy.
  • Used that to rebuild a tester character whose sheet had been flattened by an earlier bulk skill grant. The test-server copy had 359 skill entries and about 10 trillion lifetime experience in each track against the real character's 247 entries and roughly a billion, and it now matches the live character on every skill, both experience pools and all its gear.
  • Copying a character used to zero out unspent experience whenever the source character's skill totals sat slightly above its lifetime earned totals, which is legal and fairly common. There is now a switch to carry the stored pools across instead, worth about 6.4 million adventurer and 16.7 million producer experience to the character restored today.

Tester Tools

  • The tester all-skills buff now grants the skills it hands you, not just their numbers. Every passive a skill gives comes out of one place in the code, and that one place was reading the real skill sheet, so a buffed tester saw every skill at the level they picked while their health, focus, carry weight, attributes, attack skill and resistances stayed exactly where they started. All of that follows the buff now, and school masteries count as trained while it runs.

Combat

  • The berserker rage some monsters flip into at low health, including the Obsidian Trolls, the Obsidian Elf archers, and the zombies, was leaving a blank slot on the target frame instead of the standard Enraged icon and tooltip. It now shows both.
  • Fixed the Hallucinogenic Gas debuff from the swamp mushroom fields. Its attunement penalty was written to read your current attunement, and the value it read already included the penalty, so the number flipped between two values every frame.
  • A stat effect whose amount formula reads the stat it modifies now reads the character without that effect on it. The Hallucinogenic Gas penalty holds one value for its full five seconds instead of switching on and off, which is what it was authored to do and roughly doubles what it actually took off you.

World

  • Two fountains stand in the big garden pools in Brittany Estates, and both were scenery. Hovering them offered nothing and there was no way to draw water. They now carry the same water source setup as the working fountains elsewhere in the city, so they answer the Take Water prompt and hand over a container of water. (tracker #2268)

User Interface

  • Item packs and bundles are now listed under the category that matches what is inside them. A pack carried no category of its own, so picking anything other than All Items in an inventory, merchant, or vendor window made every pack vanish, and an armour pack only sorted itself once it had been bought and opened. A pack of armour now shows under Equipment, a pack of decorations under Decoration, and a pack holding a mix shows under each category it covers.
  • Three potion packs and the zone teleport pack were authored as crafting material, which filed them under Material and listed them alongside real ingredients. They are consumables again.
  • The health and focus numbers on the status bars sit three pixels higher, so they read as centred on their bar instead of hanging against its bottom edge. One value drives every frame that shows them: your own, your target, your pet, the party rows and the companion bar.
  • Lifting those digits moved the part that overhangs the bar from below it to above it, where the next thing up is the guild line. The row spacing reserved only the bottom overhang, so it now reserves both and the health and focus rows keep their gaps at either setting of the numbers option.
  • The Grandmaster badge and its skill count drew part-way across the character name on the status frames. It was attached inside the name text itself, and a text element with something attached inside it stops measuring its own text, so the box it was positioned against collapsed while the name kept drawing at full width. The name line is a row now and the badge sits beside the text.
  • The pet frame starts 24 pixels lower. Its old spot cleared the tallest the player frame can get by 4 pixels, so with a title, a guild name and two rows of buff icons the two frames read as one block; the gap is 28 pixels now. Characters who never dragged their pet frame pick up the new spot on next login, and one who did keeps theirs.

Combat

  • Creatures now play a casting animation for the spells that were silent. A skill names one animation state for every creature that can use it, and the creature animator controllers do not all carry that state, so the request resolved to nothing and the creature cast standing still. Frostgeists in Highvale Outskirts animated their ordinary attack but not their ice field, their life drain or the Hexe's ice shield. The client now falls back to the nearest state the creature actually has, which covers 140 creature and spell pairs across ten animation names.

Emotes

  • Rock, paper and scissors now play at the pace of an actual roshambo. One throw took over eight seconds, with the "Ro... Sham... Bo..." callouts nearly a second and a half apart; it runs in about four seconds now, callouts about seven tenths of a second apart, and the chant still lands on the arm pumps.
  • The three throws can be interrupted now. Typing /rock used to pin you for the whole animation and the game refused every other emote until it ended, so you could not answer a throw with a throw. Moving or hitting your interrupt key ends it early, and the next throw starts straight away.
  • The 2017 report behind this said the roshambo animation lagged its sound effect. The emote has no sound: no audio event on either animation, no attached prop carrying one, and no roshambo clip in the audio library. The four chat callouts stand in for the chant, and measuring the arm curves out of the animation file put each one 0.07 to 0.15 seconds after its arm strike, so nothing was firing early. The real complaint underneath it was that the animation was slow, which is what got fixed.

Crafting

  • Item tooltips now list what salvaging the item can return, with the chance of each result and how many you would get. Before this, most salvageable items said nothing about their components and a few named a single pattern, while the salvage itself handed back hilts, blades and scrap.
  • The list is built from the same data the salvage rolls, so the tooltip and the outcome cannot disagree. It tracks the set of results your current salvage skill puts you on, and on a weapon you crafted yourself it names the exact component material that comes back rather than the category.
  • Fixed a salvage that could abort partway through when a component slot pointed at a category the server report no longer carried. The replacement items had already been added to the crafting table when it failed.
2026-08-06 · 176 items

The New Britannia Herald

Seven monsters finally lose their temper and dungeon builders get a manual

Headlines

  • Guild proposals S4 and S5 shipped: the message of the day became its own permission with an editor field, and guild wars end with a real announcement, draws included.
  • The Guild Finder is built: browse recruiting guilds, apply with a message, officers accept at their leisure, offline included
  • The dungeon piece window grew into a Dungeon Builder panel with a room list: floor, point cost, whether the room still reaches the foyer, and what its totem spawns. It opens from the HUD instead of only from a doorway click.
  • Decoration stacking depth is now a per-item limit instead of one number for the whole game, so a pile can go past the old ceiling with items authored for it.
  • Seven creatures were carrying enrage abilities that had never once fired. The Polar Mutilator now escalates twice on the way down, the Obsidian Eye casters enrage at all for the first time, and both Spider Queens get their missing second stage.
  • The Unread Ledger. The economy deep dive: gold and Crowns of the Obsidians as one system, 34 proposals, and the finding that the game has recorded every gold event for years and never published a page of it.
  • The dungeon generator chest now runs in reverse. Close it again and the rooms you built come back into it, furniture included, ready to roll a new layout.
  • A Guides section opened on the site, starting with a fifteen-section manual for player dungeon builders: points, foyers, doorway refusals, totems, the generator chest, and what publishing a dungeon actually asks of you.
  • Two new commands answer "why will my pet not attack that". /verbose pet prints the reason in chat, /verbose aggro shows threat numbers over your pet and your target.
  • The game has a town directory. /towns lists all 435 player-owned towns with biome, size tier, world map and how busy each one is, searchable and sortable, busiest first. Show On World Map pans the map to a town and rings it.
  • The Town Console's lot table went multi-select: one press now restricts, opens or reserves a whole set of lots, and Open Town opens every unclaimed lot in the town at once.
  • Testers got /tweak, an in-game browser for gameplay numbers: open Pets, click Leash range, and change the value at level 0, 80 or 150 without waiting for a build.
  • Bug pass. Closed 19 reported bugs from the tracker.

Combat

  • The Enfeeblement combo glyph had a one-line placeholder description in every language. It now says that it comes from Juxtapose plus Strength of Earth, that it drains the target strength for a short time, and that the amount scales with the caster skill, in English and in all nine other languages.
  • Corpse Explosion makes the corpse burst again. The spell has been firing its damage over a body that stayed on the ground; the body now leaves once there is nothing left to take off it, so a looted corpse or a fallen summon bursts and a corpse you still have loot on stays put.
  • Torpor's Strength buff was authored with a 200 percent chance to apply. Anything at or above 100 always applies, so the buff behaved the same either way, and the value now reads 100 like the rest of the rune. A new test pins every chance value on Torpor to the 0 to 100 range.
  • Earthquake's knockdown now puts a timed effect icon on the status bar of everything it knocks down. It was the only player spell whose control effect showed no icon at all, so neither the caster nor the target could tell it was running or how long it had left.
  • Chaotic Clone: the hidden state a Chaos specialist gets from the clone now ends the way every other stealth does. A lit torch, an active Light spell or an immolation aura ends it, and so does interacting with something such as opening a door. Casting while targeted still works and attacking still does not end it, and the smoke bomb keeps its own rule of holding through everything.
  • Checked a report that the Potion of Shadow Shield grew stronger as potion sickness rose. The number it sets is the focus spent for each point of damage the shield absorbs, so the higher number under sickness is the weaker shield, and the potion already loses strength as sickness builds. Added a test pinning that direction for the potion and for Shield of Air.
  • Fixed which food buff you lose when every food slot is full. Eating a new meal now drops the one closest to running out instead of whichever the game looked at first, and a meal that takes more than one slot clears as many slots as it needs rather than only one.
  • Fixed enrage on seven creatures. The Polar Mutilator and the Obsidian Eye elf casters had their enrage abilities attached to a trigger nothing in the game raises, so they could be fought all the way down without ever enraging. Both Spider Queens did enrage at half health, but their second stage sat on that same dead trigger and never fired. All of them now escalate at half health and again at a quarter health.
  • Removed two dead enrage slots found in the same pass. One pointed at no ability at all, the other at a buff that draws an icon and changes nothing about the fight.
  • Animal Charm now holds for its whole timer on an animal charmed inside a group of its own kind. A charmed animal used to run back to its packmates and attack the caster again while the charm icon was still counting down.
  • The Water Elemental raised by the summon spell was missing its lower half. The swirling water column that should run from the ground up to its waist was emitted at roughly a third of its proper size, leaving a floating torso, so the summon now uses the same water column as the Water Elementals that spawn in the world.
  • Audited the five skills the community reported as broken. Moon Eater was subtracting moonlit hours instead of adding them, so training it made every Moon skill weaker, including how long Animal Charm holds an animal; it now adds the hours it advertises, half before the moon rises and half after it sets. Shield Smash was missing the stun its description promises, and now applies the same stun Shield Bash does at its own skill level. The Chaotic Clone, Thrust and Animal Charm reports in the same list were already fixed in earlier passes.
  • The Corpse Explosion Damage armor gem enchant now boosts the burst. Gear granting it used to raise the number on the character sheet while the spell fired off a formula that never read the stat, so the enchant showed as +20% and did nothing. The formula now scales with the granted stat the same way the rest of Death Magic does, and a character with no gear casts for the same damage as before.
  • Summon Earth Elemental, Air, Fire, and Ice now read the attunement of their own school. The four had been reading the better attunement of the two runes each one is brewed from, so Summon Earth Elemental picked the higher of Chaos and Air and never Earth.
  • A magic staff leaves a hand free to cast with, the way a bow or a crossbow does; the free-hand fizzle reduction no longer comes and goes when you swap to a staff.

Guilds

  • Split the guild message of the day into its own permission for the guilds proposal S4. It had shared a permission bit with the guild description since the enum was written, so the two rights could never be delegated separately. The Guild Description window now carries a Message of the Day section with its own field, character counter and Save; saving an emptied field clears the message, and the chat commands still work.
  • Guild wars end honestly now, closing the guilds proposal S5. A war that ran out its clock at a tied score used to end in silence and show as a defeat for both guilds. It now shows as a draw with its own row color in the war list, and every war ending announces itself with a chat line and a popup naming the winner, draw or forfeiting guild along with the final score.
  • The guild roster in the Social window gained a Last Online column: Online for members in the game, a relative age like 4h ago or 34d ago for everyone else, and Unknown when the servers have no date worth showing. The Player Name, Location, and Last Online headers all sort on click; sorting by Last Online puts the most recently seen first, sinks the unknowns, and keeps invitees below members. Ships guilds proposal S7.
  • That column closes out Tier 1 of the guilds proposal page, and its card carried two wrong premises: the timestamp was already on the client, shown only in an offline tooltip, and it does not die on server restart, since every roster load re-reads it from the database. The page's shipped note now says so.
  • Ran the full guild EditMode test pass after the finder landed: 91 tests green across the finder model, the role discriminator ratchets (widened deliberately for the new recruitment permission), and the guild log's totality guards over the three new log entry types.

UI

  • Ward Magic in the Tactics tree wore the same picture as the Lunar spell Celestial Blessing. It now shows a shield turning a blow aside, an icon no other skill uses. The eight elemental wards keep the icon of the school each one wards against.
  • Weapon tooltips now print the damage range the weapon rolls in your hands. The old range was built from the weapon alone and left out your Strength and your weapon damage bonuses, so real hits landed above the printed ceiling. The Parry line changed from a range to the single figure the weapon actually stops. No weapon hits any harder or softer than before; the labels were wrong.
  • Closing the Options window in the middle of a slider drag left that slider holding the mouse. On reopening Options the slider followed every mouse move with no button held, clicking would not let it go, and the only way out was to log out. Sliders now release the mouse when the window closes. The report named the UI Scale slider; the same fault sat on all 25 sliders in the window, including the nine audio volumes, both camera sensitivities, window opacity and the twelve video rows.
  • Looting with the interact key and the Close Loot Window When Emptied option no longer fight each other. With no key bound to Close Loot Windows, a second interact press takes everything and closes the window. With a key bound, it takes everything and leaves the window open for that key. The option now only decides what a mouse click on Take All does. A tester found the old rule closing the window for him on build 94 even though he had bound a close key.
  • Picking a category in the Vendor Listings in Zone window now filters the listings already on screen instead of reloading the whole zone, so the table no longer empties for the length of a round trip and can no longer come back with nothing. Searching across all zones still asks the server when the category changes, because that mode only holds part of the results.
  • Hovering the resize grip in the bottom right corner of a new-style window now turns the mouse pointer into a diagonal stretch arrow, and it holds there through the drag. In the world the pointer was being rewritten every frame from whatever sat under it, so the arrow lasted one frame and players saw no change at all; the move grips on the chat window and hotbar and the column dividers in list views were losing their pointers the same way.
  • Put the pet sheet's stats on their own darker panel so the numbers stay readable over bright ground and at lower window opacity, and trimmed its title bar to the pet's name, which had been carrying the owner line from the pet's nameplate. The character sheet and the inspect sheet got the same stats panel.
  • Quest items stored inside a pouch or bag now show up in the give-items window when an NPC asks for one, so they can be handed over without unpacking the bag first. The window still lists only the items that NPC asked for.
  • The timers heads-up display stopped forcing the mouse into cursor mode when you enter the world. The mouse mode chosen in Options now survives a login or a character switch, and closing a window returns you to that mode rather than an older one.
  • The Social window comes to the front when you click or drag it, however many times you have opened and closed it. Only the first open of a session used to answer a click, so Players in Scene could never be pushed behind it.
  • The task list in the Tester Verification window draws every column of text in full. The Age, Status and Build columns had less vertical room than one line of text needs, so letters with tails lost their bottoms and those columns sat lower than the task name beside them. A value too wide for its column now ends with an ellipsis instead of running over the column next to it.
  • The Compass entry in the window selector menu now goes by whether the compass ribbon is actually on screen rather than by a stored flag. A compass left out of step used to ignore that entry for the rest of the session, and the next selection brings it back instead.
  • The Nearby Players window now stays on screen when you travel between scenes, and a pinned one comes back pinned. Before this it disappeared on arrival, the next press of Num 0 did nothing, and the press after that reopened it unpinned.
  • Fixed the description on the three PvP kill trophies (Skull, Jawbone, Hand), which showed a question mark stuck on each end of the sentence. The flavour line now reads on its own, and an editor test checks each trophy description before it ships. (#3580)
  • Fixed the Air interface theme: the window art carried a pale wash baked into the picture, painted on top of the theme's own see-through fill, which is where the still white haze over the screen came from. Air windows are now the frame line plus that fill, and the world reads through them.
  • Item text in the backpack, vendor, bank and guild lists now darkens to stay readable on a light interface theme, keeping its hue, so a gold name still reads gold. White and pale yellow names used to disappear into the pale background on the Air theme. Dark themes are unchanged.
  • Fixed the mailbox list drawing rows with nothing in them, where a piece of mail only became readable after you clicked it. Each row again shows the sender and arrival date over the subject, with short markers for unread mail, gold, attached items and mail close to expiring.
  • The mail, ransom and friend-invite icons in the top right corner drew as an empty box with a count in it, because the conversion looked for their artwork underneath them and the artwork is authored beside them instead. All three now show their own picture, and the retired copy of the mail envelope that was still being drawn over the world at the old scale, carrying a count baked in at authoring time, is gone.
  • Put a dark outline back behind the numbers in the corner of a hotbar skill icon. The fizzle chance, the stacked cast count and the reagent count were drawn as plain text over the skill art, so a pale number on a bright icon could not be read.
  • The PvP arena scoreboard at the top of the screen now clears when you leave the zone. The blue and red scores, the timer between them, and the "Waiting For Players..." line no longer follow you into the next town.
  • Equipment sitting in a backpack or a bag showed no tooltip at all while every other item in the list did. The side-by-side comparison with what you have equipped is the only extra step an equipment tooltip takes, and it is now treated as an extra: if it cannot be built the item still shows its own tooltip, and the failure is written to the client log.
  • Hardened the inventory row hover with a runtime check so a rename or code move that quietly breaks the wire again would fail at compile time rather than shipping silent.
  • The decoration strip reads correctly again. Hovering one of its meters shows how many of that allowance you have placed against your maximum, and closing the strip with the X now only dismisses it for the decorating you are doing at that moment, so it opens again the next time you move a decoration instead of staying away for the rest of the session.
  • Fixed two defects on the crafting station window. Ingredient rows you were carrying enough of drew in a near-white colour, so a sufficient row read as ordinary text next to a red short one; carried rows now read in the same green the recipe-name band uses for a Comfortable craft. The three option checkboxes above the recipe list drew past the right edge of their pane once the window was narrowed, and Use lot storage overlapped the Crafting Inventory pane; the captions now sit beside the boxes, the row wraps when the pane is narrow, and a long caption is capped so it cannot run off on its own.
  • Fixed the crafting window checkboxes drifting over the recipe list: "Only craftable" and "Use lot storage" stayed where they were first drawn while the rest of the window resized around them. Both now follow the Recipes header at any window size.
  • Tester Buff ALL Skills now updates the skill tooltip too: the current-level line and per-level reward text match the buffed number over the skill instead of lagging at the real level. Clearing the buff puts everything back.
  • Lot signs no longer hold onto your movement: the window used to take the movement keys for as long as it was open, which also meant it could never close itself when you walked out of range. Long house names in the change-house picker now stay inside the window instead of pushing the arrow off its right edge.
  • The Puzzle Box mini-game window has its carved box artwork, paper tally sheet, runic letters, and the click each letter change makes back, and the response pegs read against paper again.
  • Backpack, bags, carried maps and treasure maps all show their titlebar pin again. Clicking it keeps the window open through Escape, and the state carries over a logout.

The Herald

  • The New Britannia Herald for 2026-08-05 is up: A single Wednesday took eighty-one reported bugs off the tracker, with the unattended bug loop learning to split the queue in half so two of it could work at once. Guild wars can finally be scheduled days in advance, and declaring one no longer opens your whole guild to attack by the entire world. Player dungeons gained a live map, a server-checked point budget and an entrance plaque with First Clear records, and the achievement system that has been running quietly since twenty sixteen finally started telling players about it. Listen or read the transcript (17 min). Subscribe in any podcast app: /blog/podcast.xml

Client

  • Decorative bowls hold other decorations again. Seven housewares bowls were never set up to hold anything, while the matching plate of each set already was.
  • A container no longer blocks the decoration you are putting into it. Baskets, open crates and deep bowls used to accept an item only in a small patch in the middle, and now take one anywhere across their opening.
  • Widened where the Linux launcher looks for the game settings file it reads the clean-shutdown mark out of, so a stray environment setting on either side can no longer hide it. The launcher release on August 3 already carries the change that stopped the Linux launcher announcing a crash report after every normal quit.
  • Fixed ferns that drew their fronds as solid blades instead of separated leaflets, which is why a patch of ferns could show a few correct plants standing next to flat cut-out cards. The shader setting that punches the leaf shape out of the leaf texture was being kept for some lighting cases and dropped for others when the game packages its shaders, so whether a plant looked right came down to how it happened to be lit. That setting is now kept for every lighting case, on the plants and on the shadows they cast, and the same fix covers bushes, grass and hanging branches.
  • Shooting stars now only cross the sky at night. The same streak used to fire at any hour, and in daylight a bright line that comes and goes in a third of a second read as the sky flickering white rather than as a shooting star.
  • Decorations stacked on other decorations could stop being drawn while still taking up their space on the lot. They now wait for the decoration they rest on to be built first, which mattered most in player dungeons, where everything you place rests on its room piece.
  • Zone loading now finishes releasing the scene you left before it starts uploading the scene you are entering. The two used to run over the top of each other, and the cleanup ran before the garbage collector rather than after it, so each zone change handed back less memory than it should have and a long session drifted upward: one reported route climbed from 6,750 MB to 7,235 MB of reserved memory without logging out. Worst on Linux, where a busy city ran at 11 fps on a card that had memory to spare.
  • Town wall gate handles now open from the saddle. An earlier round covered the gates whose lever does the opening itself; the handles that hand the gate off to a second mechanism, including the Owl's Head gates and the castle style wide and drawbridge gates, still refused while mounted. Torch switches, chests and crafting stations still ask you to dismount.
  • Sorted the crash reports that carry Windows event data into groups, covering the sessions that ended with no trace at all. They fall into a fault inside the Windows memory routines, a session the operating system ended after the game stopped responding, a fault inside a third party security product loaded into the game, and machines that lost power or blue screened. No report showed a graphics driver reset, which rules that out as a cause.
  • Fixed a limit in the crash reporter that could hide the answer it was collecting. It attaches a small number of Windows event records to each report and filled that allowance in order, so the check for whether the computer itself lost power ran last and could be dropped before it was ever made. A report from a machine with several faults recorded came back saying nothing about power loss, which reads the same as a machine that never lost it. Every check now keeps a slot.
  • The Large Planting Bed took no indirect light, so its side boards read as a flat dark surface with no wood grain while the Small and Medium beds beside it looked normal, and moving the bed did not change it. It now takes indirect light the same way the rest of the planting beds do.
  • Another player's pet now walks, jogs or runs with its legs moving instead of holding a still pose and sliding across the ground. The gait a nearby player sees is worked out from how far the creature actually travelled on their screen, so a creature that is moving can no longer be standing still. A creature that stops now settles into its idle pose rather than walking on the spot.
  • Calling a pet to you now puts it next to you. The recall command worked out where to place the pet from the spot it was originally summoned at, so it could drop the pet back on that old spot or move it nowhere at all while the chat line said it had come to you.
  • A hat or helmet could vanish while you had the character centred on screen and come back when you turned the camera a little. The distance at which small worn pieces stop drawing is now measured straight from the camera to the object, so which way you face no longer decides whether they are drawn.
  • Town criers in the older player town layouts would not open the lot list, and with no list there was no way to send a lot to the compass. The game had decided the scene was not a town before any lot existed there, and that answer stuck for the whole visit. Fixed, and the lot list now shows the lots it knows about as soon as it opens instead of waiting for every house in town to finish building.
  • Fixed attached decorations being lost when the thing they were attached to was swapped or rebuilt: windows, doors and gates the game had stopped drawing at that moment were destroyed with the old decoration and stayed missing until the scene reloaded. Which pieces were lost depended on where the player was standing, so lot windows and doors went missing when the swap happened from the edge of the lot.
  • Development builds of the client no longer start a debugging listener on every launch. That listener was the common factor in a run of local crashes during scene and decoration loading, and it is now off unless a build asks for it. Attaching the profiler is unaffected.
  • Cleared the last empty tree entries from five terrains. These entries pointed at tree models that no longer exist, so they drew nothing in game but made the build log around thirty errors on every run. The trees that were actually drawing kept their species, position, size and rotation.
  • A tutorial guide who was still invisible in the combat area of the Isle of Storms now appears within about five seconds when you walk up to her. The zone that fades her in used to miss you if it appeared around you rather than you crossing into it; it now looks around itself the moment it appears and treats you as if you had walked in.
  • Item tooltips and vendor sale letters on the Japanese and Chinese clients now group enchantments, masterworks and sockets under their own headings again, and repeat failures collapse into a single count line. Both places used to decide the group by searching the translated line for English words, so on any localized client the grouping and the failure tally quietly collapsed.

Crafting

  • Masterwork and enchant rerolls now count the reroll just taken when rolling for the next offer, so the chance of a further reroll halves from the first reroll onward. It used to stay at full chance for one extra step.
  • A critical success at a crafting station now has more than one possible reward on an equipable item. Two bonus pools that had been written years ago and never handed out are handed out now: every critical craft on an equipable can roll a large maximum durability bonus, and a critical craft from a grand master recipe can also roll a weight reduction that normal recipes cannot.
  • Enchanting a bow with a refined gemstone now offers that gem's magic school effects. Bows had rows for the general stat effects only, so a socketed gem changed nothing about the choices you were given, on any of the nine gemstone schools. Ice Arrow Damage on a Tempestry Gem and Stone Arrow Strength Bonus on a Gaiaism Gem are part of what a bow can roll now. Bows enchant at one handed strength, matching the values a sword rolls from the same gem. Weapons enchanted before this keep the effects they carry.

Community

  • Nightly forum sweep filed 4 wishlist requests: a "Home Port" setting so water-lot housing keeps its town slot while away, a cap on concurrent town sieges with better new-player siege visibility, new Stonecrafting/Glassblowing production skills, and craftable doors/windows plus roof-mounted lamps.

Guilds

  • Planned the Guild Finder (guilds proposal S17): browse guilds that want members with a headline, member count, playstyle tags and core hours, apply with a message, and officers review applications at their leisure, including accepting players who are offline. Three decisions were settled: a guild at war is disclosed on its listing and apply dialog rather than blocked, the application store is shared with the planned guild web pages so a second copy never exists, and answering applications becomes its own guild permission.
  • The research behind the plan confirmed that accepting an offline applicant already works with the existing login path, and caught that a player who is online at the moment they are accepted would never hear about it without a new notification. The plan carries that notification as a required piece.
  • Started building the Guild Finder. First slice is the server foundation: the application record (30-day lifetime, one pending application per player per guild enforced by the database), the listing fields on the guild record (recruiting flag, headline, playstyle tags, core hours), and the new recruitment permission for officers. Nothing player-visible yet.
  • The Guild Finder wire is in: nine new operations carry browsing the listed guilds (with member counts and an at-war flag on every row), applying with a message, the officer inbox, answering, and withdrawing. Accepting works while the applicant is offline, and an applicant who is online when accepted joins on the spot instead of waiting for a relog. An accept that loses the race to another guild honestly becomes a decline, and joining any guild quietly withdraws the player's other pending applications.
  • The Guild Finder shipped end to end. The Guild Registry window opens for everyone from the guild tab or /guildfinder: recruiting guilds listed with member counts, playstyle tags, core hours shown in your own local time, an at-war marker on every row, search and sorting, and an apply form with the war disclosure. Officers who may manage recruitment get an Applications inbox, a Listing editor, and a live pending count on the guild tab. Not on chaos yet.
  • Guild finder honesty rules: one pending application per guild per player is enforced by the database, applications expire after 30 days, a decline holds a 7-day cooldown for that guild, joining any guild withdraws your other pending applications, and listing text passes the same word filter guild names do. Core hours are stored in UTC and rendered in each viewer's timezone, rotating the day labels when the conversion crosses midnight.

Localization

  • The one-id-one-string test caught three journal strings from today's repeatable-tasks work squatting ids the DND window and the bonus-effect picker already owned. The journal side re-minted; on-screen text is unchanged, and a future translation can no longer swap one window's label into another.

Images

Tooling

  • A stray window had been sitting on top of the Unity editor drawing a mock crafting recipe. It came from the UI layout tests: each one mounts its interface on a throwaway editor window, and a test that opened two of them could only close the second, so twenty-four had accumulated. The tests now dispose every window they open, and the end of each test run closes anything left behind.
  • The NPC spawn audit now checks each spawner against the navmesh. Creatures get placed on the nearest walkable ground, so where the navmesh covers somewhere nobody should stand, such as the top of a hallway or a ledge past a wall, a creature can be moved onto it at spawn. It still builds a body and still draws, so the audit used to list it as fine while it could not take a step. Each spawner now reports how far it sits from ground a creature can actually use, and the ones with none in reach are called out.
  • The 3D dungeon map baker now leaves out navmesh marked as not walkable. The maps are drawn from the same navmesh the creatures walk on, and it was reading the raw triangle list, so a surface ruled off limits would still have been drawn as floor on the map.
  • Added a nav space audit to the editor. It reads a scene's baked navigation data and picks out the walkable surfaces a creature should never be standing on: the outer top of a hallway piece, a ledge that hangs out past the wall under it. The report gives, for each scene, how much of the walkable area falls outside the playable space and which building piece produced each surface. That last column is what decides whether the fix belongs on the building pieces themselves or has to be done per scene.
  • Ran the nav space audit over The Rise. Of its walkable navigation area, a quarter sits on surfaces with open air above them, and 94 percent of that comes from one building piece: the stacked floor and ceiling slab, whose top face is walkable whether or not there is a room above it. The audit also turned up a separate problem it was not looking for. The dungeon's navigation splits into 203 disconnected pieces and only 7 of them contain a player start, so about 6,000 square metres of real rooms, with ceilings over them, are cut off from the rest for anything that walks. One creature spawn point sits 400 metres from the nearest ground a creature could stand on.
  • Guide pages assemble from sources kept outside the deployed tree, with their images baked into the page. The publish only pre-flights images referenced by the top-level work-log pages, so a linked image from a subfolder could have shipped broken with nothing to catch it. The header link also picked up a publish check, because that nav lives in nine files including the template that generates next week's page.
  • Fixed two automated tests that were red because of the way they were written. One reached for the game manager while the game was not running, which forced a startup that logged an error and failed the test; it now checks whether a key rebind is actually in progress before going near it. The other looked for Corpse Explosion's burst damage in the wrong list of effects, so it reported that the spell had no damage at all.

Build

  • A new script file was invisible to the Unity Editor because its .meta ended on a key with no value and no trailing newline, which makes the YAML parser throw the whole file away, GUID included. The file never compiled, so three network types it defines did not exist and a clean checkout came up with 17 compile errors. One newline fixed it.

Tools

  • Added a switch that runs the unattended bug pass without the tester Discord note, for passes that should not fill the channel. The rest of a pass is unchanged: the fix, the testing task, the tracker note and the blog bullet all still happen.
  • Added a build check that the Atolls of Atos movement data is packed with the scene, after a corrected copy of it sat in the project through two builds without reaching players and left the island creatures unable to move.
  • The unattended bug loop runs on macOS. It had built its state, log and scratch paths from Windows-only environment variables, so the shared library would not load and the driver, the queue reader and the guard suite all failed with it. The guard suite passes 16 of 16 on both platforms.
  • The unattended bug loop now leaves a bug alone for a day after working it. Its only guard against re-picking was whether the report had changed since, but the notes the loop writes when it claims and defers count as changes, so it kept re-offering itself the same reports. One was worked five times in forty minutes. The wait is keyed on when the loop last touched a report, which nothing on the tracker can move.
  • Fixed the Crown Store item authoring tools: painting tags or images onto a single item now saves to disk instead of reverting on the next recompile, the Replace All Images brush option writes its list to the item, and an availability change on an item row is saved with it.

Dungeons

  • The live dungeon map's walk over the placed rooms moved into a shared survey, so the map and the in-dungeon builder panel now read one snapshot of the room graph instead of each rebuilding it. Reachability is one search over the whole graph rather than one per room. The map's output is unchanged.
  • The dungeon piece window became a two-tab Dungeon Builder panel. Build is the piece picker as it was, down to the snapped preview and the connection arrows. Rooms is new: every placed room with the floor it sits on, what it cost in dungeon points, whether it still reaches the foyer, whether it holds decorations and what its totem spawns, over a running count of rooms, points, floors and doorways still open.
  • The builder panel opens without a doorway now, from a button beside the in-dungeon mode pill or the chat command /dungeonbuilder. Until now the only window that showed a dungeon point number could be reached one way: walk to a lit doorway and click it. Opened from the HUD it starts on the room list and offers no Accept, since there is no doorway to place anything into.
  • Totem encounters got player-facing names for the first time: nine creature families and six tiers. A room with a totem in it now says what that totem spawns instead of saying nothing. Tests fail if a family or tier is added later without a name.
  • The builder panel's Build tab became a real catalog. Dungeon pieces used to flip past one name at a time with a pair of arrow buttons, no picture and no count, even though the window had already loaded both. Pieces now show as tiles with their icon, how many you carry and what they cost, dimmed when the budget cannot take them, with a search field and filters for material family and piece type. Arrow keys still step one piece at a time for anyone who preferred that.
  • The builder panel gained a third tab. Points shows where the dungeon budget came from and where it went, including how much is tied up in rooms cut off from the foyer, with the two limit upgrades moved here from behind a reveal button. Publishing is a checklist that says which row actually decides: the server only requires that you have cleared the current layout yourself, so the other two rows are marked as advice rather than pretending to be blockers. Record shows visits, first clear, the record time and your own best, read from the same model the entrance plaque uses.
  • The builder panel can now find the doorways you have not filled. A doorway only glows while you are standing in that room, so the only way to spot one was to walk the dungeon watching the walls. The Rooms tab switches to a list of every open doorway with its room, floor, compass direction and distance, nearest first. Pick one and a marker appears over it in the world; walk there and the Build tab picks that doorway up on its own.
  • Dungeon pieces now say what they cost on their own tooltip. The number that decides whether a room fits your budget reached no tooltip, no merchant listing and no recipe, so the only way to learn that a hall costs one point and a cathedral costs forty-two was to be standing at a doorway with the builder window open and flip to that piece.
  • The Random Dungeon Generator Chest now runs both ways. Closing an emptied chest inside your own dungeon offers to reclaim the placed rooms back into it, furniture and all, so a fresh layout can be rolled straight away; a chest that still holds pieces gets a checkbox on the build confirmation that switches the action. Rooms come out farthest from the entrance first, and a room that cannot be taken keeps the rooms leading to it, so a stopped reclaim leaves a smaller dungeon whose rooms all still connect to the way in.

User Interface

  • Edit Deck: with one slot's glyph list open, clicking the arrow on a different slot now closes the old list and opens the new one on that single click. It used to close the first list and stop, leaving the arrow's hover hint on screen and a second click to do.
  • The "In This Slot" glyph list had cramped rows with the bottoms of the names clipped. Rows went from 22 to 26 pixels and both columns now reserve a full line of text. The window was the last place in the client still carrying its own row-height number.
  • Column headings in the Edit Deck lists sort them now. Click a heading to sort, click it again to reverse. Numbers sort as numbers, so 10 lands after 9. The fix sits in the shared list bridge, so every converted list gains it, and a list stays in its original order until you click a heading.
  • Added a "Show consumables" checkbox to the glyph browser, above "Show empty consumables". Unticking it hides all consumables and greys out the empty box, matching how a whole skill tree can already be hidden. It ships ticked, so nothing changes unless you touch it.
  • Grandmaster and apprentice badges show on unlocked deck slots. Only locked slots displayed one before, so unlocking a slot made the badge vanish. A slot holding a stack shows the badge for the glyph it already fronts in its tooltip and picture.

Audio

  • Enfeeblement now plays a cast sound. The effect it spawned when cast had no audio authored on it at all, so the skill went off silently; it now uses a death magic cast clip that matches the charge effect the skill already shows.

Content

  • Fixed the river at Solace Bridge drawing as a flat white sheet. The texture the water surface samples had gone missing from the build, so the river fell back to plain white and covered the riverbed. It reads as water again, with depth, moving ripples, and foam at the banks and over the rocks. The same missing texture affected every river built with that tool, so any other water that had gone white is covered too.
  • The Visitor by the Castle Atos entrance was a male character speaking with a female voice. That pairing had been corrected once and was overwritten when older copies of the scene came back in from the team's other source control, so the character is female again and a check now runs with the build that fails if either Castle Atos Visitor is matched to the wrong voice.
  • Two basement entrances answered no clicks at all: the studded wooden arched door and the crafted rowhouse door had their interaction wired to the wrong part of the model, so hovering showed nothing and clicking did nothing. Both now open the basement like every other entrance.
  • Recast the Frost Giant in Jotungrund again after testers failed the first attempt. His old voice was a bright announcer pitched down a little, which left him speaking higher than the ordinary people standing next to him. Measuring the clips put him at 132 Hz against 99 Hz for a villager in the same scene. He is now built on a gruff, genuinely low voice at 75 Hz, slower and heavier, at the same volume as before. The new lines still have to be recorded and published.
  • Fixed the Air Elemental rendering as a washed out haze. Its body material was blending in a way that cancelled out most of its own colour, so in daylight it read as a faint smudge and was easy to miss. It now draws at full strength as a violet figure with soft edges, both for the summoned elemental and the ones in the world.
  • The Blessing of Learning fountain at Castle Atos no longer applies to pets that walk through behind their owner. The player still receives the buff normally; only the pet-side icon is gone (#3600).
  • The backgammon game table had no board on it, just the bare wooden table. It now carries a board with a raised rim, a bar down the middle and twenty four points in alternating light and dark, turned so the points run towards the two seats.
  • The base zombie skin material no longer draws from both sides, so a zombie whose head tilts down no longer shows a hole into its eye socket. Adult male and female variants covered; bogman, lepus, and child zombies still to check.
  • Billy the child in Highvale Outskirts had been speaking with an adult man voice. He is now cast to a child voice, matching the other child NPCs. The new audio reaches players once the voice pack is regenerated and published.
  • Libris Ruins bloodstained map dig now runs its authored length: about five minutes for the skeleton-only version before the chest appears, about four minutes of skeletons before the murderer bosses arrive in the version that has them. Two duplicate wave entries were shortening both fights.
  • Will-O-Wisps in the Well of Aldur read against the near-field haze again; the same wisps in other zones are unchanged.
  • Wearing a Faerie Belt while a shrink potion is running no longer stacks the two into an extra-small character. The belt now applies after the potion, so the potion size wins while it lasts and the belt keeps its own third-smaller size on its own once the potion drops.

Housing

  • The limit on how high decorations stack is now set per item rather than one number for every object in the game. An item carries its own maximum and is checked against the stack it is joining, so a pile can carry on past the old ceiling with items authored to go that deep while everything else stops where it always did. Nothing has been given a taller limit yet, so current stack heights are unchanged.
  • Fixed a case where relocating a group of stacked decorations was refused as too deep when it actually fit. Carrying a group counted the pile underneath it a second time, so the same group measured taller the higher up it had been sitting. The refusal line now reads "This item does not stack that high."
  • Skull decorations are the first items set up against the new per-item stacking limit, at 16 as a test value. Seven of them, including the dragon bone skulls, the frost giant skull and the skull candles. Three are containers in their own right, which is what lets a pile of them keep climbing past where an ordinary decoration stops.

Client Performance

  • The stacking depth check ran twice a frame while dragging a decoration, rebuilding a list of everything carried and walking each piece back to the ground every time. It now measures the carried group once when the drag starts, which drops a cost that grew with the square of the stack height to a single walk.

Bug Fixes

  • Closed a hang in the decoration ownership check: it walked the chain of what an item is resting on without tracking where it had been, so a looped arrangement could spin it forever. It now carries the same guard the neighbouring checks already had.
  • Two fixes on the decoration mode strip. Hovering a meter shows a tooltip with its allowance and the placed count against the limit, for example "12/20 Internal Lights Placed", where before hovering did nothing. The X on the strip now dismisses only the current decoration session: once you have stopped for a few moments, the next decoration you move brings the strip back, where before the X closed it for the rest of the session.

Design

  • Published the economy deep dive, The Unread Ledger: the gold economy and Crowns of the Obsidians reviewed as one system against Ultima Online, EVE Online, World of Warcraft, Old School RuneScape, Albion Online, Final Fantasy XIV, Guild Wars 2 and Path of Exile, ending in 34 proposals with per-proposal comment threads and votes.
  • The economy review found the measurement gap first: the server has recorded every gold-creating and gold-destroying event for years, with a reason and a signed amount, and none of it has ever been published. It also cannot tell mining from fishing from skinning from kill loot, because every way of taking something out of the world shares one label while every way of spending records in detail.
  • Lot taxes turn out to be the only recurring, unavoidable gold cost in the game, and they only apply if you own a lot. Repairs are paid in kits or Crowns, travel is paid in reagents, and dying costs nothing, so a player who owns no property has no repeating cost of any kind. That single fact shapes about half the catalog.
  • Several proposals cost less than they look because the machinery is already in the build and idle: a complete alternate-currency merchant with authored per-item sell-back values and nothing wired to it, rotation machinery with exactly one bonus defined, a harvest streak counter that is tracked and tested and read by nothing, a fertilizer bonus that is stored and consumed and never used, and a daily payout that is fully implemented and configured to zero.
  • The page also answers the two decisions that were parked in writing waiting for an economy review. The crafting orders board proceeds, with its reward gold coming from a published budget and its prices derived from the audits. Quick Craft goes live, because a wait timer throttles the players who craft most and removes nothing from the world, with throughput watched on the report afterwards.

Server

  • Lot markers stopped printing a server error line in chat every time they opened. The lot sign asks the server for the sale fee and price limits each time it comes up, that request was failing on every lot in every town, and the failure text was landing in the chat window. The sale figures on a marker you own now come from the server again instead of falling back to placeholders.
  • Fixed the automated server test harness so a login with a user name and password completes instead of stalling until the test timed out two minutes later. A connection dropped mid-test now fails immediately with the reason, and a session ended because the account signed in elsewhere is reported by name rather than as an unknown message.

Towns

  • There is a town directory in the game now. Type /towns and a window lists all 435 player-owned towns the game carries, each with the landscape it is built on, its size tier, which world map it sits on, and how busy it is right now. Search matches names, biomes and tiers, chips narrow the list to one world map, and every column sorts both ways.
  • The list opens sorted by activity, so the towns somebody is standing in come first and the quiet ones fall to the bottom. Towns with no reading yet sort last in both directions rather than jumping to the top when you reverse the sort. Activity fills in as you travel, because that reading only reaches the game on a world map.
  • Show On World Map pans the map to the selected town and draws a ring around it for ten seconds. The map had never been asked to point at a place before: it only ever drew the scene you were standing in, and following the player would have dragged the view straight back, so the jump clears the Follow box the way dragging the map does.
  • Off that towns world map the button greys out and the window names the map to travel to, rather than doing nothing. The town list is part of the game download, so towns founded or renamed since the last update arrive with the next one, and the window says so.
  • The Town Console's Lots tab now takes more than one lot at a time. Restrict Claiming, Unrestrict Claiming and Reserve act on the whole selection, and a new Select Shown button grabs every row the filter and search have left on screen.
  • Added an Open Town button that opens claiming on every unclaimed lot in one press. It leaves lots reserved for a named player alone, and the confirmation says how many that is before you apply it. Setting up a 60-lot town used to mean 60 separate trips to 60 lot signs.
  • Batch changes run behind a progress bar at about one lot every sixth of a second, so a 60-lot town finishes in roughly ten seconds. The strip then reports what happened: how many lots changed, how many already had that setting, how many were left alone, and how many moved while the run was going. Whatever failed sits behind a Retry that re-runs only those lots.
  • Reserving a set of lots for a named player looks that name up once for the whole batch instead of once per lot. Cancelling, or closing the console mid-run, stops it and keeps the remainder for Retry. Evict Resident and Set Compass Destination still work one lot at a time.

Combat Decks

  • The combat deck window could come up empty while the counter at the bottom still reported every deck you owned. The decks were never gone: the window read its count straight from the deck store but only re-drew the rows it already had, which was none, so the list never rebuilt itself. A changed deck count now rebuilds the list, and a list that disagrees with the count repairs itself on the next tick.
  • One deck that failed its card check used to take every other deck down with it, because the list refreshed each deck before adding it and nothing caught the error. Decks are added first and refreshed individually now, so a deck that cannot be validated is still listed rather than deleting the whole window.

Testing Tools

  • The timed all-skills buff stores its skills separately from your real ones, and several places asked one list whether you had a skill and then read the answer out of the other. For anyone running the buff that raised an error every frame, which stopped pets and companions being summoned on load and froze glyph colours on the combat bar. The four places that did this now check the list they actually read from.
  • The summon-on-load pass marked itself done only after finishing, so a single error inside it meant it ran again the next frame, and the next, taking the rest of the player update with it every time. It now marks itself done even when something inside fails, and the retired-skill refund it runs is treated as best-effort.
  • Testers can change gameplay numbers from inside the game now. /tweak opens a resizable window laid out like a file browser: categories down the left, and the values under whichever one you pick on the right. Selecting a category shows everything in it at once.
  • Values that change with a skill level show as a table with one editable row per level. Pet leash range reads 5 m at Pet Range 0, 8 m at 80 and 12 m at 150, and moving any of the three retethers your pet as soon as you press Enter. Those three numbers used to be constants inside one method, which is why trying a longer leash meant a build.
  • First categories are Pets (leash range, tether inner fraction, minimum threat share, resurrect health, summon cooldown) and Combat (fizzle chance base, discard penalty, stillness step). A value only reaches the window once the game reads it through the catalog, so a dial in there always moves something.
  • A set of changes can be named and saved, and copied out as a share code another tester pastes in. Presets are plain text under the hood, so one can be read and hand-fixed in a chat message, and a value the build no longer has is skipped and named instead of failing the whole load.
  • Two guards ride along. Combat telemetry pauses while any combat value is changed, so a tuned session cannot reach the balance dataset. And a session that is not running stock numbers says so: a count in the window header and on the /tester panel, plus a chat line at login naming how many stored values came back.
  • The rest of the pet leash chain reached /tweak. Testers can now move how far past its tether a pet gets before it blinks home, where it stops when it runs back, how far back each follow band stands, and how much of a pet's threat also lands on its handler.
  • Several of those numbers were written inside the method that used them, so nothing outside could read them, let alone change them. The teleport floor and the three follow distances were all constants of that kind.
  • The leash is two distances and not one: the tether starts it, the release ends it, and they have to stay apart or a pet sets and clears its leash on alternating ticks and drops its threat each time. The release stays capped inside the tether whatever a tester types, pinned by tests across the whole skill curve and all three follow bands.

Player Guides

  • Opened a Guides section on the site, linked from the top of this page. It holds player-facing manuals: what is in the build today, written in the player's vocabulary and quoting the strings that actually appear on screen, so a reader can check the page against the game. Each guide carries one comment thread at the foot and no vote arrows.
  • Wrote the first one, The Dungeon Builder's Manual: fifteen sections covering the point budget each lot size grants and the two ways to raise it, choosing a foyer and why swapping it later banks everything inside, building at the glowing doorways and the five reasons a piece refuses to go there, the Dungeon Builder panel and its open-doorway finder, the generator chest with shareable seeds and the reclaim that runs it backwards, totems with their nine families and the essence chain that ends at 25,600, Adventure Mode, decorating, the live map, access and PvP, and publishing, which means clearing your own dungeon before anyone else can be measured against it. Every quoted price, limit and message was checked against the source first.
  • Six painted illustrations carry the hero and the section openers, and the nine pictures of the interface are hand-built in HTML instead. Generated lettering garbles, and a manual that misquotes the window it is describing is worse than no manual at all.

Pets

  • Added /verbose pet. Your pets and companions now say in chat why they are not acting instead of standing there: the stance refuses it, they are walking back to you, the target is out of reach, their attacks are on cooldown. Repeated reasons collapse to one line every fifteen seconds so a stuck pet cannot fill the log.
  • Added /verbose aggro, which shows threat values above your pet and above your current target. A creature keeps its threat list only on the machine running its behaviour, so the display asks that machine for a copy once a second while it is switched on, and shows nothing rather than stale numbers if no answer comes back.
  • Ordering a pet to attack another player was refused with no message at all, which read as the pet ignoring you. It now says it will only attack creatures. Twelve other refused pet commands printed only "ignored your command" and now name the reason.
  • The pet AI already had a full debug surface, but every part of it was compiled out of the real game and needed the creature selected in the editor, so nobody outside the office could see any of it. Both new commands are in every build with no account flag required.
2026-08-05 · 189 items

The New Britannia Herald

Eighty-one bugs closed, guild wars get a calendar, dungeons get plaques

Headlines

  • Bug pass. Closed 81 reported bugs from the tracker.
  • Guild wars can be scheduled: declare on Tuesday, fight on Saturday. The server had supported it since day one and the client was sending zero.
  • The 16th proposal page is up: Achievements. The game has had a complete, Steam-connected achievement system since 2016 and never showed it to anyone; 24 proposals give it a journal, a toast, party-shared boss credit, a World Events channel, shard-wide celebrations, a trophy quartermaster, and a 115-achievement first catalog. Vote at /blog/proposals/achievements/
  • Player dungeons finally have a map: M now shows a live 3D model built from the rooms you placed, with your position, floors, and disconnected rooms marked.
  • The work log now reads itself aloud. The New Britannia Herald is a nightly narrated summary of the day's development, spoken by the Lord British voice, with a full transcript and a podcast feed at /blog/podcast.xml. The first episode covers yesterday.
  • The Town Console ships (towns proposal S7, the top voted card): the whole governor job in one window, built entirely on operations the game already had.
  • Swept all 1,642 creature models for click areas that never grew when the creature did. 49 corrected, from boss elementals covering 30 percent of their body to kobolds, daemons and Krang.
  • Achievements wake up after ten years: the game now celebrates every unlock with a banner, a chat line, a sound, and the level-up lights.
  • Light decorations gained Light Settings: pick a color, a reach and a brightness for any lamp you have placed, previewing live and saved for everyone on the lot.
  • The dungeon point limit is now enforced by the server: every room placed is checked against the budget, the base numbers moved into server settings, and over-cap legacy dungeons keep what they have but cannot add more (proposal S8).
  • PvP deep dive published: twenty-seven proposals against nine games, from a kill feed and a permanent record to scheduled battles, stake tiers at the Oracle statue, bounties, and seasons, with votes and comments on every card at catnipgames.net/blog/proposals/pvp/
  • Player dungeons keep score now: an entrance plaque with visits, the permanent First Clear, and the record time, plus clear-check publishing on the Mario Maker model (proposals S15 and S16, four commits, server to UI in one day)

Audio

  • Every kobold in the game now speaks with the kobold voice treatment. It had only ever been applied to the kobold city, so archers and guards elsewhere still used ordinary human voices, one of them a British-accented gentleman. The same change re-records a dockworker in the port whose war cries were still being read out letter by letter. The new audio arrives with the next voice data build.

UI

  • Crafting station recipe list: each recipe now takes the space its own card needs instead of a fixed slice, so long ingredient lists stop drawing over the recipes above and below them and the gap between recipes is the same all the way down. Ingredients and the skill requirement are indented under the recipe title, which also pulls the ingredient icons in off the left edge.
  • Vendor listings could name the wrong town: player towns built from the same template share one underlying scene, and a town the client did not recognise borrowed the name of a different town built the same way. That also killed the Get Directions button, since directions only resolve for a vendor in the zone you are standing in. Listings now show the town's own name.
  • Reset Window Layout in Options now moves the windows. It used to clear the saved layout on disk while leaving every window where it sat, and the next close wrote that position straight back, so the button never changed anything a player could see. Windows now return to their standard position and size the moment the reset is confirmed.
  • Consolidate Stacks now fills the stack you clicked right up to the maximum stack size and leaves the remainder as its own stack. Before, a stack near the limit did nothing at all unless another whole stack happened to fit under the cap.
  • Looting with the interact key is one key again: press it on a corpse or container to open the window, press it again to take everything and close it. Binding a key to Close Loot Windows hands the closing job to that key instead, and the Take All button still leaves the window open.
  • The Scepter of Dread, the Heart of Sorrows, the Bonesteel Crown and the Shroud of the Avatar now draw their names in artifact bronze instead of quest-item gold, both in the inventory list and on the tooltip. They stay bound to the Avatar's inventory exactly as before.
  • Fixed the stack and charge counter on a combat bar glyph being covered by the grandmaster badge. The counter and the success chance under it now sit to the left of the badge while it is showing, and return to the corner when it is not.
  • Closing a list window such as Combat Decks no longer leaves the small hover plate showing a row name stuck on screen; the plate now closes with the window instead of piling up over an empty screen.
  • Pinned windows now stay open when Escape closes something else. The character sheet, inspect and pet sheets, map, vendor listings in zone, property manager, merchant, player vendor, trade and item preview windows showed the pin in their title bar but never reported it as set, so Escape closed them anyway.
  • Fixed the mail list subject line. A long subject was being squeezed down until the letters were unreadable, leaving what looked like an empty band under the sender name. Subjects now stay at full size and a subject too long for the row ends in three dots.
  • The zone vendor listings window no longer re-downloads its list every time it is opened. Reopening now shows the listings already loaded, and the Refresh button is what reloads them; travelling to another zone still loads that zone on the next open.
  • Checked an older report that the zone vendor listings drew every column one place left of its heading. The fix for that shipped on 2 August and a tester has already confirmed it, so this pass added automated tests that hold each column to its own cell, including the icon column, so the listing cannot drift out of line again.
  • Picking a window from the window selector now brings it to the front when it is already open. Before, the selector only opened closed windows, so a window buried under eight or ten others could not be dug back out.
  • Hotbar key numbers got their dark outline back, so they stay readable over bright ground instead of washing out, and the combat row now sits clear of the utility row instead of resting on top of it. The gap between the two rows went from 6 pixels to 14, measured under the bracket each combat slot hangs below itself.
  • Hover tooltips on list rows and the gear menu in the Options window now stop at the edge of the window they belong to instead of only at the edge of the screen. A list drawn straight on the heads up display, with no window frame of its own, keeps the screen edge behaviour it had.
  • Fixed item rows in bags: a book, letter or note whose title was written over more than one line made its row taller than the rows around it and dropped its weight, durability and value figures below the line the rest of the list reads on. Names now draw as a single line in item lists, so every column lines up again.
  • The world right-click menu now closes on Escape, and in mouse-look closing it puts the cursor away and gives the reticle back instead of leaving it out.
  • Searching a bag now matches an item's real name as well as the name on the row, so an item you renamed yourself, or one drawn in colour, is found by typing what it actually is.
  • The Guild tab of the Social window now has a header above the roster: the guild leader, the member count with how many are online, the guild description, and the message of the day. All four were already on the client and none of them were shown in that window. Lines with nothing set are hidden, so a guild that has written nothing gets a short header.
  • Guild members who may set the description get an Edit button in that header, which opens the description window. Before this it was reachable only from the guild right-click menu. The description is now fetched once per guild and kept, rather than re-requested every time a window that shows it opens, and saving a new one updates the header in place.
  • With Invert Scroll Wheel turned on, lists such as the backpack jumped back a row when you kept rolling the wheel past the top or the bottom, then jumped forward again on the next notch. Lists now hold still once they reach an end, and a list too short to scroll no longer moves the panel around it the wrong way.
  • The login screen's Remember User Name checkbox now saves itself the moment you tick or untick it, rather than waiting for a login to go through. Ticking it also stores whatever name is already typed, and unticking clears the stored name straight away, so a tick made before closing the client from the login screen is still there on the next launch.
  • Moving the compass left an invisible area at its old position that blocked clicks on the world. The compass now carries its click area with it, so the spot it came from takes clicks through to the world again.
  • The emote bar draws a visible frame again. The ten slots sit on a bordered plate instead of appearing to float on the screen, and that border is the part you grab to drag the bar around. Closing the bar with its X now unticks Show Emote Bar in the emotes window, so the option and the bar agree and ticking it brings the bar back, and the Set Emote Bar Horizontally option, which stopped working when the bar was rebuilt, was removed from the Interface tab.
  • The guild activity log opens as a window. Guilds have kept a thirty day record of who invited whom, who joined or left, who was removed, who was promoted or demoted, and who changed the description or the message of the day, but the only way to read it was a chat command that wrote a text file into your game folder. /guildlog now shows it as a list: four sortable columns for the date, the action, who did it and who it was done to, buttons that narrow it to membership changes, rank changes or guild-wide changes, and a search box matching either a character name or the action itself. A promotion or demotion names the rank the member ended up on, which the old columns never said. The footer gives a count and states the thirty day limit instead of leaving it to be discovered. The text file survives behind /guildlog file and a Save to File button.
  • Fixed the vendor window: items can be double-clicked or dragged into the Exchange again, so purchases from player vendors go through and the gold totals and the signature line follow them. A vendor's listings now appear on their own instead of waiting for a tab click, and My Listings and My Orders are no longer offered on a vendor you have not been given the right to list goods on.
  • The list of reasons in the Task Bug Report form was only as wide as the box you click to open it, so the longer reasons ran off the edge and their endings were cut away. Long reasons now wrap onto a second line inside the list, and the list scrolls when the options make it taller than the room it has.
  • Emotes window: clicking a column heading now reorders the list, and clicking the same heading again reverses it. Both the emote name and teachability columns sort, and emotes sharing a teachability are listed by name underneath it.
  • The bank window now shows its new item maximum as soon as you buy more bank space, instead of waiting until an item moved into or out of the bank.
  • The message you get when the bank is too full to take an item now quotes the price of the next upgrade and offers a Buy More Bank Space button that completes the purchase. It previously told players to expand their bank and gave them no way to do it.
  • Player dungeon and basement entrances now show the area's custom name and its owner when you hover them. The name previously appeared only inside the entrance window.
  • An entrance on a lot with Open PvP turned on now carries a [PvP] tag on both the hover tooltip and the entrance window, whether or not the area has been given a custom name.
  • The Select Destination window shows a destination's details on hover again: name and summary on the plate, and holding Ctrl expands it into the merchants, player vendor count, trainers, landmarks, resources and quest state at that scene. Destinations you cannot travel to still show the reason instead.
  • The dungeon entrance window used to drop every option you could not use from its options menu, so a visitor, or an owner who had not placed a dungeon yet, opened a short menu with nothing to say what was missing. It now always lists all five options and greys out the ones you cannot use, with a note on each explaining why.
  • The Select Player window used by teleport to player scrolls now sorts its list: online players first with party members and guild mates at the top, offline players last, and the Player Name and Location headings sort the list when clicked.
  • Grid snap no longer takes over the free rotate while placing a decoration: Q and E turn the item smoothly whether the grid is on or off, and Alt+Q and Alt+E still step it 15 degrees at a time. The grid on/off and grid size readouts moved off the middle of the screen, where the avatar and its name covered them, and now sit with the decoration you are holding.
  • Fixed the UI Scale setting not surviving a relog. The size was saved, but only the newer style windows came back at it; the HUD and the older windows sat at 100% until the slider was nudged again. The saved size is now applied once the interface is up, and it is written to disk as soon as the slider is released.
  • Pressing Escape in the moment between a loading screen clearing and the world appearing no longer throws, which used to drop the Options menu, tooltips and a few other per-frame parts of the interface for that frame. Added regression guards so the Options menu keeps closing through the call that plays its close sound.
  • Friendly NPC names above their heads drew in a flat grey at every hour, which made townsfolk hard to pick out in Soltown. They now use a warm cream that stays bright in daylight and dims after dark, matching how the other name colours already behaved, and the same colour carries to the target frame.
  • Right-clicking a row in the Players in Scene window opens that player's menu again. The press was landing on the row's text rather than on the row, so the menu never opened; the fix is in the shared list every rebuilt window uses, so the friends, guild and party lists, Blocked Players, the deed and lot permission lists, plot storage and the vendor listings all answer a right-click on a row again.
  • The Blocked Players window can block a player by name again. The row under the list now reads name box, Block, Unblock, and the Block button acts on whatever is typed. Before this the only button was Unblock, greyed until a name was picked off the list, so a typed name had nothing to act on it. Spaces around a typed name are ignored now as well.
  • The Oracle Temple map opened as one blank light shape with no detail in it. It is now drawn as a floor plan of the temple, showing the outer wall, the ring of columns, the central chamber and the corridors leading out.
  • Added tests around the right-click menu on the Social window rows, covering the friends, guild and party lists, so a change to the shared list code cannot take those menus away again.
  • The Looking For Group window lists advertised parties again. It was asking the server for your own party but never for the list of groups looking for members, so the list came up empty for everyone; it now asks on open and keeps the list current while it is open.
  • The theme editor now has one minimum size instead of two. Its Simple and Advanced tabs allowed different smallest sizes, so shrinking the window on Advanced and switching back to Simple left it smaller than the Simple tab would have let you drag it.
  • Window title bars hold their height. A window whose contents wanted more room than it had took that room out of its own title bar, which trimmed the top off the title text and the close button.
  • Themed windows show their close X again. On the Air and Citadel themes the corner X, the help button and the pushpin were covered by the plain button frame those themes use elsewhere, so they read as blank plates even though they still worked.
  • The combat bar now says why a glyph will not fire. A press blocked by a missing reagent or component used to dim the icon and print nothing, while the same failure on the utility bar wrote the reason to chat.
  • Mail: the recipient list keeps every friend on screen after you click one, so Ctrl-clicking a second and third name works, and the list holds more than one highlighted name. Change Recipient returns to the full list instead of one filtered to the person already chosen.
  • Tavern board games: the line that names whose turn it is now updates on every move. It was set once when the game started, so for the rest of the game it named the wrong player.
  • Backgammon games can be played through to the finish. When the last checker could be borne off with either die, the board offered the one the rules refuse, and that turn could neither be completed nor undone into a legal one.
  • Harvesting put two Meticulous Collection counters on screen at once showing different numbers, and the one on the harvest bar kept counting bonus collections from nodes already finished. There is one counter now, it starts over on every node, and its number is the bonus collections that node paid, so it matches the extra materials and experience the node hands over.
  • Fixed a case where clicking a glyph on the combat hotbar, utility bar or emote bar put the cursor back in the chat box, which stopped the avatar and typed the held movement key into chat until the player clicked back in the world.
  • Trimmed the decorating refusal readout back to one short line. On test builds each refused placement was followed by bracketed internal detail naming surface types and item flags, plus a note about holding Ctrl for more; that text now shows only to developer accounts.
  • The Journal window tab row now wraps onto a second line when the window is too narrow to hold all five tabs, so longer translations stay readable instead of the last tab being cut off at the window edge. German was the language that ran past the edge.
  • The Decoration Placement Settings window could open with blank dropdowns and no line under them. Each dropdown now shows its access level and the line naming who that level admits from the moment the window opens, and both follow the dropdown when you change it.
  • Dragging an item out of a backpack, bank or container failed about half the time and looked like nothing had happened: the list only counted a drag while the cursor was still inside the 24 pixel row you pressed on, and a normal drag leaves a row that short within one frame. The row now holds the pointer until the drag starts or you let go, which is also why dropping one stack onto a matching one never combined them.
  • The Weight line at the bottom of the backpack now follows items leaving the pack, not only items going in. Dropping something on the ground, moving it into a container or unequipping it on the character sheet updates the number within about a second.
  • The hint written on the back of a treasure map now sits in the middle of the map. It was placed a fixed distance below the top of the window, so on maps that did not fill the window the writing landed on the parchment's upper edge and the tops of the letters ran off the paper, which showed worst on runic maps. The blank-map message moved to the same centred spot.
  • The quantity prompt that asks how many when you shift-drag a stack now closes with the container window it was raised from. Walking away from a chest with the prompt open used to leave the prompt on screen after the container had gone.
  • The Pay Lot Taxes prompt now closes on one press of Escape. It puts the cursor in the days box when it opens, and the first press was going into taking the cursor back out of the box, so the window only closed on the second press. Closing it any way also hands the keyboard straight back to the game.
  • Added an automated check that the health and focus numbers on the status plates stay inside their bars, so the fit that landed earlier this week cannot drift back out, and closed the report they came from.
  • The Combat Decks window now opens with a deck selected, so the "Swap with #" box along the bottom is ready to type into. It used to open greyed out with no sign that a deck row had to be clicked first.
  • Escape now closes one window per press, the one you used last, and keeps working down the pile on further presses. It used to close every open window that was not pinned in a single press. Pinned windows are still left alone.
  • Fixed the skill tree drawing again after a tester pass: the connecting lines now land on whole pixels, so a straight run meeting a bend no longer steps sideways, and a school narrower than the tree panel sits in the middle of it instead of against the left edge with all the leftover room on the right.
  • Players with Invert Scroll Wheel turned on scrolled lists in coarse jumps, because a notch of the wheel moved much further with the option on than with it off. A notch now covers the same distance either way, so the school list in the Edit Deck window, the backpack and the chat log all scroll evenly whichever way the option is set.
  • Item rows in the inventory window were three pixels taller than the rows in the old window, so every list showed fewer items in the same space. Rows are back to the old height, and a full-height backpack at 1440p again holds about forty items.
  • A skill tooltip too tall for the screen now continues in a second column beside the first, so the bottom of a long tooltip is readable instead of sitting below the edge of the display. Tooltips that already fitted keep the width and shape they had.
  • Combo rows in the deck editor and the glyph browser now carry the combo's name in text, ahead of its icon and the two glyphs it is built from. The list is sorted by that name as well; before this the combos came out in an order that could differ between two openings of the window.
  • A chat tab pulled out of its window now opens the new window at the drop point. It used to open at the left edge of the screen wherever the tab was let go, and the drag showed only the tab; an outline of the window that is about to be made now follows the cursor.
  • The Grandmaster badge and its skill count are drawn beside player names again, on your own status frame, on the frame of a player you target and on party rows. Show or Hide Grandmaster Status now turns them off and on.

Client

  • Dug dirt piles in Tanglemire fill back in again. The timed reset that returns a broken object to its starting shape was never running, so a dug pile stayed a hole while the loose dirt inside it restocked and kept giving worms.
  • Item search now finds items you own only on a house lot, in a storage crate, in a mail attachment, on a vendor or mid-craft. The client carries a name list for every item type in the game, in your language, so a search no longer depends on having loaded that kind of item before.
  • Fixed a revealed dungeon map coming back under fog: the explored map was saved on the account all along, but the client asked for it once while the dungeon was still loading and never asked again if that request did not land. It now keeps asking until the server answers.
  • An item you have equipped can no longer be destroyed from the backpack. Equipped tools show in the backpack while in use, and the destroy option used to take the tool off and destroy it in one step. It now has to be unequipped first, matching gear worn on the character sheet. An equipped item inside a larger selection is skipped with a message in chat and the rest of the selection still destroys.
  • Raised the playback volume of the pipe organ. Both the plain and the ornate organ were between two and ten times quieter than every other instrument, worst at the top of the keyboard, and now sit in the same range as the piano and the harpsichord.
  • The Isle of Storms tutorial guide could stay invisible after you walked up to her, which stopped the tutorial with an NPC you could hear but not see. The check that makes her appear now repeats, so she shows up within a few seconds instead of never; floor triggers elsewhere in the game get the same repeat.
  • Exiting the game can no longer stick on the "Please wait" stage. Confirming twice in a row no longer starts the logout twice, the wait for the server to answer the logout request is capped at ten seconds, and once the "Please wait" stage is up the client is guaranteed to finish leaving within a few seconds.
  • Fixed the water depth shown while aiming a fishing cast, which read five feet in every body of water. It was measuring the water's own collision surface, which sits the same distance under every water plane in the game, instead of the bed beneath the lure. Depth now varies with the real shape of the bottom, and the depth-based trophy fish sizes can be checked properly.
  • Voice audio moved to its own mixer bus. The SFX slider no longer changes the volume of NPC spoken dialogue or combat vocal sounds, and the Voice slider no longer trims your own footsteps, gear and spell effects. Creature aggro, flee and death cries now follow the Voice slider as well.
  • Fixed firework sparks coming out of your character instead of out of the firework. The first one you set off in a scene was right, and every one after it emitted from your feet with the cone left sitting a step away on the ground. The effect recycling was resetting part of the firework onto its own root each time it was handed back, so the sparks lost the offset the art gave them. Three tests pin it.
  • Choosing Windowed in the launcher now opens the game in a real window. It had been asking for a window the size of the whole desktop, which pushed the title bar off the top of the screen and covered the taskbar, so Windowed and Full screen looked the same and the launcher setting appeared to do nothing.
  • Ship flags on the galleon player houses, on the wrecked galleon, and on the poles around Kingsport were streaming a quarter turn away from the wind while the windmills and balloon teleporters beside them were right. All 28 of those flags now point downwind with everything else.
  • Turning an add-on off now also stops its functions being run from the /lua command. Typing one prints a line naming the add-on that owns it and saying the add-on is turned off; turning the add-on back on makes the command work again.
  • Fixed a tree in Blood River Outskirts whose leaves looked soft and oversized up close. Its leaf texture and its surface detail were loading at half the resolution they were painted at, while the taller trees standing beside it loaded at full resolution, so the tree now draws twice the leaf detail it did before.
  • Aspen trees were loading their bark at a sixteenth of the resolution it was painted at, so the trunks looked soft and the ridges read too large when you stood next to one. The bark now loads at four times the detail in each direction, and every aspen in the game shares it.

Community

  • Filed five player wishlist suggestions from the forum: adjustable town lighting direction, buyable individual town upgrades, Life/Moon shield skills, a crafting-depth bundle (daily quests, deeper cooking, better high-level scaling), and customizable light-source color/range for housing.

Combat

  • Elysian Illumination now stays on you through a zone change with the rest of its duration intact. It was the one attunement shield marked as not worth saving across a scene load, so it fell off every time the new scene finished loading while the other shields carried over.
  • Weapon poison now lands on every enemy a skill damages, once each. Rend and the other strike-plus-bleed skills were poisoning only the enemy directly in front of you after the earlier fix for double poisoning; multi-hit skills such as Quad Slash and Double Slash still poison on every hit.
  • Ignite Weapon, Frost Weapon and Shock Weapon now replace each other. Casting one ends whichever weapon enchantment was already running, so the weapon carries the look and the bonus of the last spell cast instead of all three at once. Weapon poisons still apply alongside an enchantment.
  • Status effect timers stop at zero instead of counting down into negative numbers, and an effect whose duration has run out now comes off the character even when its damage or healing ticks have fallen behind the clock. Damage over time still lands its final tick.
  • The Summon Ice Elemental tooltip now describes what the summoned elemental does: its attacks have a chance to slow the target's movement, and Water Specialization increases the strength of that slow. The spell itself is unchanged.
  • Death Ray now shows its impact burst on the target. The burst was built with the spell's other visuals and had never been attached, so the ray reached its target with nothing at the far end.

Content

  • Vinicius, the elf refugee at Blood River Outskirts, was recorded as male in the character data while the character standing in the camp is a female elf, so she answered every question in a male voice. Her record now reads female and her lines are recast to a female voice, which takes effect once the new voice lines are produced.
  • Recast Sequanna, the Titan of Love in Malice, off a southern-accent voice that was picked for warm everyday roles and onto a gentle, non-regional female voice. Her lines are unchanged; the new audio goes out with the next voice publish.
  • The angry Spirit of Necropolis now growls out loud on the two lines that describe it growling. The growl is a low, drawn-out version of the ghost's own voice, and until now those lines printed the words with no sound behind them.
  • Two guards who brush players off, the caravan guard in Port Harmony and the wounded guard in Valhold, had three and four different brush-off lines written for them but only ever said the first one. All seven lines can now play, so the same guard says something different when you talk to them again.
  • Applying a saved decoration layout could take items out of your bags and leave them nowhere: not placed on the lot, not back in the bag. A failed placement now returns the item to where it came from. The last item out of a stack was also being skipped every time, so a layout that used a whole stack always came up one short.
  • A decoration layout saved on a large lot can no longer be applied to a smaller one. It could never fit, and the attempt spent a long time placing items outside the boundary one at a time. The preview now says so and the apply button stays disabled.
  • Fixed the clickable area on Brign, Lord of Water at The Breach. His model is about twice the size of an ordinary water elemental, but his target zone was still elemental-sized and only covered the bottom half of him, so players had to click a small patch below his waist to select him. The zone now covers his whole body.
  • Salvaging an obsidian shield now returns a pattern for that shield, and salvaging obsidian bone armor returns the obsidian bone pattern instead of the plain one. Eight new patterns cover the three obsidian shields and the five bone pieces.
  • Obsidian chainmail armor now has its own inventory icons. Every obsidian chain piece was drawing the ordinary chainmail icon, so the two were impossible to tell apart in a bag even though the worn armor was darker. Boots, gloves, helm, leggings and chest are covered, higher durability versions included.
  • Player dungeon totem rooms now spawn only what the totem currently in the slot asks for. A room used to keep every creature any earlier totem had armed, so a dragon totem could produce elves and a troll alongside its dragon, the same totem gave different results at different times, and pulling the totem out left the room spawning anyway. Swapping a totem also clears the previous creature away and re-arms the spawn point, instead of leaving the new totem waiting out the old respawn timer.
  • Added tests around the Clay Tip Jar smelting recipe, pinning its school, tool, six clay ingredients, result item and merchant listing. An earlier change to the recipe had left it unlearnable, so it never matched at a smelting station and its craft button stayed inactive.
  • The ring of rocks at the base of the bonfire island in Port Harmony stays drawn from the docks and from both ends of the beach. Those rocks stopped drawing past about 125 meters, so they were missing when viewed from shore and faded out as you swam away from the island. An earlier pass covered the bonfire bowl and the wider scatter of rocks; this one covers the last seven, at the tower's foot.
  • Two patches of the upper balcony floor in the Stone Five-Story Wizard's Tower flickered between two stone surfaces as the camera moved, because two parts of the building were built to sit at the same height there within a fraction of a millimetre. One of the two pieces now sits three millimetres lower in both places, so the floor draws as one steady surface.

Tools

  • Chased down four conversations the validator reported as leaving characters with nothing to say. All four bindings were already switched off and none of those characters is placed in any scene, so no one in the world was affected; the check now says so instead of calling them faults, and still flags a live character whose conversation is missing.
  • The unattended bug pass now says something when it finishes. Each closed report gets a short note in the tester Discord naming the report, what a player will notice, and the testing task to pick up, so testers no longer have to watch the tracker to find out a report was actioned. Only finished work is announced.
  • The unattended bug loop can now be told to work only odd-numbered or only even-numbered bugs, so two machines can split one queue without stepping on each other.
  • The odd-half and even-half bug loops no longer exclude each other: each parity gets its own run lock and stop file, so both halves of the queue can grind at the same time on one machine.

Guilds

  • Guild wars can be scheduled. The declare window has a War Begins choice above the duration, from immediately out to a week, so two guilds can agree on Tuesday and fight on Saturday with both rosters told in advance. The server has accepted a start time since the war system shipped and refuses to score kills before it; the client had been sending zero every time, which is the whole reason the feature never existed.
  • A war that has not started yet now says so. The war list and scoreboard read "Begins in 2d 3h" in their own color instead of counting down like a fight already underway, and nobody is flagged for open PVP during the wait. When the start time arrives the war goes live on its own: the announcement, the PVP warning and the countdown all switch over together. The guild being challenged also sees the terms, when it starts and how long it runs, on the prompt where they accept.
  • Duration choices shrink as the wait grows so a war always finishes inside the fourteen days its record lives, and a duration already picked survives a change to the wait rather than resetting.
  • A guild war now flags your members to the guild you are at war with, and to nobody else. Declaring one used to switch on every member's PVP flag outright, so the whole guild was open to attack by any PVP-flagged player anywhere in the world, while the server only ever counted a kill toward the war when both players' guilds matched a live war record. Your own PVP flag, PVP parties and open PVP zones all behave exactly as before.
  • A guild invitation now asks before it is sent. The prompt names the player and your guild, with Invite and Cancel, and it covers every way to send one: the right-click menu wherever it opens, and the invite box on the Guild tab. Leaving a guild and removing a member have always asked first. Inviting was the one action in that group that did not, and players reported sending invitations by accident because Invite To Join Guild sits one line from Invite To Party.
  • Cancelling an invitation from the Guild tab invite box keeps the name you typed instead of clearing it. A regular guild member is never prompted, and being demoted while the prompt is open stops the invitation from going out.

Dungeons

  • Dungeon owners can now switch between Adventure Mode and Decoration Mode from inside the dungeon. A small panel in the top right corner names the current mode and offers the switch; it confirms first, warns that the dungeon will reload, and then runs the same switch the entrance window offers, countdown and all. Before this, every spawn-tuning pass meant walking out to the entrance and back in. First card built from the player dungeons proposal page. Part of S1.
  • The switch rides the same server operation and owner check as the entrance window, so nothing changed about who may flip a dungeon or what happens to visitors inside: they get the same countdown message and return to the entrance. One client gate was split on the way: the rule that blocks building while Adventure Mode is on could not also govern the switch, or the switch could never turn the mode back off.
  • The dungeon piece picker now says why a piece will not attach (proposal S3). A line under the point rows names the exact rule: the piece belongs to a set the doorway does not accept (naming both sets), it would overlap another room, it would cut a room off from the foyer (naming the room), or it would go over the point budget (showing your would-be total and the limit). Before, the only signal was a greyed Accept button.
  • The reasons ride the same pattern as the decorating denial lines: a pure reason table with priorities (wrong set outranks the budget, since no upgrade fixes it), EditMode tests pinning every line and the sample renders, and a source ratchet so a future check cannot refuse silently. 13 new localization strings registered, plus 19 older picker and mode-switch ids backfilled into the localization db.
  • The Random Dungeon Generator chest now shares its layouts (proposal S5). The build confirmation gained a seed box: leave it blank for a random roll as before, or type a seed a friend gave you and the same pieces raise the same halls. Letters and other non-numbers switch the Build button off until the box is fixed or cleared. After every build the chat summary prints the seed the roll used, in plain digits with no thousands separators, so the number you see is the number you retype.
  • Player dungeons got a working map (dungeons proposal S7). Pressing M now shows a 3D model of the dungeon assembled live from the rooms actually placed there: each room renders as a translucent block, a gold beacon tracks your position, and the floor you stand on is highlighted. It works in Adventure and Decoration Mode alike.
  • The map rebuilds itself when the layout changes, once per edit, and keeps the camera where you left it. Rooms that cannot reach the foyer draw in grey instead of vanishing, so a disconnected wing is easy to spot. The first version ships without fog of war; per-dungeon fog needs its own storage and is deferred.
  • The player dungeons proposals page marks S3, S5 and S7 built. With S1 and S4 that is five of the twenty-five cards shipped, and S2 and S6 are what remain in the quick-win tier.
  • Proposal S8 built: the server now checks the dungeon point budget on every room placed, using the same numbers the piece picker shows. Dungeons already over the old cap keep every room they have and simply cannot add more until they are back under.
  • The base points per lot size moved into server settings and the client now reads them from the server, so tuning the limits no longer needs a client patch. Swapping a room at the cap now frees the old room's points before the new room lands, so a legal swap is never refused.
  • Planned the next player dungeon cards (proposals S15 and S16): every dungeon gets a permanent record of visits, clears, the first player to beat it, and the fastest run, shown right at the entrance, and opening a dungeon to the public will require the owner to clear it themselves in Adventure Mode first. The plan is written and reviewed; the build lands in an upcoming session.
  • Started the S15/S16 dungeon record work: the server keeps one record per player dungeon (visits, distinct visitors, clears, the permanent first clear, best time and holder, the author's own best on the current layout) plus storage for the publish flag. The decision rules are shared into the client tree and pinned by a new EditMode suite; wire ops and the entrance plaque come next.
  • The dungeon record grew its wire ops: fetching a dungeon's record, reporting a clear (validated against a per-size plausibility floor, deduped so a party's four reports count once), and the owner's publish toggle with its clear-the-current-layout check. First clears and record breaks announce to everyone in the dungeon. Editing dungeon contents or swapping the level un-publishes until the owner re-clears.
  • The client learned to speak the new dungeon record protocol: the generated interface mirrors carry the record fetch, clear report, announce event and publish toggle, and the persistence layers route them online and offline. Still dark until the plaque and entrance window arrive.
  • The dungeon record shipped end to end: player dungeons now carry an entrance plaque with the builder's name, visits, distinct adventurers, the permanent First Clear, and the record time and holder. Clearing every monster in Adventure Mode counts the clear, announces First Clears and record breaks to everyone inside, and owners publish their dungeon from the entrance window once they have cleared the current layout themselves. Editing the dungeon or swapping the level closes it to the public until it is re-cleared. Tester task filed as #3500; reaches chaos with the next build.

Images

  • From the achievements proposal: the composed surface mockup (journal, unlock banner, World Events channel, and the celebration buff in one scene) and the page's hero painting:
  • From the PvP proposal page: the hero painting and the proposed PvP hub window:

Infrastructure

  • Set up a second development workstation on the lab server: a Windows virtual machine with 32 cores, 64 GB of memory, and a terabyte of disk, reachable over remote desktop. It gives us another full place to build and test the game client without tying up a physical box.
  • Wrote the build recipe into the ops docs, including the install snags that cost time: the graphics-free setup path, and a vendor download link that had been renamed out from under both our script and the package manager.
  • Seeded the new workstation's copy of the game project across the local network instead of pulling it down from the code server. Measured both routes first: the local copy moved data about eight times faster, and it spares the code server from serving a few hundred gigabytes.
  • Finished wiring the new development workstation: the game project is checked out and verified clean, the editor runs unattended with no dialogs to click, and the machine now reports a stable hardware identity so its editor licence survives a restart.
  • Confirmed the shared build machines kept their editor licences after adding the new one, rather than assuming it.
  • Copied the working credentials, keys and project notes the new workstation needs onto it over an encrypted channel, scoped to just this project rather than everything on the source machine, and verified each one by using it rather than by checking it exists.

Achievements

  • Published an achievements improvement plan: twenty-four proposals built on a strange finding, the game already has a complete achievement system (server-validated stats, tiered kill counts at 10 / 100 / 1,000 / 5,000, a live feed to Steam) that has run quietly since 2016 with no way for a player to see any of it. The plan: an in-game journal with progress bars and unlock dates, an unlock banner with a fanfare, kill counters for all 66 creature families, kill credit shared with the whole party, a World Events channel that announces when a great boss falls, a celebration bonus for everyone online when it does, a trophy quartermaster who trades deeds for mounted trophies and points for certificates, titles earned by doing, and a Legacy shelf honoring twelve years of event history. It ends with a first catalog of 115 achievements (231 unlockables counting chain tiers), every one grounded in real creatures, bosses, professions, and places. The illustrated version is public at catnipgames.net/blog/proposals/achievements/ with a comment thread and vote arrows on every proposal.

Towns

  • The Town Console is in the game (towns proposal S7): one window with Overview, Lots, Citizens, Message and Spawn tabs for the whole governor job. It opens from any lot sign Manage Lot Claim menu or by typing /townconsole, for the governor and stewards.
  • The Lots tab lists every lot in a sortable, searchable table with its claim state and policy, and carries the reserve, restrict and evict actions that used to require walking to each lot sign. Every call is one the lot sign already sends; the server gained no new operations.
  • Citizens absorbs the Town Access roster, Message is the first editor for the town message of the day (it was chat commands only), and Spawn picks the arrival point from a list with the map window one click away. The old lot sign entries keep their labels and open the matching tab.
  • The play-mode pass caught a crash before it shipped: a town with no owner (admin moves, fresh towns before their claim) blanked the console Overview. The sweep tests also caught the titlebar pin routing nowhere, on the new console and on the guild log window, which now both join the Escape chain properly.
  • The towns proposals page marks S7 built. It was the top voted towns card. A pure decision model with 36 editor tests backs the window.
  • The Town Console reads lot space in square meters now, which is what those numbers have always been: a row lot is 150, a village 600. The Lots column header reads Sq M and the Overview line reads square meters. In a town the client has no lot budget for, that line and its meter are hidden rather than showing a question mark for the total.
  • The two Town Console screenshots posted earlier today came out of Braemar, which is not a player-owned town, so the window showed no size tier and no lot budget. They have been pulled and will be retaken in a real town. The towns proposal page mockup was corrected the same way: square meters, and the real lot sizes instead of invented ones.

Achievements

  • Audited the dormant achievement catalog for the achievements proposal S1. All 29 achievement rules turned out to be authored already, and every quest achievement already has a working conversation trigger. The six that looked missing are real: they live in question branches and dying-words scripts that the old conversation exports do not show. New editor tests now pin the catalog and the trigger coverage so neither can quietly break.
  • Achievements celebrate when earned now (proposal S2). Crossing a goal shows a center-screen banner, writes a chat line with the name and the deed, plays an unlock sound, and fires the level-up lights. At login the game picks up progress the server counted while the window was closed, such as crafting milestones. A veteran logging in with a long backlog gets one quiet summary line in chat instead of a wall of banners. Names match the 2016 Steam catalog, so the toast and the Steam profile agree.

Player Dungeons

  • A player dungeons point allowance now comes from the lot it is standing on, not the lot it was first built on. Moving a dungeon up to a bigger lot used to leave the old, smaller allowance in place forever, so the upgrade bought nothing underground.
  • Moving a dungeon down to a smaller lot keeps every room standing and only pauses new ones. The dungeon piece window now says why, naming how many points over the dungeon is and the number it has to get back under.

Localization

  • The localization string harvester runs on the Mac checkout now and survives two newer code patterns it used to crash on. The overdue harvest added 899 strings, most from the new UI, and retired 39 whose windows are gone.

The Herald

  • The New Britannia Herald for 2026-08-04 is up: Combat experience no longer shrinks after a long session, and the hourly ceiling that paid nothing at all is deleted. A single bad drag could switch off the entire interface for the rest of your evening, and two faults plus a watchdog put an end to it. Also today, the smoke bomb finally conceals you, tamed pets stop dumping their fights on their handler, and every housing lot in town is drawn on the map at its true size and facing. Listen or read the transcript (15 min). Subscribe in any podcast app: /blog/podcast.xml
  • Built the nightly summary that produces the player above. Just after midnight a job reads the day's work log, the commit history and the tracker issues closed that day, works out which items actually mattered and why, and writes a fifteen to twenty minute script about them. It is spoken by the synthesized Lord British voice and lands three ways: a player at the top of that day, an episode page with the full transcript, and a podcast feed.
  • Added a podcast feed at /blog/podcast.xml that any podcast app can subscribe to, with per-episode show notes and a transcript page. Each episode also attaches to that day's Headlines item in the existing work-log feed, so people already subscribed there get the audio without subscribing to anything new.
  • Every episode now opens in character. Lord British welcomes the citizens of New Britannia, names himself, and gives a few words on the biggest items before the show drops into the day's stories. The wording changes every night rather than running as a fixed jingle.
  • Backfilled two weeks of episodes, July 22 through August 3. Every day in that stretch now has its own show at the top of it, on the weekly archive pages as well as this one, and the podcast feed opens with fourteen episodes instead of one. Fourteen to nineteen minutes each.

Housing

  • The lot rectangles on the map are drawn as vector lines now instead of stretched overlay art, which blurred when zoomed out. The outline keeps the same thickness on screen at every zoom level, sits on a thin dark edging so it stays readable over snow and other pale ground, and a small arrow inside each rectangle points at the lot's front edge.
  • Light decorations can be retuned after you place them. Right-click a lamp, torch, chandelier or candle on a lot you can decorate and pick Light Settings: nine ready-made colors, a full color picker, and sliders for how far the light reaches and how bright it is. Every control previews on the light while you drag, and what you settle on is saved for everyone on the lot.
  • Range and brightness are percentages of what the light was built with rather than fixed numbers, because a chandelier and a candle start from very different sizes. Both run 50% to 150%, so a light can be halved or pushed half again as far. The ceiling is there because a wider light covers more pixels, which is the cost argument the decoration limits rest on.
  • This answers a wishlist request that asked for a white option that would not clash with wall colors, and for enough reach to light a room with one chandelier instead of several. Lights have their own per-lot budget, so lamps placed only to fill dark corners were spending that budget.

Quests

  • Quests you can take more than once, such as the town crier mail run, still leave your task list once you finish them, and taking one again does not put it back. That is deliberate: a repeatable sitting in the Active Tasks tab and on the on-screen task list forever is not what the list is for. The Active Tasks tab now has a Show repeatable tasks checkbox, off by default, which lists the repeatables you have finished and could take again. Those rows are marked as repeatable and stay in the Journal; they never appear on the on-screen task list.

Creatures

  • Swept every creature in the game for the problem behind the Brign, Lord of Water fix, and found 49 more. On each one the model had been scaled up at some point while the invisible area that registers clicks stayed at its original size, so only the lower part of the body could be selected, and the name and health bar hung at that height. Boss air elementals covered 30 percent of their body and now cover 99 percent; boss earth elementals went from 44 to 101 percent. Twenty kobold variants, both daemons, Krang and his guards, the giant pirate skeleton and the giant mushrooms were in the same state.
  • Six creatures carried a solid invisible shell instead of a clickable area, which could stop you walking through space beside them: the large obsidian bear and the five oracle spiders. The code that places a name and health bar was also applying a creature's size a second time, which pushed the plate well above anything scaled up and dropped it into the face of anything shrunk. It now measures the creature once.

Tooling

  • Added a sweep tool that measures all 1,642 creature models against their own click areas, plus a test that runs the same check on every build, so a new size variant with a leftover click area fails the test run rather than shipping. Fightable creatures sitting in the healthy range went from 371 to 418 out of 720.

Web

  • The achievements proposals page marks S1 and S2 built.

PvP

  • Kill trophies now carry the record of the kill in one block under the description: Slain by and the name of whoever took the trophy, then the zone, then the in-game date. Those three facts were already stored on the item, but read as "Collected by", "Collected in" and "Collected:" in two different colours above the description.
  • Skulls, hands and jawbones each got their own description. All three previously shared one line about selling and salvaging, so the item never said what it was; that line moved to the bottom of the tooltip and the item type moved up under the name.
  • Published a PvP improvement plan: twenty-seven proposals, from a kill feed, a death recap, and a nameplate marker for anyone who can fight you, to a permanent PvP record with titles, player capture battles on machinery the engine already carries, a scheduled event rotation sized for whoever shows up, rated duels with capped wagers held in escrow, ransom revived as stake tiers chosen at the Oracle statue, a victim-funded bounty board built on the skull trophies, a commendation economy with reward tracks that pay crafting goods, seasons with archived champions, and a war night finale for guild wars. The illustrated version is public at catnipgames.net/blog/proposals/pvp/ with a comment thread and vote arrows on every proposal.
2026-08-04 · 130 items

The New Britannia Herald

Attenuation is gone, smoke bombs hide you, pets stop looping

Headlines

  • Backed up the entire community wiki — 38,417 pages and 12,700 images, checksum-verified, after its host started failing.
  • Experience attenuation is gone. High level characters no longer hit an hourly ceiling on combat experience, and no kill pays zero.
  • Tamed pets stopped leash-looping: the tether changed the distance that starts a leash without changing the one that ends it, so pets set and cleared it on alternating ticks and dumped their fight on their handler every time.
  • Pet Taunting Training pulls creatures onto the pet. Three separate things were stopping it: no threat move when the buff landed, a buff most pets did not read, and a distance falloff that bottomed out at the range pets fight from.
  • The smoke bomb hides you. Obfuscate raised your stealth level but never faded you out, so you stood in plain view. It is now a camouflage that lands while you are targeted, and bleeds cannot strip the stealth you take underneath it.
  • Interface lockups. Two faults that killed chat focus and every drag for a whole session are fixed, and a watchdog now catches the rest and switches input back on by itself.
  • The map now shows every housing lot in town, coloured by whether you can claim it, each drawn as the lot's true boundary rectangle at its real size, rotation and facing.
  • Bug queue pass. A new automated run works the open bug reports one at a time, from fix through testing task through close, and keeps going until the queue is empty.
  • Guilds and Guild Wars Deep Dive published: twenty-five proposals open for votes and comments, headlined by war PvP scoped to your actual enemy, a guild vault, negotiated war terms, and each guild's own page on the web.
  • Dragging several glyphs at once into a deck slot works: all of them land, the slot stays unlocked, and a stack dropped on a locked slot no longer eats the glyph it displaced.
  • Player-Owned Towns Deep Dive published: twenty-four proposals open for votes and comments, headlined by a governor's console, an in-game town directory, a placeable town crier, and a donation board for the town square.
  • A Player Dungeons deep dive joined the proposals series: 25 proposals to give player-built dungeons an audience, from clear-check publishing and entrance plaques with record times to a Delve Board directory and a prize chest staked with the owner's own gold

UI

  • Made the health and focus bars on the new interface status plates thicker, 7 to 12 pixels, so the numbers on them sit inside the bar instead of poking out top and bottom.
  • Lined the buff icons up with the left edge of the bars on the player, target, party, pet and companion plates. They sat 12 pixels to the right, an inset carried over from the old interface layout.
  • Removed the colored outline that framed the target plate whenever a target was locked. Party, pet and companion rows keep theirs, which is what marks the row you have targeted.
  • The deck edit window got the polish pass a tester asked for. Dropping several selected glyphs onto an empty slot used to lock in one and lose the rest from the deck; all of them now land in the slot and stay listed under In This Deck.
  • The stack of glyphs above a deck slot is interactive again: drops aimed at the stack land in the slot instead of doing nothing, each glyph in the stack can be dragged out or right clicked on its own, and a slot shows eight or more glyphs by squeezing the stack instead of cutting it off at three.
  • Dragging rows out of the game's list windows starts reliably now, even on a quick flick, and selecting several rows no longer loses the selection when the list refreshes.
  • Raised the status plate bars again after an in-game look, 12 to 15 pixels, and centered the numbers on them. They sat low, nearly touching the bars bottom edge.
  • Tucked the Options and Social window tab rows inside the window frame on the Bastion and Citadel themes. The row spanned the full window width and sat across the picture-frame border, so the end tabs looked like they hung off the dialog. Tabs also compress to fit a narrow window now instead of poking out of the frame.
  • Replaced the deck editor slot lock, a small dark square, with the gold padlock the old interface drew: a bit larger, closed when the slot is locked, open when it is not. The grandmaster arrow on skill cards moved back to the upper right corner with its old art and dark outline, and the apprentice arrow sits upper left again, on deck cards and the hotbar alike.
  • The per-window opacity control (right-click a title bar) now thins the panels, list wells and text boxes inside the window along with its frame. Before this it moved the outer plate only, so a window set to 15% showed a nearly invisible frame with full-strength panels on top of the world. Dropdown lists and tooltips are still left alone at every setting.
  • The per-window opacity control (right-click a window title bar) now reports the opacity the window is actually drawn at. At the glassiest end of the slider it read out a lower number than the window can reach, because windows are held at a minimum visibility so one can never fade to where it is invisible but still takes clicks.
  • Fixed compass quest markers that never appeared. The compass and the world map share the same marker code, and the map's rule that a marker needs a label had been applied to the compass too, so anything the compass wanted to point at before its name was known got dropped. The tutorial task to find Edvard the Wanderer in Battle of Solace Bridge now shows its marker from across the bridge.
  • The "Show Player Health Bar" option in Options, Interface now works on its own. It used to follow the "Show Player Nameplate" setting, so with your own nameplate hidden the health bar never appeared, and turning it off left the focus bar behind. The two settings are now independent.
  • Moved the pet status frame clear of your own: with a title, a guild line and a full row of buff icons showing, the pet's name and health bar were drawing on top of the player's buffs. The party list moved down with it, and a pet frame you had already dragged somewhere stays where you put it.
  • Equipped items can be dragged out of the character sheet onto the backpack again. The drag was being rejected before it started, which left right-click and Unequip as the only way to take a piece off. The same drag was dead on the mannequin, doll cabinet, fish tank and crafting tool slots, and works on all of them now.
  • Fixed the Air and Citadel interface themes drawing an empty button frame in place of small button art. The window close, pin and help buttons, the chat header buttons, the deck reorder arrows and the lot sign gear kept their own icons again, and interact menu rows went back to plain text rows with no frame behind them.
  • Vendor listings in a zone show item tooltips on hover again, in the current zone and in the All Zones search, where a result opens with the basic details and fills in the rest a moment later.
  • Fixed the two option boxes above the vendor listings table. All Zones and Buy Orders each drew their check box well to the right of its own words and close to the next option, so it was easy to tick the wrong one. Each box now sits directly in front of the words it belongs to, with a clear gap between the two options.
  • Fixed vendor listings in a zone printing colour codes inside item names. A stack of five cotton read as "Cotton <color=#7F7F7F>(5)</color>"; the rows now show the plain name with the count and the "(Dyed)" and "(Empty)" tags coloured as intended.
  • Added an Interface option, Close Loot Window When Emptied, that makes Take All close a loot window once nothing is left in it. It is off by default, it leaves the window open when some of the loot would not fit, and it never touches your own backpack, your bags or lot storage.
  • Pointing at a harvest node from out of reach now shows the same "too far to use" cursor as any other object. It used to show the plain arrow, so a cotton bush, ore vein or tree looked like bare ground from a few steps back even though its name still appeared under the pointer. The tool picture still means you are close enough to harvest.
  • On the login screen, Enter now logs you in without clicking into a box first. The form only listened for the key while the caret sat in the user name or password box, so pressing Enter after the screen came up, or after clicking elsewhere on the form, did nothing. A Cancel button reached with the Tab key still answers Enter itself.
  • Fixed the UI Scale slider in Options > Themes keeping the value a drag was abandoned on. Closing the window while still holding the handle left the slider and its percentage sitting on that number even though the interface size had correctly not changed; both now return to the scale actually in force.
  • Fixed the crafting station losing its item list after a long run of queued crafts. The queue list now stops at three visible lines and scrolls for the rest, and the Crafting Inventory pane keeps a minimum height so it stays on screen.
  • The recipe book's Favorites chapter now opens directly onto your starred recipes instead of a page of text you had to click past. Favorites also stays listed in the table of contents when you have nothing starred, and that page now says so.
  • Applying a saved decoration layout no longer stalls: a change that goes quiet for a minute is counted as skipped and the apply moves on, a change that fails is reported instead of ending the run, and Cancel now stops the apply straight away and keeps everything that already landed.
  • A written Decoration Layout now reads "Decoration Layout: " followed by the title the player gave it, so it can be found by searching for what it is, and its tooltip no longer calls it a blueprint.
  • Fixed the quest item delivery window so it always lists just what the NPC asked for. It used to show the whole backpack on any delivery that wanted more than one item, and it switched to the whole backpack on single-item deliveries the moment the requested item was dragged over to the Offered side.
  • The PVP Stats window stopped listing players you cannot see. A player who hid themselves used to keep their row once you had targeted them, which told you they were still in the zone; the list now asks the same question the rest of the game asks before showing a name, and re-checks every second instead of every ten. Party members, anyone close enough in front of you to target, and your own row are unaffected.
  • Dragging a piece of gear off the character sheet or a mannequin now starts even when you flick the mouse away quickly. The game only noticed the drag while the cursor was still inside the small gear slot, so a fast drag toward the backpack did nothing. The fish tank, doll cabinet and crafting tool slots got the same fix.
  • Fixed the Vendor Listings in Zone window keeping the first zone it was opened in for the rest of the session. Travelling to another town and opening it again reloaded the old town's listings; it now empties the old results and searches the zone you are standing in.
  • Fixed the empty icon column in the zone Vendor Listings window: every listing now shows the item's icon again, in every zone and for every vendor.
  • Fixed the lot deed cards in the Property Manager: the dungeon part of a lot was drawing past the bottom of its parchment card, and the window could be made short enough that the bottom of a card fell outside the Lot Deeds box. The card now reserves the height its text actually takes, and the window will not shrink below one whole card.
  • Ctrl-click and Shift-click now pick out several items at once in a shopkeeper window, on both the buy and the sell list, and dragging one of the highlighted rows into the Exchange carries the whole selection. Previously only a single row could be highlighted and each item had to be moved across on its own.
  • Fixed the Property Manager opening with both of its lists blank: lot deeds, plot storage and the storage slot count are now drawn the moment the window opens, instead of only after pressing Refresh.
  • Vendor lists sort again when you click a column heading. The heading marked itself and the rows stayed put, in the vendor window and in the zone listings search alike; name, weight, price, per-unit price, date and time remaining all reorder now, and a second click reverses them.
  • Tooltips opened near the bottom or right edge of the screen now flip to the other side of the cursor instead of sliding back across it, so they no longer sit on top of whatever you are pointing at. The deck swap card was the worst case, covering the deck swap button in the lower right corner and making it awkward to click.
  • Fixed the Verify window task list cutting the bottoms off lowercase p, y, g and j. An earlier fix corrected this for lists across the game, but this list was built a different way and never picked it up; it now uses the same shared rule, and a test covers the list itself rather than only the rule.
  • Fixed the cut-off letter tails in the Teleport to Zone destination list. A row reserved a full line of height for its text, but the interface theme took eight pixels out of the inside of that box, so the bottom of the line, where the tails of p, y and g sit, fell outside it and was clipped away. Every list row that shortens long text with an ellipsis is covered, and a list heading bar now sits seven pixels tighter, so lists show a little more.
  • Fixed dungeon maps losing part of what you had uncovered when you logged out and back in. The client used to forget a batch of newly uncovered ground the moment it handed it over, whether or not it arrived; it now holds each batch until the server confirms it and sends it again if the connection refused it or went away first. Ground uncovered on the way out of a dungeon is kept and sent once the next area loads instead of being dropped.

Performance

  • The faster loading is confirmed on the test shard rather than just in the editor. The fixed pause at the start of a load measured 0.42 seconds against 0.80 before, and the wait at the end of a load dropped from 2.4 seconds to 0.6 at the median. Both match what the change was expected to do. The sample is still small, so the figures will firm up over the next day.

Tooling

  • The new load timings were arriving as text rather than numbers, which would have left them unchartable and the averages silently broken. Caught it on the first record from the new build, so exactly one was affected rather than a day of them.
  • Captured the live-to-chaos skill copy as a reusable internal procedure so future character restores follow the same checked steps: read from live, verify the totals, dry run, apply with a backup, confirm with the player.

Community

  • Filed four items from the forum into the tracker: a multi-destination POT teleporter idea, distinct buff icons, an optional double-press-to-cast targeting option for placeable skills, and a bug report about time-machine devices in a Player Owned Town over-triggering the comet meteor shower.
  • Took a complete local backup of the community wiki at sotawiki.net after its hosting turned unreliable this week. The archive holds all 38,417 pages across every namespace, the 12,700 uploaded images at full resolution, and a browsable copy that opens with no network connection, alongside a dump that could restore the whole wiki into a fresh install. Every page and every image was checked against the wiki’s own checksums. This is a backup and nothing more — the content belongs to the players who wrote it, and we are not republishing it.
  • Put a second copy of the wiki archive on separate hardware, and checked all 38,417 pages and 12,700 images against the wiki’s own checksums again once they landed there. One copy on one drive is not a backup.

Client

  • Starting the game with no scene name set, which is what an unsaved or scratch scene gives you, threw during startup instead of reporting the problem. That startup path caches its failure for the rest of the session, so every later call into it threw again, once per frame per caller. One editor session recorded 699,708 of those and left a 4.1 GB log file. Startup now falls back to an empty scene id and reports the missing name once.
  • The offline character load ran its completion callback inside its own error handler, so an exception raised by that callback was caught by the same handler and the callback ran a second time reporting no character found. It now picks a result first and calls back exactly once.
  • Health, Focus, Gold and Weight on the character sheet now explain themselves on hover. They were the only rows on the Character tab with no tooltip at all, while Str, Dex, Int, Resist and Avoid all had one. Health, focus and weight each list where the number came from: the base value, what Strength or Intelligence adds and at what rate, the Adventurer Level multiplier, and a line for anything else moving the total. In a scene that caps your level, the tooltip names the cap and your real level, which is the only account a player gets of their maximums dropping when they zone in.
  • The max health, max focus and carry capacity formulas now hand back their own terms, and the game and the tooltip read the same result from one implementation. A tooltip carrying its own copy of the constants is what put a weapon damage range twice as wide as the game rolled in front of players for several releases. Twelve tests pin the explanation and the formula together, and pin that the printed terms add back up to the total.
  • One point of interest changing used to refresh every marker on the map, which was fine for a scene with a dozen and expensive for a town with hundreds of lots. Each marker now refreshes only itself, and lot names are cached instead of being rebuilt every time.
  • Fixed a meteor storm in towns that hold more than one time or weather device. A device that forces the time of day could leave the sky clock flipping between two hours, and the meteor timer read that as a fresh moment on every frame, so streaks crossed the sky several times a second. The timer now holds a real gap between meteors whatever the clock does. Covered by five new editor tests.
  • Cat mounts (lion, black panther, jaguar, snow leopard) rode in silence because their mounted animations carried no footstep events. Added the missing steps so they now sound at walk, jog and run speed, and change with the ground surface like every other mount.
  • Fixed a saved decoration layout going missing after it was put in a container. A layout recorded from a very heavily decorated lot was written but never came back down to the client, so it was in the container and in no list the player could see. Recording now refuses up front when a lot holds more decorations than one layout document can carry, and layouts already saved that way show up in their container again, with their title and decoration count.
  • Fixed the Dash skill playing its cast sound twice at once, which made it about twice as loud as every other skill. It now plays once, at the same level as other casts.
  • Fixed harvesting with a worn tool: pointing at an ore vein, tree, cotton bush or garlic plant from a distance no longer left the pointer stuck and the node unclickable once your pickaxe, sickle or harvest axe dropped below full condition. Skinning with a worn skinning knife was affected the same way.
  • NPC voice-over no longer speaks a different word than the line on screen. Spoken lines are recorded ahead of time and cannot say a player name, so a greeting written as "Well met, <name>." was read aloud as "Well met, outlander". Lines that show your character name are now left unspoken; the far more common lines that address you by the NPC's general term still play.
  • Steepened the distance fade on NPC voices. A voice now drops off clearly as you walk away instead of holding near full volume most of the way out, and still goes silent at the same range.
  • Quest markers on NPCs now read the quest state for that particular NPC. Quests that track progress per NPC were being read as though nobody in particular had been asked, so a marker could show the wrong state or stay hidden on the NPC who gives or takes that quest.
  • Fixed the stealth effect looking wrong once weapons were drawn. The shimmer over a stealthed character was being cut to the shape of a single piece of that character, usually the drawn weapon, and then used for all of it; each piece now cuts the effect to its own shape, so stealth looks the same in a fight as it does out of one.
  • Fixed the large grey boulders in the Plains random encounters looking soft up close. They now carry the same close-up surface detail as the rocks sitting next to them, with no change to their colour or to how they look from a distance.
  • Fixed fishing in a placed lava pool in an outdoor town, where the cast was refused depending on which way the character faced. The game now aims at the water the lure is over instead of whichever water body the ray happened to find first, so a pool that sits under a town water surface fishes from every side.
  • A Chaotic Clone now animates its legs while it moves instead of sliding along the ground, and every creature ordered to run slowly travels at that pace rather than at full speed.
  • Fixed resource nodes that were not live still drawing their untouched look: an iron vein in Tanglemire showed as a full node, raised the mining cursor, and answered nothing on click. A node's look now follows its state, so a spot that cannot be harvested reads as worked out and no longer catches the cursor.

Rendering

  • Fixed an editor-side shader error on the world-space nameplate material. The shader was copied from the stock TextMesh Pro distance field shader and kept include paths that only resolve for shaders stored alongside TextMesh Pro's own files, so it failed to compile whenever the editor imported it. Player builds were unaffected.

Interface

  • A tester asked whether the three window opacity sliders work independently of each other. They do not. The theme's own solidity, the Window Opacity slider in Options and the per window slider on a title bar all multiply together, so a window set to 100 percent could still look glassy because the Options slider sat at 60. All three controls were also called Opacity, and the per window popup used the same title text as the Options row. The Theme Editor's is now Surface Opacity, the popup is This Window Only and reports what the window actually ends up at, and the tip under the Options slider says the two multiply.
  • The per window opacity slider stopped at 100 percent while the global one reached 120, so a single window could only be made more see-through than the rest and never more solid. It now matches at 120. At the other end the two sliders combined could drive a window to 1.5 percent solidity on the Air theme, invisible but still catching clicks with no title bar left to right-click, so the composed value now floors at 5 percent. The popup also previewed by writing to disk on every frame of a drag, and now commits when you let go.
  • Found the cause of the Theme Editor throwing settings back to an earlier state whenever you clicked anything. The colour boxes on the Simple tab saved their contents on every loss of keyboard focus rather than only on Enter, and edits made on the Advanced tab never refreshed those boxes. So one click after an Advanced edit wrote the stale colour back over the new one. Boxes now save only when they have been typed into, and every Advanced edit and tab switch refreshes the Simple side.
  • The attenuated experience icon and its tooltip are gone from the Skills window along with the system behind them.
  • Two faults could leave the whole interface dead for the rest of a session while the world, the camera and the keyboard kept working. Chat would not take focus so you could not type, and nothing would drag out of inventory, containers or the deck lists. The only way out was to restart the client.
  • The first was dragging an item or a glyph out of one of the rebuilt list windows. The drag-start code still wrote to a piece of per-event state that only exists when the click comes through the old UI layer, so a drag that started in a rebuilt window threw every time and took the whole window layer down with it. Eight of these turned up across six player sessions and four builds in a 36 hour window of logs.
  • The second was dropping an item back onto the row it came from. Picking an item up takes it out of the container, so that row is already out of date, and dropping there raised an error that ended the drag system for the rest of the session. Both cases now put the item back where it was.
  • Hardened five more places where a single error could switch the interface off and leave it off: the old UI layer's recursion guard, the stuck-cursor recovery, the modal input gate, the shared event system check, and the cooperative task loop. Any one of them could turn a one-off error into a session-long lockup.
  • Added a UI input watchdog. It samples the state that decides whether the interface can receive input at all, twice a second, and when it finds input switched off with nothing holding it that way it switches it back on and writes one line to the logs. Reticle mode, a held right mouse button, an open dialog and HUD-less mode all switch input off on purpose, so each one has a test proving the watchdog leaves it alone. 33 tests in all.

Balance

  • Removed experience attenuation. Characters above adventurer level 110 used to have their combat experience shrink once they had earned 15 million in the past hour, and a kill paid nothing at all past 30 million. Every kill now pays its full amount no matter how long the session runs.

Taming

  • Tamed pets stopped leash-looping. The Pet Range tether changed the distance that starts a leash without changing the one that ends it, so a pet set and cleared its leash on alternating ticks forever, dumping whatever it was fighting onto its handler two or three times a second. The two distances are now derived from one number and the release always lands inside the tether, pinned by test across the whole skill curve and all three follow bands.
  • Pet Taunting Training pulls creatures onto the pet. There was a hook for the buff ending and none for it starting, so nothing ever pointed a creature at the pet, and a buff that scales future threat cannot out-earn a target that has been collecting attention for the last thirty seconds. Casting it now matches the handler threat the pet has to beat and commits the switch on the same tick.
  • Two more reasons the taunt read as doing nothing. The buff raised a value that nine of the ten pet basic attacks did not read, so it multiplied nothing for a bear, wolf or boar simply swinging at something. And the distance falloff on pet threat hit its floor at exactly the range a pet fights from, cutting every pet in every ordinary fight to a tenth of its threat.
  • Pet tether numbers loosened on top of the fix: 5m untrained, 8m at Pet Range 80, 12m at 150, up from 2m, 5m and 10m. Two meters put the pet inside its handler. Pet Range also moved up a tier, from behind Combat Training to a sibling of the other pet trainings under Summon Tamed Creature. Price unchanged.

Subterfuge

  • The smoke bomb hides you now. Obfuscate raised your stealth level, which stopped others selecting you and shrank how far creatures could notice you, but the fade and the per-observer visibility check both hung off the real stealth effect, so your character stood there in plain view. It cannot be a real stealth effect either: that path refuses to apply while somebody has you targeted, which is the only time you would throw a smoke bomb.
  • Split the stealth effect in two. The concealment half (the dissolve, the fade, the per-observer visibility channel) moved to a shared base, and stealth kept what it always was, the list of things that break it. Camouflage is the same concealment with none of them, so the smoke lands while you are targeted and being hit, and only its own timer ends it.
  • Bleeds no longer strip the stealth you take inside your own smoke. While the smoke holds, a poison or bleed tick and a fresh target acquisition both stop breaking stealth, so you get a window to clear the damage and reposition. Narrow on purpose: a direct hit still gives you away, and a bleed still breaks a stealth taken anywhere else. The window runs 2 seconds untrained, 3.5 at Subterfuge Specialization 80 and 5.75 at 200.

Housing

  • The map you open with M now shows every housing lot in the town you are standing in. Green means nobody owns it and you could claim it, amber means it is empty but locked to you, grey means someone else owns it, and a lot you own stays the blue it always was.
  • Lot markers are sized by tier, so a City lot draws larger than a Row lot and you can pick the size you want out of a crowded street. Hovering one names the tier and either its availability or its owner.
  • The map's "..." menu switches lot markers between all lots, only the ones available to you, and off. A lot you own and a lot you have set as a compass destination stay on the map in every setting.
  • Player owned towns took the most work here, because a lot in one is a decoration the town owner places at runtime. Markers now appear and disappear as the owner adds and removes lots, without you reloading the area, and a lot on the far side of a town reads its real owner instead of showing as available while its data is still arriving.
  • The map's housing lot markers changed from tier-sized house icons to the lot's actual boundary: a rectangle at the lot's real size and rotation, drawn with the same green overlay a town owner sees when placing a lot, tinted by the same claim-state colours. The overlay's arrows sit on the lot's front edge, so the map also shows which way each lot faces.
  • A Row lot now reads as a narrow strip and a Castle as a large field, in true proportion, and the rectangles rotate with angled lots and scale with map zoom. Tooltips answer anywhere inside a lot's rectangle, and the lot filter menu carries over unchanged.
  • The thirteen scenic house rugs were loading at a quarter of the resolution they were painted at. Several rug designs share one image, so that quarter came down to about a hundred dots of detail per metre of rug, which is why they read as fuzzy and washed out when you stood on one. They now load at the resolution the art was painted at, four times sharper across the rug. Animal skin rugs were not affected and are unchanged.

Tools

  • Added an unattended pass over the open bug queue. It takes the newest report, works out a fix, tests it, commits it, files a testing task and closes the report, then moves to the next one and keeps going until the queue is empty.
  • Fixed a fault in the unattended bug-queue runner that made it quit on the first bug it picked up: the claim step reported success but the runner read a leftover status value and treated it as a failure. It now reports its result explicitly, and the runner starts a fresh read each time.
  • The unattended bug runner allows one instance at a time, and it judged that by how recently the lock file had been touched. A run that was killed rather than stopped cleanly left its lock behind, so the next start refused for two hours over a process that had already exited. It now asks whether the recorded process is actually alive, and reports a stale lock as stale.
  • Fixed the in-game Oracle answering "the knowledge base doesn't contain that" to every question. When its reference library failed to load, the Oracle could not tell that apart from a genuine gap in the docs, so it denied every question with no sign anything was wrong. It now says its library is temporarily unreachable and offers to take a report instead, the service health check reports whether the library can actually answer, and an update that leaves it unable to answer is refused.
  • Added an automated check that walks the whole path a vendor listing name takes to the screen, so the stack count beside an item ("Cotton (5)") cannot start printing colour codes in place of the number again.

Content

  • Town criers were greeting players with the wrong place name. The greeting is baked ahead of time, and it was keyed to the folder a conversation lives in rather than the town the crier actually stands in, so the generic crier used by around 426 player towns had one greeting that fit none of them and played silent. The zone now comes from where the crier is placed, and a line that names the town is baked once per town.
  • When a town crier or guard lists the free lots in an area, that sentence is composed at runtime, which meant it could never match a pre-recorded line. It now sits on its own segment so the text around it keeps its audio and the sentence can carry its own. No audio has been generated yet.
  • Rewrote the New Player Handbook's help chapter. It pointed at a help site that no longer exists and treated a player-run wiki page as the place to go for new player help, so a player who arrived while that site was down read a blank page. The chapter now sends players to in-game chat and the official Discord first, and says plainly that the community wiki is run by players and is sometimes unavailable.
  • The Atolls of Atos challenge scene had a movement map dating from 2024, which left every creature standing on its spawn point and every summon, pet and decoration pet with nowhere valid to appear. The rebuilt map puts all 30 spawn points back on walkable ground, and the build now checks this scene the way it checks every other scene so the map cannot go stale unnoticed again.

Combat

  • Fixed a dead safety check in the skill experience spend math: the overflow guard around the experience multiply could never actually run, so a runaway value would have wrapped around instead of being capped. The multiply now trips the guard, and new tests cover both the extreme case and an ordinary skill.
  • Fixed 64-bit math in the retired skill decay path, where a pooled experience balance above roughly 2.1 billion could wrap and take far more skill experience than the pool was meant to cover. Decay is still switched off, so nothing changes in game today; added tests so the arithmetic holds if decay ever comes back.
  • A Chaotic Clone now puts its weapon away and takes it back out whenever the player who cast it does, and a stowed weapon is no longer drawn on the clone. The state is worked out on every player's screen instead of only the caster's, so an onlooker sees the clone match the caster's stance and weapon. The clone still changes over without playing the draw or put-away motion; that half needs an animation change.
  • Obfuscate now spends a Smoke Bomb each time it is used. The skill declared the bomb as its reagent but never removed one from the bag, so a single bomb lasted forever.
  • Fixed hiding so a fully trained hidden character is no longer spotted by nearby creatures. Hiding used to shrink a creature's senses without ever switching them off, leaving a couple of metres around every creature in which a hidden player was still targeted and attacked from the front or the side, and no amount of training closed it. Hiding skill now sets how far a creature can sense you, and strong hiding removes the last of it.
  • Fixed Chaotic Clone: with the Chaos specialization the caster now actually fades out when the clone appears. The concealment was being refused every time because the caster was in combat and being targeted, which is the only state this spell is ever cast in. It now applies while you are targeted and while you are moving, and lasts 15 seconds.

Guilds

  • Published a guilds and guild wars improvement plan: twenty-five proposals, from surfacing what the servers already know (join dates, an activity log you can read in game, scheduled war starts) to a guild vault with per-rank withdrawal caps, a guild finder with applications, alliances, negotiated war terms with counter-offers, war PvP scoped to your actual enemy instead of the whole world, persistent war history with craftable victory plaques, mercenary enlistment, guild PvE hunts, a quarterly ladder, and a bridge to each guild's own page on the web. The illustrated version is public at catnipgames.net/blog/proposals/guilds/ with a comment thread and vote arrows on every proposal.

Images

  • The three composed surfaces from the guilds proposal, as mockups: the Guild Ledger, the War Council, and a guild's page on the web:
  • Two composed surfaces from the towns proposal, as mockups: the Town Console and the Town Directory:
  • Two composed surfaces from the player dungeons proposal, as mockups: the upgraded Dungeon Entrance window with its plaque and owner ledger, and the Delve Board directory:

Developer Portal

  • Added a Resource Atlas card to the developer portal landing page, so the public per-zone resource map is reachable from the portal instead of only by typing the URL.

Deck Building

  • Dragging several glyphs at once into a deck slot now puts all of them in the slot and leaves it unlocked. Only the first glyph of a selection was landing, and the slot locked itself around that one glyph.
  • A multiple selection dragged from the Glyphs list into In This Deck now adds every glyph in it rather than one at a time. Dropping a multiple selection on a locked slot does nothing now; before it swapped the locked glyph out and the displaced one was lost.
  • The deck slot padlock moved back under the slot at the size the live game draws it, 12 pixels instead of 18, off the card art it had been sitting on since the window was ported.
  • Slots holding two or more glyphs now carry a small arrow button that opens a list of every glyph in the slot, with name and school, each row hoverable, right-clickable and draggable. In a 13-glyph stack the last glyph showed about 0.7 pixels of itself, and the 16th shrank to nothing at all; the stack also stops shrinking its tail away now.

Website

  • Added a Resources link to the work log header, on the current week and every archived week page, pointing at the public per-zone resource map at /resources/.

Tester Tools

  • The tester panel's Set ALL Skills button is now Buff ALL Skills: a level field and an hours field (4 by default), and for that long every skill reads as the level you typed. It lapses on its own and your real character sheet is exactly where it was, so a tester can jump into high-level content and then go back to testing progression on the same character.
  • The old button spent the experience pool, so a fresh tester character had to grant experience first and skills still stopped short of the level they asked for. The buff has neither limit: it works on a brand new character, always reaches the level typed, and costs nothing. The single-skill Set Skill is unchanged for anyone who wants a permanent change.
  • The buff survives changing scenes and logging out, and it never writes to the character sheet: the levels live in a read-only layer the save path cannot see, so nothing about it reaches the server. Zone skill caps still apply to it exactly as they do to a genuinely trained skill.

Towns

  • Published a player-owned towns improvement plan: twenty-four proposals, from a message of the day with a real editor and an arrival welcome to a governor's console that runs the whole town from one window, an in-game town directory sorted by who is actually home, a placeable town crier who speaks the town's message aloud, named townsfolk, district signposts, multi-destination town teleporters, town banners and citizen titles, lot applications, a donation board that upgrades the town square and never downgrades it, market row vendor stalls, and shipping the five finished bespoke town maps that currently ship to nobody. The illustrated version is public at catnipgames.net/blog/proposals/towns/ with a comment thread and vote arrows on every proposal.

Dungeons

  • Published a player dungeons improvement plan: twenty-five proposals, from a doorway that finally says why a piece will not place, to publishing a dungeon by clearing it yourself, an entrance plaque that remembers first clears and record times, a live map of your own halls, pressure plates and dart walls, new creature families, blueprints on booksellers, and a prize chest the owner stakes with their own gold that the first clean run claims. Every proposal has its own comment thread and vote arrows: the full write-up.

Server

  • Added a per-player skill copy tool for the test shard. It reads one character's skill training and experience from the live server, checks the totals against the experience conservation rules, and applies them to the same character on chaos after a dry run, saving a backup of the old values first. First use restored a player's chaos character to their real live progression after a bulk skill grant had flattened the sheet to identical values.
2026-08-03 · 100 items

The New Britannia Herald

The smoke bomb was the biggest melee hit in the game

Headlines

  • A two-second escape skill turned out to be the biggest melee opener in the Subterfuge tree. Sneak Attack read the hidden-ness stat as an unbounded damage multiplier, and stealth effects stack, so layering a smoke bomb on top of Camouflage nearly doubled the hit. The term is now capped at fully hidden.
  • The Cave Wrasse fights like a wrasse instead of a crocodile: its own bite, a cinder spit and a sulfur roar, built on three attack IDs that had been reserved for it and left unused since 2015. It also ambushes now, crouching without a nameplate until it springs.
  • The launcher can keep a copy of a build and run it later. Players asked for it, and there was no way back to an old build before now.
  • Skill decay is retired. Dying no longer takes experience off any skill, at any level, in any scene.
  • Zone loads after the first are about 2.4 seconds faster. Most of what was left in a 10 second load turned out to be fixed waiting, not loading.
  • Pet Range was in the taming tree but no trainer taught it, so every tamer in the game has been stuck at a two metre pet tether. Trainers offer it now.
  • Four of the game's best-known artifacts finally count as artifacts in your inventory: the Scepter of Dread, the Heart of Sorrows, the Bonesteel Crown and the Shroud of the Avatar.
  • A public Resource Atlas went up at catnipgames.net/resources/: every harvestable node in the game, mapped per zone, with the zone tier and a lookup for which zones carry a given resource.
  • The 50% experience loss on unlearning a skill is gone. Every school now returns everything you drain, and the time it takes is the only cost of changing your build.
  • The Skills window shows its numbers. Experience in a skill, what the next level costs, what unlearning gives back, and a school total: all of it was computed on your client and printed nowhere, so players were buying unlearn scrolls just to read a figure off the confirmation box.
  • Buffs no longer wear off when you switch scenes. A bug reported since 2020: buff time was recalculated from your attunement during loading, when buffs and gear are not counted yet, and anything judged expired was deleted. Duration is now locked in when the buff is cast.
  • The encumbrance warning is readable now: the yellow and red marks draw large, bold and centered on the icon, and the icon no longer loses its picture when you log in light and get heavy later.

Community

  • Filed 10 tracker entries from the nightly forum sweep: nine wishlist ideas (skill reworks, Lua localization APIs, NPC dialogue/faction depth, character customization, quest-item QoL) and one quest-flow bug the team already flagged in a forum reply.
  • Added a card to the SQUIRREL! page on why untraining no longer destroys experience, including the part where the only way around the loss was to buy the item that skipped it.

Build

  • Fixed the Mac update channel being left behind by the nightly release. The Mac launcher shipped on July 30 but the release pipeline still only published Windows and Linux, so Mac stayed on build 76 while the shard moved to 87 and Mac players could not log in. Build 87 is now published for Mac and every release carries all three platforms.
  • When the Mac build agent is offline at release time, the release now ships Windows and Linux as usual but flags itself so the missing Mac update gets noticed and re-run instead of sitting stale.
  • The Mac build machine dropped off the build farm on the 2nd and stayed off. The disk image that holds its build tree lost contact with the drive underneath it, which unmounted the volume but left the image loaded, so every attempt to reconnect the machine failed at that same step. Reattaching the image brought it back, and the build tree came through intact.
  • Rewrote the Mac machine startup step so it recovers from that fault on its own: it clears a stuck image before reattaching, and does nothing when the build tree is already mounted. Tested by unmounting the volume and reconnecting the machine, which came back up without anyone touching it.
  • Corrected the Mac build notes while checking that machine over. They still said Mac builds had to skip the pre-build refresh because the machine kept no local copy of the large game files. It has held a full copy for a while now, and the nightly release has been refreshing normally the whole time.

Combat

  • Capped the stealth term in Sneak Attack's damage formula. It was the only place in the game that read the hidden-ness stat as an unbounded multiplier, and that stat routinely goes past its intended maximum because stealth effects add together. A fully specialized Camouflage opener from behind drops from 312.5 to 275 damage at 100 melee damage, and the same opener with Obfuscate layered on top drops from 462.5 to 275. An unhidden Sneak Attack is unchanged.
  • Fixed timed buffs wearing off on scene changes and relogs, reported on the old forums as far back as 2020 (Strength of Earth was the usual victim). The saved buff record kept only a start time, and the loader recalculated total duration from current attunement, which dips while a scene loads because other buffs are not reapplied yet. Long buffs came back judged expired and were deleted. The duration resolved at cast time is now saved with the buff and reused on load.
  • The same fix covers potion buffs, whose elixir extension bonus was re-read from current gear on load, and the buff icons other players see on you, which could vanish the same way. Multi-tick heals and damage-over-time keep their tick rhythm across the load, and pre-fix saves fall back to the old behavior until they expire.

Infrastructure

  • Fixed the client frame-rate dashboard, where most panels had been showing "Could not locate that index-pattern-field" instead of charts. The telemetry was arriving fine the whole time; the log viewer caches each index pattern's field list inside its saved object, and that cache was written three days before the newer frame-timing fields started flowing, so every panel built on them failed to resolve.
  • Added a script that rebuilds those field caches for all four log index patterns, and wired it into the provisioner so it runs after every saved-object import. The import re-creates the index patterns from files that carry no field list, so each provisioner run used to wipe the cache it had just been handed. Applied to the shard: 595 fields on the debug stream, and the item and metrics patterns went from no cache at all to 50 and 64 fields.

Images

  • The new build archive controls, in the launcher's Show debug panel.
  • Encumbrance warning marks after the pass, shown at actual size and zoomed:

Creatures

  • The Cave Wrasse family stopped borrowing the crocodile's attacks. Three attack IDs reserved for this creature back in 2015 were still sitting unused in the game's tables, so it now has its own bite, a short-range cinder spit, and a sulfur roar that drops a target's Strength by 20 for 15 seconds on up to five people at once. The tier 15 and the Broodmother still escalate into dragon fire, which suits a thing that lives on dragon leavings.
  • The wrasses ambush now. The behaviour flag that turns it on had never been set, so the ambush tuning on all five did nothing at all. The animation for it was already built and unreachable: the creature crouches, waits, then springs with a roar, and shows no nameplate until it moves. The lower tiers, the ones you would write off as harmless, let you get closest before they go.
  • Two faults in the same family, both found before anything was play-tested. Both of its sound sources named a bone belonging to the crocodile it was copied from, one the wrasse skeleton does not have, so its audio played from the wrong place on all five creatures. Its gaits were tuned to between 1.2 and 3.5 metres per second against an animation whose feet only carry it 0.65, so it slid across the floor at up to five times its own stride. Measured the animation and matched the numbers to it, then checked the method against the crocodile, which sits within 14 percent of its own.
  • The wrasse family's guard test ran for the first time since it was written. It had been blocked by another session on the day it was added, so its checks were confirmed by hand and never actually executed. It passes, and grew from 44 checks to 60 to cover the new attacks, the sound bones and the ambush tiers.
  • Pet Range, the taming skill that sets how far your pet will chase a target before breaking off, was in the skill tree but no trainer taught it. Every tamer was pinned at the untrained two metre tether, so pets disengaged almost as soon as they left your side. Taming trainers now offer it, and training it widens the tether to about ten metres at the top of the skill.
  • Follow Close, Follow Near and Follow Far set the distance without putting the pet into follow mode. A pet told to stay put would acknowledge the order and keep standing there. All three now start the pet following as well as setting the distance, the choice survives a zone change, and the matching chat commands work instead of doing nothing. Companions get the same fix.
  • Four problems in how a taming attempt resolves. If the creature died or you left the area as the attempt finished, the attempt could fail to resolve at all. A creature not on the tameable list could report success, take your collar and give you nothing. A tame that succeeded but could not hand you the pet cost you both the creature and the collar. The chance on the cast bar could also read above 100 percent or below zero, and a creature with no real chance could still be tamed on a lucky roll. All four are fixed.
  • A pet emote item that could not be redeemed was rejected and then destroyed anyway, so the item was gone and nothing was unlocked. The item now stays in your inventory.
  • Wrote up the whole pet, summon and taming system as a single audit, covering tamed pets, the taming tree, magic summons, companions and deco pets. Five defects fixed, a set of hardening fixes in the summon path, and a dozen balance and intent questions recorded with the evidence for each rather than guessed at.
  • Fixed a case where a room full of test bots could take over simulating the creatures in a scene. Bots do not run creature behaviour, so every creature there would freeze for the next real player to arrive. Bots now hand that role straight back when a player joins.
  • Creatures could never see a test bot standing in front of them. Bots were missing one piece of the data a real player publishes on arrival, and without it every creature treated them as still spawning in, forever. They are visible to wildlife now, take real damage, and stop wandering off mid-fight.

Client

  • Tracked down why the draw-call panels on that dashboard were empty: no shipped client had ever reported a draw-call number. Across 27,471 frame-rate heartbeats there was not one, and the client has been trying to send them since mid-July.
  • The cause was timing. The engine registers those render counters lazily, and the frame-rate meter asked for them at startup, so it bound to counters that did not exist yet and stayed broken for the rest of the session. It never showed up in the editor, which has them ready before anything asks. The meter now re-asks on a five-second cooldown for the first few minutes, and says so in the log if it gives up.
  • The Journal opened itself on every login, whatever you had done with it beforehand. It now opens only if you left it open, keeps the position and size you gave it, and stays put when you cross a zone line. Closing it with the X, the J key, or Escape all count as closing it.
  • A tester reported the Journal was still doing it after the first attempt at a fix in July, and they were right. Two separate startup paths could each open a HUD window without consulting the other, and that first fix turned off the one that remembers your choice while leaving the one that opens the window outright. A new test rejects any window wired to do both, because that pairing can only ever save as open.
  • Retiring Frenzy left a leftover glyph sitting on the hotbar of anyone who had it there, looking clickable even though the skill was gone from the tree and its experience refunded. Combat decks already cleaned themselves up in that situation; the hotbar never did. It does now, and only for skills actually retired from the game, so potions, scrolls, tools and emotes on the bar are untouched. DO NOT PANIC! (just experimenting)
  • The character sheet's Masteries section rounded the mastery value to a whole number, so a Blades Mastery of 1.6 showed as 2 on the line while its hover tooltip said 1.6. The line now prints the exact value, matching the tooltip. Reported by a tester with a screenshot.

Balance

  • Wrote a deep-dive analysis of the skill specialization system: how each school's Specialization skill works, what it actually grants at level 80, and how the training and switching costs compare to nine other MMOs.
  • The specialization review turned up 13 effects that never apply or that read the wrong school's specialization. All are documented with proposed fixes for a future balance wave; no gameplay changes shipped yet.
  • Fixed summoned Air, Earth, and Fire elementals leveling from Water Magic Specialization instead of their own school. Each elemental now scales with its caster's matching specialization.
  • Cleaned up wild elemental attack data that scaled off Fire Magic Specialization for every element. The term was inactive for wild creatures; each elemental's data now names its own school.
  • Fixed the summoned Phoenix having zero magic resistance unless its caster had Sun Magic Specialization. It now gets the same base resistance as other summons, with Sun Specialization adding more.
  • Fixed the tamed Wyvern's tail attack ignoring the owner's Taming Specialization. The bonus hits now apply.
  • Fixed two unreleased Bard songs whose focus and reagent discounts were keyed to Ranged Specialization instead of Bard.
  • Looked into the specialization elixirs: their bonus math needs a design pass rather than a quick formula fix. An initial tweak was reverted the same day while that decision is made; the drinks behave exactly as before.
  • Cleaned up four creature attack archetypes that read armor specialization stats no creature has. The data now points at the owner's specialization so it works if these attacks are ever given to pets.
  • Heavy Armor Specialization now raises the damage absorption cap as designed: at specialization 80 armor can absorb up to 90 percent of a hit instead of 80. The bonus existed in the design but never applied.
  • The taming success bonus from Taming Specialization now only applies while the specialization is set to training or maintaining, matching every other specialization benefit.
  • Chance tooltips no longer display values above 100 percent. Combat rolls are unchanged.
  • Removed a leftover Obsidian Mastery entry from the specialization tables. It belonged to a school that was never built and could not be obtained.
  • Hardened the two-specialization limit: promoting a specialization now cleanly demotes the others in every case, and a repair pass fixes characters carrying more than two active specializations from old data.
  • Added automated tests pinning the specialization fixes so the wrong-school and self-stat reads cannot quietly return.
  • Wild elementals' melee strikes now count as their element, so elemental resistances and wards reduce the whole attack instead of only part of it.
  • Skill decay on death is gone. Dying no longer removes experience from any skill, at any level, in any scene. Decay had been running at the full rate from level 40 up to a scene level cap while characters at or above the cap lost almost nothing, because the rate was scaled by a ratio built from two different experience tables.
  • A specialization now switches all of its bonuses off when you stop training it. Only the mastery bonus itself was gated before, so the school attunement a mastery grants, worth up to 16 points at mastery 80, kept applying to a specialization that had been parked. Levelling every magic mastery and parking them all granted attunement in nine schools at once while occupying two specialization slots.
  • Parties fighting in player basements were collecting the 25% open PVP experience bonus that basements are meant to be excluded from. The exclusion compared a whole set of scene flags against a single flag, so it never matched. 50 scenes carry the basement flag and none of them carry it alone.
  • Party experience is no longer dropped partway through a group kill in a scene missing from the scene records on the server. Members earlier in the list kept their share and everyone after them got none.
  • Unlearning Lightning Storm returns all of its experience instead of half. It was the one implemented Air skill left out of the full refund list, which cost about 1.2 million experience on a respec at level 100 while the other fourteen Air skills refunded in full.
  • Verdantis Shardfall no longer caps producer skills. The zone holds adventurer level and adventuring skills to 110 so fights there stay close, but it was applying the same 110 ceiling to production skills, which clamped the bonuses those skills grant and showed the wrong level in their tooltips. Production skills now count at their real level inside the zone. The adventuring caps are unchanged, and it was the only scene in the game capping production.

Launcher

  • Added a way to keep a copy of the build you have installed, and to run a kept copy later. Both live in the launcher's Show debug panel: one button keeps the current build, and a dropdown beside it lists your kept copies with a Play this build button. Players asked for this; until now an update overwrote the old build and there was no way back to it.
  • Kept copies go in a folder you pick. On the same drive as the game a copy takes seconds and no extra disk space, because it shares its files with the installed build until a patch replaces them. On another drive it does a real copy, with progress and a cancel button. Running a kept copy leaves your normal install alone, so the launcher goes on patching and playing the current build.
  • Released launcher build 26 for Windows and Linux, carrying the build archive. Installed launchers pick it up on their next start. The Mac launcher stays on 25 until its bundle is rebuilt, which has to happen on a Mac.
  • The Mac launcher is on build 26 as well, built and signed on a Mac and published to the same channel. All three platforms now carry the build archive.

Crafting

  • The batch crafting experience penalty holds at half again across the whole curve. The halved value and the lower floor were computed from different numbers, so the penalty faded from ten prior crafts of a recipe and was worth nothing from thirty on, where a batch paid exactly what single crafting paid.
  • Crafting and gathering bonuses now use the production skill cap in the four scenes that cap adventuring at 100 while leaving production at 200. The cap was being read and then discarded, so a miner at 140 in those scenes had every mining bonus evaluated at 100 while the character sheet showed 140.
  • Repairing an artifact at a crafting table now counts everything you put on the table, including items inside a bag sitting on it. Before, only the top layer of the table was checked, so an artifact or a gold crown tucked into a bag was missed.
  • Enchanting, masterworking, collecting a brew and pulling ingredients from a lot chest stopped dragging the chat window in front of the table you are standing at.

UI

  • The rune card list updates the right way round when a skill changes. Unlearning a rune used to leave its row on the list, and lowering a rune skill with an unlearn item removed the row even though copies remained.
  • Turning a specialization off now rechecks your decks straight away. The extra card a specialization grants at mastery 80 stayed in the equipped deck until an unrelated later event removed it.
  • Starting a third specialization now gives up the lower level of the two you already hold. It had been picking whichever the server happened to send first, so it could drop a level 100 specialization in place of a level 80 one.
  • The daily pooled experience bonus compares whole dates, so a player returning exactly a year later on the same calendar date is no longer refused the bonus for that day. Both records of the last claim now update together.
  • The pet status bar only wired up its stance icon and movement letter when the pet was first summoned. A pet that came back with you through a zone change showed blank or stale indicators and stopped updating for the rest of the session. Both now fill in and keep updating however the pet arrives.
  • The Scepter of Dread, the Heart of Sorrows, the Bonesteel Crown and the Shroud of the Avatar now appear under the Artifact category in your inventory and render in the same bronze as every other artifact. Their tooltips already called them artifacts; the filter and the name colour did not agree. How you repair them is unchanged.
  • The encumbrance warning in the top right corner draws its yellow and red exclamation marks large and centered on the rune icon now, in bold with a black outline. They used to draw at the 16px body size with no outline over 32px of busy art, and players reported them as hard to see.
  • Fixed the encumbrance icon losing its picture. The rune art only becomes available once a character is over capacity, and the corner asked for it a single time at startup, so logging in with a light load left the warning drawing as a small bare exclamation mark for the whole session. The corner now keeps asking until the art arrives.

Performance

  • Zone loads after the first are about 2.4 seconds faster. Two fixed delays were being charged to every scene change after the real loading work had already finished: a two second pause at the end so creatures would complete their spawn-in effect out of sight, and a half second pause at the start on top of a loading screen fade that had already completed.
  • Measured the load against 1,784 real loads on the test shard rather than one development machine, which moved the target. The median load was 10.1 seconds and the phases accounted for all of it, so the largest remaining slice was fixed waiting rather than asset or engine work. Two earlier conclusions from the development machine were wrong: garbage collection costs 0.22 seconds, not about a second, and 2.2 seconds of apparently missing time was one phase being reported twice.
  • The end of the load was the biggest phase and reported a single opaque number. It now breaks out shader warmup, the creature spawn wait, level finalize and the scene checksum separately, and it also measures the screen hide and fade that the old total stopped short of, so the reported figure now matches what a player actually waits through.
  • Wrote up four load-time ideas that were measured and rejected, with the reason each one fails, so the next pass does not spend the time on them again. One of them would have looked like a free second and would instead have left the master volume stuck partway up.
  • Measured the load changes in the editor: the fixed pause at the start of a load dropped from 0.8 to 0.2 seconds and held steady across a cold and a warm load. The new timing also showed that the old figure stopped counting 0.9 seconds before the player is actually looking at the world, and confirmed that one delay we had considered removing was already costing almost nothing.
  • One measurement is still owed. The part of the saving that applies to creatures finishing their spawn-in needs a scene with creatures in it, and the test shard was not reachable from the development machine, so that number will come from the shard once the change is deployed.
  • Checked two ideas for making loads faster by keeping more in memory, and rejected both on the numbers. Returning to a scene you had already visited is barely cheaper than arriving fresh, and re-reading a map from disk costs nothing at the median because the operating system has already cached it, so neither trade was worth the memory.
  • The same measurement found a much larger target. Time spent loading art during a zone change tracks the decoration phase almost exactly: about a second on a map with no decorations, and nineteen seconds on a heavily decorated one, inside a load of thirty-six. One town template spends 41 percent of its entire load there. That is now the top candidate for the next pass.

Items

  • Your chat log now tells you when an item takes durability damage, naming the item and the points lost. The matching lines for repairs already worked; the damage lines had never once reached a player.
  • Artifact system deep dive: the combining ladder, the tier data and the ancient essence loop read end to end, with the results written up so the parts that look wrong from a distance and are not do not get re-investigated. Four player-facing fixes came out of it, and the artifact repair rules now live in one place for both online and offline play.

Bug Fixes

  • The effect that plays when you find an artifact now plays once for the container you opened rather than once per artifact inside it, so a container paying out several no longer stacks the visual on you and everyone nearby.

Gathering

  • Added a public Resource Atlas at catnipgames.net/resources/. It lists every zone that has harvestable resources with its tier and node count, and each zone opens a map showing where those nodes stand, seen from above. You can also pick a resource and see which zones carry it, ranked by how many.
  • Each resource on the atlas lists both its placed spots and how many of those spots the zone keeps filled at once. A zone with 40 emerald spots and 23 live never has all 40 up together, which is worth knowing before you plan a gathering route.
  • The atlas is live with the full world baked in: 221 zones carry resources, holding 16,260 placed nodes across 29 resource types. Copper veins are the most common thing in the game at 1,961 spots, with cotton close behind at 1,908.

Tooling

  • New editor tests for the pet system pin the things that broke: that every taming skill a player is meant to buy is actually offered by a trainer, and that every pet command in the command list does something when issued. Both defects this pass found were invisible to the old tests because no individual piece was wrong.
  • Test bots that populate a scene now walk around instead of standing in one spot. Each bot is given the scene's own walkable ground, exported from the map data, and picks its way across it with real pathfinding, so it rounds corners and follows the terrain rather than sliding through walls.
  • Added a check that guards the data channels those bots use to appear in the world. The channel numbers are positions in a list, so an unrelated change elsewhere could silently shift them and leave bots invisible or under the ground. That now fails a test instead.
  • The walkable ground for the bots' default gathering scene is now shipped with them, so they wander it for real. Running the new checks against it caught two things: long routes across a large area were being abandoned partway, and the documented channel numbers the bots publish through had quietly drifted by one.
  • Bots that have arrived somewhere now bow, clap, wave and dance instead of standing to attention. They only do it while stopped, so nobody bows their way across a courtyard.
  • Bots can also speak ambient lines now, though it stays off unless asked for: a large group talking would bury the local channel for anyone standing nearby.
  • Ran the bots against a real server for the first time, which found three things reading the code had not. Their path smoothing was inverted, so every route was about twice as long as it needed to be and bots minced instead of walking. The setting meant to keep a group together was being ignored on any large map. And a message the server sends back on arrival was going unhandled.

Skills

  • Unlearning a skill now returns all of its experience to your pool. It used to return half for most schools and everything for Air, Fire and Bard, a split left over from old school reworks that was never explained anywhere in game: walking away from a specialization at level 80 destroyed 1,801,380 experience in one school and nothing in another. Unlearning speed is unchanged, so switching builds still costs the same play time, and unlearn items still do it instantly.
  • The Skills window shows the experience numbers it always had and never printed. Hovering a skill gives the experience in it, what the next level wants, what unlearning would return, and how far it moved this session; hovering a school sigil gives that school levels and experience. The header shows both experience pools at once instead of only the tab you are on. A new Interface option, Show Skill Experience Numbers, turns the figures off for anyone who would rather not read them.
  • A skill set to unlearning now reports what it is losing each time you earn experience, and about how many more experience gains it needs to reach its lowest level. The estimate is in experience gains rather than minutes because the drain ticks on each award rather than on a clock.

Documentation

  • Wrote down why the editor cannot connect to the test shard: the old fallback ports were retired in July and the replacement network stack is compiled out of a plain editor build. The port reference still described only the old scheme, so it now carries a warning and a pointer to the current one.