The Outer Worlds was one of this year’s most anticipated games on PC, coming as it did from Obsidian, the creators of legendary role-playing games like Fallout: New Vegas and Pillars of Eternity. But it wasn’t without its bugs – among them, a bug that marked companion quests as being failed, seemingly at random points in the game. A quality assurance lead at Obsidian says it took the team a long time to figure out why this was happening, and the answer is out of this world.
Taylor Swope, a QA lead at Obsidian, explained the bug and how his team discovered it in this popular Twitter thread. Players were reporting a bug that recorded companion quests as being failed in the quest log, due to the companion in question being dead. This was strange, Swope explained, because outside of The Outer Worlds’ SuperNova mode, companions can’t die. But nevertheless, the game – at least at some point – thought they had perished and marked the quest failed.
What made it difficult to figure out was that it was never clear when this was happening, Swope said. “All the cases we had were essentially ‘hey something bad happened in the last ten hours and now my quest is broken,'” he wrote.
That made the bug next to impossible for the QA team to reproduce. Eventually, though, the team worked out that the bug must have been triggered while the player is on the ship, since that’s the only place in the game where characters who aren’t in the active party are also present in the scene. While the game’s code prevents characters from taking combat damage while on the ship, it does not protect them from certain kinds of damage, such as falling too far, Swope said. The team reasoned this must be the answer: Somehow, NPCs were falling while on the ship. But where, they wondered – there’s no architecture on the ship that allows for a fall far enough to kill a character.
Swope said the team tested a number of theories. One suggestion was that elevation data was preserved somehow when the character fast traveled, while another hypothesized that perhaps if a companion was standing in the spot where a cow spawns during a random event, they might be hurled out into space. None proved fruitful, and the team was stumped – until someone noticed another user comment in what they thought was an unrelated bug report: a character was seen “climbing nothing.” This proved to be the key for Swope to work out what was going on.
While the player is in a conversation, The Outer Worlds’ code prevents characters in the background from initiating new interactions with ‘furniture,’ which in the game counts as anything from chairs to computer terminals – and ladders. But ladders, it turned out, were a special case, and the code split that interaction into two separate actions: one for ‘entering’ the ladder and beginning to climb, and another for finishing the climb and exiting the ladder.
You may be able to see where this is going, but Swope’s final tweet in the thread, and the attached clip from The Outer Worlds, explains it best:
So, if someone started climbing a ladder and the player entered a conversation before they stopped, they wouldn't be able to exit the ladder, and, well…. (18/18) pic.twitter.com/xcduTy4d12
— Taylor Swope (@_taylorswope) December 12, 2019
You can scroll up from that tweet to read the full thread.
Characters were getting on ladders just as players were starting up a conversation, endlessly ascending into space until the end of the talk – and then plummeting back down to the ship’s deck once the player had wrapped up their chat.
The Outer Worlds Patch 1.2 launched Thursday, and it includes a fix for this bug. Swope says this bug took him more time investigating than any other over the course of his career. We’re just glad our poor companions won’t be doomed to tragic workplace safety-related accidents any more.