Party members weren’t being launched into area by cows then falling to their mock-deaths in The Outer Worlds, it seems, however the fact isn’t a lot much less unusual. Obsidian Entertainment final night time launched a giant bugfix patch for his or her sci-fi RPG, together with a repair for the issue of the game generally declaring you’d failed companion quests as a result of your pal had died – though they have been clearly alive. Obsidian tried to pin down this enigmatic bug for ages however its trigger had proved elusive. Quality assurance lead Taylor Swope informed the story of this bughunt on Twitter, and it’s good. The trigger is a bit like Wile E. Coyote realising that the Road Runner has as soon as once more tricked him, and for a number of seconds he has been standing on skinny air.
Across 18 tweets final night time, Swope informed his story of the bug “which I believe I spent more time investigating than I have for any other individual bug in my career.” Because studying Twitter threads can get messy, I’ll quote it right here:
The gist of the bug was that, for some gamers, a companion quest can be marked as Failed within the quest log, with the reasoning that the companion was useless — even if the companion was very a lot alive and nicely.
This was perplexing as a result of (outdoors of SuperNova mode) companions *can’t* die.
There have been one or two instances earlier than launch the place this problem appeared to occur, however nobody in QA ever managed to breed it and regardless of our greatest efforts we couldn’t be taught something concrete about it.
One cause it was so laborious to pin down is that it was inconceivable to inform when the bug truly occurred — the entire instances we had have been basically “hey something bad happened in the last ten hours and now my quest is broken”.
Investigating it concerned determining the situation of each script and line of code that might probably make the game assume {that a} companion was useless.
The solely logical wrongdoer was a little bit of scripting that runs when a companion’s well being reaches zero: in the event that they’re within the occasion, it waits for fight to finish and revives them; in any other case it marks them as useless “for real”.
The solely place within the game when a companion is current however *not* within the lively occasion is when the participant is on their ship.
The downside is, when companions are on the ship, they’re undamageable.Eventually we discovered that “undamageable” doesn’t imply “invulnerable” — they will’t take injury from assaults however can nonetheless get damage from different issues.
One of these issues: falling an excellent distance.The downside with *that* is that there aren’t any spots within the participant’s ship which are excessive sufficient to end in a deadly fall.
So now we had to determine how companions have been mysteriously ending up approach above the extent.I appeared into tons of theories, together with “maybe their height data is preserved when fast travelling from other maps” and “maybe a physics interaction between two companions causes one to rapidly accelerate upwards”.
My private fav was “what if a companion is standing *right* where a cow spawns in during a random event and they’re launched into space”.
Was genuinely bummed when that concept didn’t pan out.By this time, the game had come out, and all hopes of this being a bizarre fluke solely a pair devs would ever see have been dashed, as gamers everywhere began reporting their companion quests failing.
Eventually, an offhand remark in a single consumer’s evaluation talked about seeing a bizarre bug the place a companion was “climbing nothing”, and this remark led me to figuring the entire thing out.
On the dev aspect of issues, the system for NPCs interacting with the surroundings is known as “furniture”.
Sometimes that is literal furnishings, like sitting in a chair, but it surely covers every thing from utilizing a terminal to leaning on a wall.Somewhere deep within the complicated beast that’s the furnishings system, we had code that disabled all NPCs from beginning new furnishings interactions if the participant was in a dialog.
The downside was that utilizing a ladder is taken into account *two* totally different furnishings interactions: one for getting on the ladder and beginning to climb, and one to cease climbing and get off.
And…
So, if somebody began climbing a ladder and the participant entered a dialog earlier than they stopped, they would not be capable to exit the ladder, and, nicely…. (18/18) pic.twitter.com/xcduTy4d12
— Taylor Swope (@_taylorswope) December 12, 2019
Meep meep.
See the Outer Worlds v1.2 patch notes for extra on the replace and its bug fixes. It additionally consists of player-requested modifications comparable to Chromatic Aberration choices and Large Text Mode making use of to ‘Examinables’ too.