It’s hardly a surprise that bugs often make it into finished games. With thousands upon thousands of lines of code to write and check, it’s a mini-miracle that games work at all - especially as a single-letter mistake in any one of those lines can disable a key feature, or even break the game entirely. Here are a few notable instances of when coding went catastrophically awry, or seeded an error so subtle that it wasn’t found until long after the game was released.
While bugs can be funny, they are the exception - find out why videogames are terrible at comedy.
The unstoppable World of Warcraft blood virus
When we put together a list of the best moments in World of Warcraft, one of the standouts was actually an enormous bug. The apocalyptic blood virus spiralled out of control across the game, and ended up attracting the interest of real-world scientists looking to combat the spread of infection.
In September 2005, a raid dungeon was introduced with a final boss called Hakkar. Hakkar could cast a spell called Corrupted Blood that sapped players’ health over time - and players could pass the ‘virus’ onto each other by contact. The blood spell was meant to be confined to the dungeon - but it got out.
An oversight meant that the virus continued to spread across servers, killing low-level characters, and causing Blizzard to warn players to avoid populated areas while they tried to fix the problem. The panic that ensued was similar to that seen in real-world disease outbreaks, with players fleeing to uninfected areas, while others volunteered to heal the sick - and some took to standing outside infected areas, warning passers-by not to enter. The event ended up inspiring epidemiologists to try to model disease control using MMO populations.
The one-letter mistake that ruined the AI in Aliens: Colonial Marines
Aliens: Colonial Marines got a less than stellar reception in 2013, with one of the major criticisms being that the aliens themselves weren’t that scary. In fact, they appeared downright dimwitted, filing obediently into your gun sights.
A couple of years back, a modder called TemplarGFX set out to ‘fix’ Aliens: Colonial Marines by tweaking the AI, weapon balance, and numerous other attributes in order to make it the game it “should have been when it first released.” In October 2017, he made an important finding - that the biggest bug in the game is just one letter long.
He found a spelling mistake in the following line of code, which helps to govern the aliens’ AI:
ClassRemapping=PecanGame.PecanSeqAct_AttachXenoToTether -> PecanGame.PecanSeqAct_AttachPawnToTeather
As I’m sure you’ve already spotted, ‘tether’ is misspelled, and this simple error essentially broke the AI. According to TemplarGFX, ‘AttachPawnToTether’ does a lot, controlling “tactical position adjustment, patrolling and target zoning.” He says that after fixing the spelling error, “the difference is pretty crazy,” with the aliens behaving much more dynamically.
Skating horses in Second Life
Yoz Grahame worked on Second Life at Linden Lab for many years and, as a result, has a brilliant story about When Virtual Pets Go Wrong. Second Lifers can buy virtual pets, but if they’re not fed, they die - as you’d expect. In the case of pet horses, users would put food out, and a pathfinding script written by the pet’s creator would lead your horse to it. Simple enough.
But several years back, Linden Lab made a small tweak to the friction in the game’s physics engine. Unfortunately, the code for the virtual horses was still based on the old physics engine - and because of the reduced friction, the horses would approach the food and then just slide past it. Across the Second Life universe, horses were starving to death because they were simply skating past their food - and, in some cases, plunging to their doom by sliding off high platforms.
Grahame says that it “all seems really comical, until you realise (a) how many people owned these horses, and (b) how much they’d spent on them.” Once the Second Life engineers realised the problem, they quickly rolled back the update - but this took several hours, during which time “several dedicated QA engineers stayed up much of the night, saving virtual horses from starving to death.”
Religious fanatics in Civilization VI
We reported on this one back in March - a one-word spelling mistake in Civilization VI’s data files meant that some leaders pursue religion obsessively, building religious sites left, right, and centre.
By default, your AI opponents should prioritise production first, followed by gold, science, and culture, with faith coming last. But in one section of code that apparently controls the default AI’s priorities, ‘YIELD’ was misspelled as ‘YEILD’ - which means that particular section of code is ignored.
The bug was raised by modder Straight White Shark on the Something Awful forums, who showed that fixing the spelling error makes a notable difference to the AI performance - a discovery confirmed by PC Gamer.
Developers Firaxis later stepped in to acknowledge the bug, saying:
“We’re aware of a community-reported bug that has a minor impact on AI behavior. We’ve also made sure that everyone knows that I goes before E except after C… or other weird exceptions. Thanks to all who helped bring this to our attention and there will be a fix included in our next update.”
Treasure Island Dizzy and the drowning egg
It’s an oldie, but a goody - and it’s one of those mistakes that can be filed under that age-old get-out clause, ‘it’s not a bug, it’s a feature’.
Back when Treasure Island Dizzy was released for home computers in 1988, it was far harder than its predecessor - mostly because players only had one life, whereas in the original Dizzy they had five lives. In an interview with Retro Gamer back in 2014, developer Philip Oliver revealed why this was the case.
It seems that right up until the very end of development, players had five lives in Treasure Island Dizzy, just like in the previous game. But with deadlines looming, the Oliver Twins discovered a logic bug. If you dropped the snorkel and then drowned in a water section, Dizzy would respawn on a beach - but without the snorkel, there was no way to cross the water. “We were under a huge amount of pressure to deliver the game so we ran out of time to solve that problem,” Oliver says. “It left us with only one option - we had to remove the other lives.”
Thanks to Unity’s Chris Pacey for pointing me to the Dizzy bug.