As the only line of the ancient code for half a year, the MMORPG developers were crazy.
Most often, a very simple phrase can be heard from game developers: surprisingly, games are generally coming out. Games are sophisticated, untamed monsters connected by something like digital tape. No wonder they fall apart.
Aliens: Colonial Marines was problematic for many reasons, but quickly became a general ridicule when similar viral clips appeared in which xenomorphs wander around meaninglessly. This month, the developer of mods discovered that the reason for the stupid AI behavior of "alien" was one mistake in the game code. (This was an articleon Habré.) Oops. But this is not the only case this year, when the game was humiliated due to a missed typing error. In early 2018, fans discovered that the Civilization VI AI was suspiciously hitting a religion: it turned out that the word “yield” was written in the code as “yeild” .
Therefore, it is not surprising to know that the development of games is full of such moments.
Lea Miller worked for several years as a designer at Mythic Entertainment, a former MMO games developer. She worked on scenarios, content design and systems for Dark Age of Camelot and Warhammer Online: Age of Reckoning. At the time of release, the studio began to receive complaints from fans: the game seemed slow and unresponsive. Players could not determine what exactly was the reason.
Was it just a ... feeling?
“The development team revised the combat system to make it feel faster, and looked for inefficient server-side operations that could be eliminated,” Miller says. “But still, the reviews were too vague, no one could say exactly what the reason was. Was this a flaw in the overall design of the game? Many changes have been made to improve the feel of the game, and although many of these were real improvements, the root of all problems could not be eliminated. ”
Warhammer Online did not gather a large audience and as a result was closed in 2013.
Delving into the code for six months, the development team could not find a solution.
One of the relatively new programmers studied the Age of Reckoning code and discovered something strange. It still had a line related to the previous MMO studio, Dark Age of Camelot . She handled the players on the daylap. Yes, on a daylap. Dark Age of Camelot was released in 2001, in an era when broadband connectivity has not yet become the standard. At that time, players had to make sure that no one picked up the phone, otherwise the connection was broken. (The day my family bought the 56K modem was magical.)
“He recently worked for the company and was not familiar with the code,” Miller says. "And maybe that's why he studied this fragment more closely than the others before him."
After deleting the line, the problem disappeared. The game became smooth again.
So what happened? Computers are powerful these days, and the Internet is fast. But at the beginning of the MMO era, everything was different, that is, the games had to make compromises.
"In the network code Dark Age of Camelotthere was a single line that artificially slowed down the frequency of transmission of a certain type of data by the client and server, ”explains Miller. “I believe that the main purpose of this was to optimize the network load, but perhaps it was part of a system designed to enable players to dial in through the dialup to be competitive in PvP. This delay was almost imperceptible to players in the Dark Age of Camelot , because the game booster was tailored to the standard bandwidth and computing power of that era. Only a very small proportion of players had systems that could process data faster than they were sent and received. ”
Unlike Warhammer Online, Dark Age of Camelot is still afloat.
In the development of Dark Age of Camelot, its network code also evolved and dealt with such functions as managing peak delay values, logging into servers and other tasks. After a decade of Dark Age of Camelot work , Mythic Studio decided to transfer the same code to Age of Reckoning .
As it turned out, he broke the functionality in a completely unexpected place.
By the time Mythic fixed the problem, most players had returned to World of Warcraft . This bug was not the only cause of Age of Reckoning problems , but it contributed to them.
Miller wrote to me when I publicly asked on Twitter to tell about other horrible stories, even if the examples concerned not only such absurdities as typos. The discussion coincided with discussions in other circles after the incident with the Colonial Marines , and I would like to share the most outstanding stories.
Brian Sharp: Literally every time I write the word “a c quired”, I experience a post-traumatic flashback with Deus Ex 2, in which we mistakenly named the folder with the AquiredDataText resources, and could not rename it. I had to write “aquired” for three years in a row.
Trick Dempsey: Right before the release of Red Dead Redemption: Undead Nightmare in the iterator of the zombie dynamite script, a line was uncommented that sent the actors directly to the bait. Therefore, she suddenly began to work on Marston himself (the main character).
Unexpected plot twist!
Matt Lacey: I released a game on PSP (that is, without the possibility of patching it), which absolutely crashed if the year was a leap year ...
Eiley: The typos that remain in the code forever are INCREDIBLY frequent. In addition, very often they are difficult to eliminate, because in order not to add new bugs, you need to rename everything in a single way. That is why in the medical software I'm working on, the word Su rig cal (instead of Su rgi cal) is found everywhere .
Andrew Eike: Once I was at a serious demo show, I pressed the button with the words “now you will see the blue ball”, and a huge green ball appeared. I forgot to use the function. I tried to swing this file, but no one bought it.
Dolph Ziegler: A few days ago, @cukiakimani informed me that Semblance suddenly started working at 19 frames per second.
It turned out that one line of my code devours 41 FPS. I think this is absolutely amazing.
Trying his Best: I had a project that needed to be finished by midnight, but it did not work properly. There was only an hour left, I had been waiting for the teacher's assistant for three hours and was ready to cry. Finally, the assistant came, looked at my code for half a minute and told me to change one variable in one line. Everything worked perfectly.
I would like to highlight one typo that just blew my brain .
As a child I was obsessed with Super Mario 64 . It was the first game I played in Japanese, thanks to the import store, located next to the cinema, which we often went to. (They took money from people in an hour of playing an imported copy of the first 3D platform game about Mario! And it was worth it.) When I finally managed to get my own copy homeSuper Mario 64 , I was one of those many people who, in the process of collecting 120 stars and searching for Yosha, wondered why it was so incredibly difficult to sail through underwater rings. And the reason was found!
Vincent Kinian: This bug can be seen in several games about Mario. In Super Mario Bros. Lakita was supposed to throw Spiny Spiny Turtles right at the player, but this did not happen because of a typo in the code. And there is also this bug in Super Mario 64: https://t.co/GddMkpMZh4 .
Awesome It is not clear how video games exist at all.