Quality assurance is a process. Just knowing that there is a mistake is not enough: testers need to be able to reproduce the error in order to access the cause of the error. Easier said than done.
Yesterday, Taylor Swope, QA Director of Obsidian Entertainment, explained on Twitter how the developer discovered and fixed an annoying mistake that made The Outer Worlds believe a player’s companions were dead. The problem should be obvious: Companions can not die, and in fact, people who had encountered this mistake could see their friends behaving as usual. However, some players were unable to complete certain quests because the game was considered dead by Companions.
According to Swope, Obsidian was aware of the bug before the start – but the RPG maker could neither recreate it nor figure out what caused it.
“One reason why it was so difficult to solve the problem was that you could not tell when the error actually occurred,” Swope said. “All the cases we had were essentially” Hey, something bad has happened in the last ten hours, and now my search is broken. “
Swope says Obsidian looked through “all the scripts and lines of code” that might have affected pets in this way. No dice. It turned out to be the beginning of a long and complicated process, as Swope elaborated on Twitter:
The only place in the game where a companion is present but not in the active group is when the player is on his ship
The problem is, when companions are on the ship, they are undamaged (8/18)
– Taylor Swope (@_taylorswope) December 12, 2019
The problem with * das * is that there are no points in the player’s ship that are high enough to cause a fatal crash
Now we had to find out how mysterious companions landed far above the level (10/18).
– Taylor Swope (@_taylorswope) December 12, 2019
My personal favorite was “What if a companion is * right * where a cow appears during a random event and they are taken into space?”
Was really baffled when this theory does not work out (18.12.)
– Taylor Swope (@_taylorswope) December 12, 2019
Obsidian could not solve the problem and squeezed the proverbial thumbs, hoping that it would be a “rare coincidence” that may not appear in many players’ games. And then the Outer Worlds came out, lo and behold, reports of dead companions seemed to be everywhere. Not good! Obsidian was back in the case. What eventually made Obsidian discover what was going on turned out to be completely random: Swope came across a user review that complained about a companion who “did not climb”. Suddenly everything snapped together:
Somewhere deep in the complex beast that is the furniture system, we had code that prevented all NPCs from launching new furniture interactions when the player was in a conversation (16/18).
– Taylor Swope (@_taylorswope) December 12, 2019
So, if someone starts to climb a ladder and the player starts a conversation before he stops, he can not leave the ladder. (18/18) pic.twitter.com/xcduTy4d12
– Taylor Swope (@_taylorswope) December 12, 2019
Incredible. The bug is fixed now, of course – but according to Swope, holding on has taken more time than any breakdown he has had throughout his career.
Next time you ask yourself, “why did not this game developer fix this bug that runs counter to my experience?” Remember that QA might know everything before the game even starts!