Ultima Online: a look from behind the scenes
This article is a translation of several fragments of the book Braving Britannia: Tales of Life, Love, and Adventure in Ultima Online (www.bravingbritannia.com ). In addition to conversations with dozens of players about their experience of playing this great-grandmother of all MMOs, the book presents interviews with some of the first programmers, designers and producers of the game, including Chris Mayer (Fallout 76), Rafa Koster (Star Wars Galaxies), Starr Shroud of the Avatar, Gordon Walton (Crowfall), Rich Vogel (DOOM) and others.
Before coming to Origin Systems for the position of lead programmer, Chris "Faceless" Meyer experimented with Ultima Online as one of the first players. Mayer worked as a software engineer in Austin, Texas, using the fast Internet at his workplace for playing Ultima Online during lunch break or after work.
Mayer was always interested in creating games and he hoped to someday be engaged in them professionally. In fact, he was preparing for this opportunity all his youth.
“As a child, I always wanted to create games,” says Meyer. “That is why I came to programming. One of my favorite games was the Adventure Construction Set ; I even spent a week off with my family at drawing the design of the game on graph paper and in a notebook, and after returning I got to the computer and turned it all into a code. ”
"In fifth grade I had learned Applesoft Basic, and in the seventh went by the assembler processor Course 6502. In college, I studied various types of assembler, C, C ++, as well as several other languages, which have since never used"
Until Meyer It turned out to get into the gaming industry, he was content to play games produced by others. At any free moment he plunged into UO. According to Mayer, he played with “religious zeal” and became an active member of the community, both within the game and on the Vault Network electronic bulletin boards (the popular web site of the era dedicated to role-playing games).
In the summer of 1998, Meyer’s close friend Scot Salmon received an email from Origin Systems. After examining Salmon’s many useful posts on the Vault Network forums and knowing about his experience with computers, a company representative invited him to have an interview for a programmer’s open position.
Salmon didn’t attract a programmer career, but he had a friend who was interested in it. He told the recruiter about Meier. After an interview with three programmers in the office of Origin Systems producer Rich Vogel offered Mayer a job.
Mayer said that shortly after graduationUltima Online, a game programmer who was hired to create a UO code base , was assigned to other game projects.
“When I entered the door of Origin, Rich said that only one of the programmers involved in its development remained in the project, and he mostly created the client. Kirk "Runesabre" Black already worked for the company, and it turned out that we are the only ones who can deal with the backend. "
Thus, Meier was overburdened. He not only did not understand the code base of the game, but also the server with thousands of UO players were constantly on the verge of collapse.
“During the first few months of my work, I came to the office, thinking that the whole system would soon collapse,” Mayer laughs. “But we somehow managed to save her, while at the same time making improvements.”
“It was one of my most interesting works. MMOs were such a new genre that no one at EA really knew what to do with online games. Therefore, we could create almost everything we wanted. ”
While in the virtual world of Britain, the players, forgetting everything, waving swords and casting spells, Mayer and Black extinguished the fire and solved the problems as soon as they appeared - their work was like riding a unicycle on a string spiked over a pit.
"It was complicated. In addition, I did not know the overall architecture of the game. It is also worth considering that the UO development team was under enormous pressure to release the game on time, so they had to use a lot of hacks. ”
“Therefore, the code base has become a very fragile and frightening interweaving of dependencies between systems. Before we were able to stabilize the code base, we had to face service interruptions almost every night. ”
The main priority for Meier and Black was to stabilize the project as a whole, correcting it with the help of a branching system that allowed programmers to release patches for individual parts of the game without the risk of making unnecessary changes to the entire system.
“A branch is a line of source code independent of all other branches of development,” explains Meyer. “We could add branches to a running game, while another branch was tested by the quality control department, and programmers worked on the third. All these changes were independent of each other, so if we had to fix something in the working version of the game, then it would be enough just to use the Live branch and test fixes on it. ”
After the servers were stabilized, Meier was promoted to lead developer. After extinguishing the fire, we proceeded to the next Origin project - the first official UO expansion called The Second Age (“T2A”). With this project came new challenges - new territories, two new cities and a bunch of new monsters. And with all these changes, of course, came new problems with stability.
“I remember how I got the first client bug when we tried to release T2A ,” says Meyer. “I really enjoyed working with the backend because it reminded me of the systems I worked with at school and at National Instruments.”
But although Mayer knew programming, UObecame his first experience with two-dimensional and three-dimensional graphics. Programmers had new problems: carpets fell through the floor, and sometimes even the players' houses disappeared completely.
“I had no idea what I was doing, but I managed to get the system to work thanks to methodical coding,” he says. "Kirk and I tirelessly maintained the stability of the servers, and for the sake of it they even missed a party to mark the release of the expansion."
Soon Mayer was given the task of tracking exploiters - players who used bugs in the game code to their advantage. Exploits are often used to duplicate powerful objects or to increase player skills that violate game design principles.
Mayer remembers the time when one of the game servers was constantly crashing, almost without giving any explanations. After studying the code, Mayer did not find a logical explanation for this continuously emerging problem.
Night after night, Meyer watched as one of the servers suddenly went offline. In turn, this caused a chain reaction - other UO game servers , even located in various data centers around the world, also crashed over time.
“There was absolutely no logic to this,” says Meyer. “Only if someone does not do it intentionally. In this case, this behavior can be explained. "
Trying to find some method in this madness, Meier asked his colleagues responsible for the authentication services of the game to compare the failures of the servers with the players who come into play before. Matches almost immediately found.
“One player was always on all servers before they crashed,” says Meyer. “But what did he do? We needed to know. ”
Meier asked for help from the customer support department and consulted the game master on tracking the player. Thanks to just one conversation, Mayer managed to conduct an undercover operation in the virtual world.
“I wanted to track all player movements inside the game. After the player entered the game, they called me to the floor below and gave me access to the game master's computer, where I could follow the player unnoticed. ”
Although the rest of the time, Meyer did his best to keep the game servers from crashing, that day he needed this crash.
The plan proposed by the game master was as follows: he had to dress like a new player and follow a suspect. Disguised, the GM had to annoy the suspect so that he killed him. This death would turn a player into a killer, that is, he would "turn red."
Meyer thought that if everything went according to plan, the suspect would have caused the server to crash to return it to the previous save point (about 30 minutes before he became the killer) and show how this trick is performed.
“Now imagine for a minute what it is like to be a game master: you have to listen to all kinds of insults from players who are angry enough to call customer support and at the same time behave professionally,” Mayer laughs. "And then the boss gives you permission to pour everything that has accumulated on the player."
“This GM broke the suspect and became the most toxic player in the UO . The observed could not withstand this for a long time and finally killed the poor GM. Now it's time to kill him.. The GM went beyond the screen, turned into a poisonous elemental, and vanished a guy. ”
As planned, the suspect turned into a murderer. While the suspect was resurrected by his friends, Mayer and GM were invisible, hoping to uncover the secret of server crash.
They did not have to wait long.
“They watched him complain to his friends, and then he said:“ Well, it doesn’t matter. See what will happen now, ”Meier recalls. “A multitude of unfamiliar characters appeared in the chat box over his head, and here we were lit up. Localization appeared for the first time only in T2A (she tried to convert foreign languages to English), and it is obvious that there was some problem with chat messages that used 16-bit Unicode instead of 8-bit ASCII. ”
"This network message was transferred to the buffer without checking the size, which led to buffer overflow and stack damage."
The server flew, as in other evenings before. Mayer and GM caught the suspect at the crime scene. Meyer wrote the patch and the player was banned.
Despite the constant need to correct errors, Meier said that his experience in Origin helped him to understand the MMO technologies used in the next two decades games.
“In 1998, it all looked like the Wild West, especially in Electronic Arts,” he says. “EA was the first big gaming company to develop an MMO, and at that time there weren’t a lot of standards and proven methods for developing them.”
“Today the genre has already matured. Game companies not only gain their own experience, but also use practices from other industries that are more like online games than single-player boxed games of the past. In every company I collaborated with after EA, there was a marked increase in experience and investment in this area. ”
After Mayer's departure from Origin in 1999, he happened to apply this knowledge many times. Maier worked as a lead developer for Sony's Night Online Entertainment, NCSoft, his own company (Night Owl Games), and now serves as development director at Bethesda Game Studios Austin, ZeniMax Media, where he works on Fallout 76 . Ultima Online
alpha testing began in April 1996. The test that lasted one month was the first moment when people who did not belong to the game development team could get into Britain. Having spent most of the year helping to create this world, Rough Designer Dragon Koster held his breath when the server opened and the fantasy world of developers was filled with players.
And from that moment everything went awry.
“On the very first day of the alpha, the players appeared in the tavern of Britannia,” recalls Coster. "They waited for the rest of the newcomers to come out of the door, and then got up to the windows and killed them with arrows."
“The newcomers could not shoot back, because the archers were hiding behind a wall inside the building. Of course, it was for this reason that the loopholes were invented, but such a start spoiled the first impression of the game. ”
Fortunately, then everything went better.
Koster was invited to Origin Systems in 1995 to help create what was called the “massively multiplayer online game”. Although there was some vagueness in understanding what it really means, Koster believed that his game designer flaunts pushed him in the right direction.
Developing games from an early age, Koster spent part of his youth in Lima in Peru, where he turned popular American arcade games, inaccessible in Peru, into analog games for his classmates. After graduating from high school, he began to play the role of DM (Dungeon Master) in the regularly held Dungeons & Dragons games . Having received an 8-bit computer, he independently studied BASIC and assembler, after which he began to write games for his friends, this time in digital form.
Returning to college games, Koster and his wife Kristen "Kaige" Koster in 1992 moved to Tuscaloosa, Alabama, to study for magistracy. It was there that Costers experimented with MUD and saw the real potential of fantasy online games.
“We quickly moved from playing MUDs to creating them, and in mid-late 1993, we became the hobby developers of MUD, in particular, the LegendMUD game released on Valentine’s Day 1994,” says Koster.
By October 1994, Kristen and Koster took the reins of LegendMUD from the original creators and engaged in the constant development and introduction of new elements.
“Having rested against the limitations of LegendMUD , we began to work on the ideas of the new MUD with a much more powerful simulation, including crafting, NPCs with their aspirations and artificial intelligence, creatures with resources, player-driven economy and much more,” recalls Koster.
Co-founder of LegendMUD’sRick Delashmeet spoke about Starr Koster and Longard Richard Garriot of Origin Systems, knowing that the studio is looking for ways to turn the world of online gaming around. Garriot suggested Kosters to have an interview for designers' free positions in the company, and the couple engaged in collecting their ideas about creating a fantasy online world, complemented by a new generation of graphics.
“As a result, we sent brainstorming ideas about dynamic ecosystems and quest systems as a resume for recruitment,” says Koster.
Kosterov was hired and they began work in Austin on September 1, 1995.
“My wife Kristen and I were hired as a couple, and we started working under the guidance of the original lead game designer, Andrew Morris, who was previously co-host designerUltima VIII . At that time, our friend Rick Delashmith had been working for Origin for several months, developing the first prototype built on the Ultima VI engine .
"When we came to work on the first day, we were asked what the game would be about and were shocked to learn that it was based on ideas from our resume."
Design elements presented by Kostera were a hit, and the development team started to implement them in a new iterations of the famous world of Ulrima Garriott.
Although they were hired as designers, Costers realized that in order to create the UO exactly as they saw it, they had to become jacks of all trades. In the end, the prototype they showed was in fact, only a prototype. the UO is due He was working on a completely different engine. But the engine was not yet.
“The engine has not yet been created, so I did such things as writing dizdokov and a huge number of scripts on a script engine that does not yet exist. All this had to be thrown away and rewritten again when the real scripts came out online. I was engaged in a huge amount of technical art design, because we needed to figure out how the rendering engine works. ”
“For the alpha test, Kristen and I created a huge amount of graphics, because we had no artists yet!”
According to Koster, everything - from writing the basic game script to creating a moving object - was his area of responsibility.
“I really like to do different things. In the credits of the finished game it is mentioned that I was engaged in design, graphics and UO code . And the code means the presentclient and server code - all scripts created by designers were considered design work, not programming. ”
“Such interdisciplinary work is still very important for me. When managing large projects, I can speak with any of the team members in his own language and more effectively support communication between different departments. When creating my small projects, this means that I have an absolutely complete artistic vision, because I can do any work. ”
Every day in Origin was an opportunity to create. Having gained experience in the MUD world, Costers could take their innovative ideas from the LegendMUD and implement them on a much larger scale.
“Huge share of UO designwas taken directly from the things we worked on at LegendMUD or that we wanted to see in Legend or in the new MUD we are planning. ”
“We were developing a virtual ecosystem and economic aspects for the subsequent MUD, and as a result they ended up in UO . The UO bard system is actually borrowed directly from Legend . ”
“The tamed animals in the MUDs were called servants, and in UO they were also present - for example, elementals - but the expansion of this system by taming real animals was a conscious step forward. Damn it, even Wall of Fire that killed Lord British was a spell from LegendMUD".
After six months of experimental development in May 1996, Ultima Online alpha prototype was ready . Inviting about 250 players to evaluate the performance of the team, Koster and colleagues watched as the players unceremoniously tried to burn Britain to the ground. After the closure of alpha on May 20, 1996, the team began work on the beta version, and in the process, the servers were rewritten to provide simultaneous support for 2500-3000 players.
Despite the slaughter and destruction that appeared in Ultima Online , Koster also saw other styles of emergent gameplay that still appeared. It was their he and Kristen who initially sought to create in the game.
“The players used the ability to paint clothes to create the uniform of their guilds, they used it to hold weddings with brides dressed in appropriate dresses. They set up tables for the evening meals so that warriors away from home could have dinner with their families at home. They began to conduct sports. They founded theatrical groups, taverns and police teams. ”
The release of the game was a huge milestone for Origin Systems, and many of the early game developers took advantage of this event to “get off the train.” Among the employees who left the company were Kristen Koster and Andrew Morris, who initially worked as the leading designers at UO .
After Morris left, all attention suddenly switched to Koster.
“I remember that when Morris left, he came up to me and just said that now everything is in my hands, and it will be wonderful. It was very nice of him. At first, I was not given the position of lead designer, because I lacked management experience. In the end, I was only 25 years old and this was my first position in the gaming industry. They called me a creative leader. ”
Taking on the responsibility of the head of the team of designers of the game, Koster willy-nilly had to justify his nickname “Designer Dragon”. Due to the huge success ( UO has become the fastest selling game in the history of Electronic Arts), additional resources were invested in the MMO. These resources were the Ultima IX: Ascension development team.. Origin paused the creation of a new single-player game of the Ultima series and redirected its team to support UO . Although from a financial point of view, this decision made sense, the Ascension team was not very happy with it, especially because it had to work with a 25-year-old designer.
“I learned from the team how the creation of individual functions proceeded, and figured out whether they corresponded to the rest. If something went wrong and the employee refused to obey me because he did not work for me, I had to ask one of the producers to give out instructions. ”
“I fixed patches, tracking all changes in the project. At that time there were no developed proctics for this, so I had to invent them myself. In fact, for quite a while I was a game manager. I wrote game scripts, created territories and developed new systems. We worked for months for 12 hours a day, often without days off. The work schedule was insane. We were so exhausted that we were almost delirious. I drove home and saw grass tiles along the edges of the road. ”
The insane work schedule that Coster sustained allowed him to become the head of the development of the first expansion of The Second Age , and won him the title of lead designer.
Releasing expansion and burned out in three years of non-stop work on UO, Koster declined his position as a designer and moved on to developing the next MMO Origin, Privateer Online , based on his beloved studio universe Wing Commander . After the cancellation of the Privateer Online project in 2000, Origin faced another mass exodus from the company, but this time the British British himself headed the staff who left the company. Koster took the opportunity and left too.
Many former employees heard that Sony Online could become a good new job, especially because it was preparing to make its own breakthrough in the MMO world with its Star Wars Galaxies project . Sony took Koster with open arms.
Despite all the design elements that Koster and Koster invested inUltima Online , he argues that the old-school MUDs still had the greatest impact on the game, in which technological constraints often stimulated innovation. It was these conscious innovations that forced Koster to start work every day to breathe life into the UO .
“I think the most important was the desire for maximum progress in this area. Not only from the point of view of graphics - this was done by other companies. And not just for the sake of creating a large scale - if it were not for us, someone else would have done it. But without UO, the mainstream would be pure hack and slash gameplay. ”
Koster and Kristen's innovations inspired not only Origin's development teams, but also authors of an infinite number of other MMOs that came out after UO .
“Thanks to UO , games now have housekeeping, crafting and tamed animals, a modern guild system, character customization, community management, the ability to play economic games, and, most importantly, awareness of virtual worlds as communities.”
“That’s what Kristen and I brought into the games.” Probably, much of this sooner or later would have appeared anyway, but it appeared precisely because we did it. And we did it because we had a vision of what virtual worlds can be. ”