Episode
Voice chat arrives and a horse finally learns the stairs
Voice chat is built and switched on for the staff test shard, with positional voice nearby, party voice anywhere, speech to text into chat and six voice fonts. A mount that cleared entire staircases in one go now walks down them properly. Slaying weapons start working on creatures that are more than one kind of thing, hidden players stop being visible to other hidden players, and Calls to Arms learn where they are being fought.
In this episode
- Voice chat built, on for the test shard
- A mount jumping whole staircases and falling
- Slaying weapons missing compound creature types
- Hidden players, Bolster Balance and Knight's Grace
- Calls to Arms get a place and a kill goal
Transcript
Good evening to thee, citizens of New Britannia. Lord British, down from the throne a moment, with word of what thy makers were about on Thursday. Voices, true ones, thine own, carried to whomever stands beside thee. The hidden are hidden at last, even from one another. A Call to Arms may now name the ground it is answered upon, and count the fallen upon it. Two runes, one of the shield and one of the heavy harness, have been taken firmly in hand. And then there is the matter of a horse that could not be trusted upon a flight of stairs. We begin there, for it is the finest tale of the lot and I will not make thee wait on it.
So. The stone steps down to the docks at Brittany Wharfs. You ride down them, and somewhere partway the game throws you off your mount, and you are picking yourself up at the bottom wondering what you did wrong. Nothing. You did nothing at all. The dismount was fall damage, and fall damage is supposed to throw a rider off a mount. That part was working perfectly. The question nobody had thought to ask was why a person riding down a staircase was falling in the first place.
The answer is that you were not riding down it. You were jumping it.
Here is how. When you walk down a step, the game looks a short way beneath you, about half a meter, for ground to settle onto. That works beautifully for a person on foot, because a person's feet are small and they are directly underneath the person. A mount is about seven tenths of a meter wide. The treads on those stone stairs are narrower than that. A shape that wide stays balanced on the lip of a step until its edge slips off, and by the time the edge slips, the ground under the middle of the horse is already further down than the game was prepared to look. So it found no ground, concluded there was no step to take, and carried on as normal. Your horse left the top of the staircase at full speed with no downward motion at all, sailed clean over the entire flight, and landed three to seven meters lower. Fall damage. Dismount. Rider at the bottom, baffled.
The reason it only happened sometimes is my favorite part. Exactly where the edge slips depends on your frame rate, your speed and the line you took down, so the same staircase would throw you on one run and behave itself on the next. Those are the worst ones to chase, because for a long while the only honest description of the bug is that the stairs are in a mood.
The step-down check now counts the part of the rider already hanging out over the edge as ground it has already covered. It was tested over real stairs, at the frame rate the player who reported it was running, walking and sprinting, at several speeds. Not one fall. Real drops hurt exactly as much as they did before, a four meter ledge is still a four meter ledge, and people on foot running down steep stairs quietly got the same benefit for free.
And the whole thing reached us through the Oracle, from somebody who only wanted to get down to the docks.
Now the big one, and I have been looking forward to this for a long time. Voice chat is built.
Hold Caps Lock and talk. Players standing near you hear your voice from where you are standing, which means a tavern finally behaves like a tavern, louder as you cross the room, fading as you go out the door. Your party hears you from anywhere in the world with no position attached, because a party spread across three zones has no business sounding like it is spread across three zones. There is a second key for guild voice, left unbound to start with so you can choose it yourself.
Then the parts I did not expect to enjoy as much as I do. What you say can be transcribed and posted into chat as a line marked as spoken, so people playing with the sound off still follow the conversation. There is a Speech to Text Only mode that types your words into the chat box for you to read over and send, with no audio leaving your machine at all, which is for everyone who would rather talk than type but would very much rather not be heard.
And there are voice fonts. Dwarf, Orc, Wraith, Automaton, Elf and Giant. I have heard the Giant one. It is extremely silly and I am not sorry. If you disagree, you can switch every voice font off and hear everybody as themselves.
The housekeeping matters here, so let me say it plainly. Every speaker has their own volume slider and a mute option on the player menu. Blocking somebody stops their voice in both directions. A speaking mark shows on party frames and over heads, and there is an indicator listing who is talking. The first time you switch it on, the game explains what happens to your voice and asks before it opens your microphone. The transcription runs on our own voice server, it goes through the same moderation that reads typed chat, and the audio is never recorded and never stored.
And then a piece of work I am proud of. The team wrote a test where two robot players log into a shard, find each other, form a party, and one of them speaks a recorded line to the other. A hundred and seventy seven small packets of voice, twenty milliseconds apart. The second robot has to receive at least ninety five percent of them, in the right order, with the right contents, and then hear the sentence come back to it as text. If any of that fails, the build fails. Two robots having a conversation every night to prove that you can have one.
Before it shipped, two reviewers read the whole thing independently, and they are the reason I can tell you this next part cheerfully instead of apologetically. Blocking a player did not stop their voice. The block list travels around by account, and the voice relay was comparing it against characters, so the two sides never matched. The block looked like it worked and did absolutely nothing. Caught and fixed before one player ever leaned on it. Voice is switched on for the staff test shard first and stays off on the shard you play on while we watch it behave. Staff can also take voice away from a single account without touching their typed chat, for a set number of minutes or until it is given back.
Right. Cuthbert, Undead Bane. A sword whose entire purpose, whose actual name, is hitting undead things harder. It did not work on the Ancient Undead. It did not work on most liches. The Two-Handed Mace of Elemental Slaying did no extra damage at all to obsidian golems. The Two-Handed Sword of Elf Slaying politely skipped a number of elves.
Every creature in the game carries a set of labels rather than a single one. A lich is undead, and it is also a caster. An obsidian golem is elemental, and it is also a golem. The slaying check asked whether a creature's whole set of labels was equal to the one label it cared about, which is only ever true of a creature that is undead and nothing else whatsoever. So these weapons worked flawlessly on the plainest possible example of each kind, and gave up the instant a creature was in any way interesting.
A sword called Undead Bane that declines to bane the undead is exactly the sort of thing you want to catch before a player does. We did not catch it. A player did.
The reason it sat unfixed for so long is the part that taught us something. It was looked at years ago and parked, because the person looking at it believed our damage formulas follow the arithmetic you were taught at school, where multiplication binds tighter than equals. They do not. They read strictly left to right, all of them, every time. The reasoning was sound and the premise underneath it was wrong, so a working fix went on a shelf and stayed there. Changing one comparison repaired all three weapons.
And the same misunderstanding had gone the other direction somewhere else entirely. The Kobold energy devices, and the Death Power Shards down in The Breach, hand a buff to everything that is not humanoid. Anything that was humanoid and also something else read as non-humanoid and collected the buff. Nothing that stands near one of those devices today was affected, so your fights there play exactly as they always did, but it is the same bad assumption wearing a different hat, and both hats are off now.
Stealth next, and this one made me laugh out loud. If you were hidden, and another hidden player came close, the pair of you could see each other as faint faded figures. Two people who had each gone to enormous trouble to be invisible, standing in a clearing, entirely aware of one another, and invisible to every other person in the world. The old rule revealed a stealthed player inside a close cone, and the shimmer effect obligingly drew their outline for you. That rule is gone. A hidden player is now drawn not at all, at any range, to anyone outside their party. Party members still see each other, because a party that cannot locate itself is not much of a party.
One honest caveat, because you will find it anyway. Targeting did not change. You can still be tab-targeted while hidden. So it is now possible to be perfectly, beautifully invisible and still get hit by somebody who cannot see you either.
Two runes were rebalanced by owner order on the same afternoon. Bolster Balance used to be a flat wall. You cast it, and your resistance to being stunned, rooted, knocked back or knocked down sat at full strength for the whole duration, no matter how much work it had done. Now it wears down as it works. Every control it stops for you takes a fifth of that resistance away. A hundred, eighty, sixty, forty, twenty, spent. Five stops and it is empty, and a recast hands you a fresh one at full strength. The Dexterity bonus and the critical hit reductions do not fade. A shield that spends itself is a far more interesting thing to carry than a shield that does not.
Knight's Grace used to cost a flat twelve focus, which is a serious outlay when you are new and loose change when you are not. It now costs a tenth of your maximum focus, so it asks the same amount of you whoever you are. Its bleed clearing has moved onto Heavy Armor specialization. Specialize and it pulls two bleeds off you, skip the specialization and it pulls none, where before everybody got one. Stuns, roots and slows still come off for everyone, as they always have.
Calls to Arms learned where they are. Until now a call was a realm-wide affair. Catch two hundred fish, anywhere at all, with everyone piling into the same total. A call can now name a place. Two hundred fish in Central Brittany counts fish caught in Central Brittany and its districts and nowhere else, and the compass line, the Call to Arms window and the opening announcement all say so, so nobody loses an afternoon fishing in the wrong ocean. The better consequence is the one underneath it. Two calls for the same thing can now run in two different towns at once, which was flatly impossible before. Your town can hold its own derby.
There is also a new kind of goal: defeat other players. It counts Obsidian Trial kills that already pay out the coin, and open world kills that already create a ransom, so nothing in the world becomes newly worth killing somebody over. Killing your own alt does not count, which I am reliably informed was the first question everyone asked. And the same pair of players only counts once every ten minutes, so you and a friend cannot stand in a field trading deaths for an hour and file it as a war effort.
We thought of that one early, because we would have done it ourselves.
Three things about your bags. Hovering a container now tells you how full it is, reading something like two hundred and fifty six of three hundred, and the number goes red when it is full. That works for a bag in your pack or your bank, and for a chest standing on a lot for anybody allowed to put things in it, without opening it first. The backpack and the bank open sixteen pixels wider the first time now, so the favorites star stops crowding item names. And buying from a merchant into a bag that is completely full tells you the bag is full and to make room, instead of failing with a vague error and leaving your whole cart greyed out for the rest of the session.
Two hand-ins in the starter towns got unstuck. Julia the Alchemist in Kingsport was still offering Guard Winslow's healing herbs to people who had already turned those herbs into the elixir, saying her line and handing over nothing, and if you lost the satchel there was no way to get another. She stops offering now, and she will replace a lost satchel once a day. Winslow himself, over in Owl's Head, would only take the finished elixir if you typed a word like medicine at him. Now you can say hello with the elixir in hand and he takes it, and greeting him without it no longer opens an item window you cannot fill. And Gus out in Blood River only asks whether you found one of his monkeys if you are actually carrying one, rather than asking every single person he has ever met and then opening an empty hand-in window at them.
Your town now knows who lives in it. A player owned town counts as its members the governor, the stewards, and everyone holding a lot there. Among the lot holders, somebody the governor assigned a spot to, or who holds a town role, is a Resident. Anybody else holding a lot is a Squatter. Holding the Resident role with no lot at all no longer makes you a member of anything, which settles the case of a player finding a town listed as theirs that they had never set foot in. The town page lists every member with their role, and a governor can keep squatters out of the town's web pages, its Town Hall, its chat and its Desk.
Patch notes now go up before the build does. Both patch notes pages lead with the notes for the update you have not got yet, and that entry clears itself out when the build actually ships. Fifty five lines are up there right now for the next one. The signed-in home page on the player site also opens on the studio's news now, lead story first with its summary and the next four below it, and staff write those posts on the site itself.
And here is the one that delighted me most all day, which no player will ever see. We run forty two hosted town masters, which are headless copies of the game keeping player towns alive. Somebody profiled them, and about a quarter of all the processor time in every one of them was going to the audio mixer, faithfully running pitch shift, flange and chorus over sound that nobody was listening to, in an empty town, for a client with no ears. Forty two machines, applying a flanger to nothing, around the clock. Headless clients now run their audio at the lowest setting there is, which gives us back roughly ten processor cores on the hosting box once the next build reaches it.
Forty seven tracker issues went down yesterday. A good handful were things sitting in the wrong place. Eight skull statues in Savrenoc Timberland were floating up to nearly a meter off the ground, and have been since the original import, so they have been quietly hovering there for years. The Altar Chandelier was casting a solid dark disc on the floor beneath it, because its own bowl was blocking its own light on the way down. The Vanduul Polearm's weapon enchants were burning merrily around your hands instead of along the blade. Two Options rows wandered back to their alphabetical places. And the Rend Length bonus is now called Rend Duration, because the old name read like a measurement of your sword.
Another cluster was the game shouting at you about nothing. Opening a mailbox while the mail window was already open. Cancelling out of the Dungeon Builder after previewing a wider room. A calendar entry with no start date sending the calendar back to roughly year one. Saved logins quietly declining to save when another program had the file open. Switching from wi-fi to a phone hotspot mid-session used to print a server refusal into chat along with both of your addresses, which is a charmless thing to do to a person. And walking back into an adventure could drop you into a former party member's private instance, get you refused at the loading screen and send you back to the overworld, over and over, nineteen times in one farming session for one unlucky player. All quiet now.
A large part of yesterday went on putting the test suite back in order, which is the dullest paragraph in this episode and the reason the rest of it exists. Fences were re-pinned to code that had deliberately moved. Two tests that took over a minute now take seventeen seconds and twelve. A watchdog that politely asked a stuck test to stop now keeps asking until it does. And twelve tooltip tests were failing on one machine for the best reason I have heard in a while. That machine has its game language set to German, so the game was dutifully formatting every number the German way, with the comma and the point swapped around. The tests were right. The game was right. The computer was German. There is now a guard that pins English number formatting for test runs and tells you off if a test leaves the setting somewhere odd.
That is the day. Voice chat on the test shard, a horse that respects a staircase, an Undead Bane that banes the undead, and forty two empty towns that have finally stopped running a chorus pedal for an audience of nobody. I am looking forward to the evening we switch voices on for everyone, and to the first guild that discovers all six voice fonts at once.
And one last thing before I go. We did spend a good part of the day teaching a mount how to get down a staircase properly, and I am told the result is best described as a step in the right direction. I know. I know. Good night, friends.