1. History of Meridian

History of Meridian

Authored by Andrew Kirmse

Meridian 59 was one of the earliest massively-multiplayer online games. It first went online in December, 1995, and it was published in September, 1996 by The 3DO Company. Meridian was perhaps the first online game with a 3D engine. My brother Chris and I originally conceived the game, and we served as the project leads until April, 1997.

The early days

The original inspiration for Meridian 59 was the game Scepter of Goth, which was run by a company called InterPlay in Virginia in the mid-1980s. This ran on an IBM PC XT with a bank of 16 300-baud modems. Chris and I spent many hours playing Scepter through junior high school. It was a standard multiplayer fantasy RPG, complete with levels, spells, and killing monsters. We used the same character names that we would later use in Meridian: Zaphod (me, from The Hitchhiker’s Guide to the Galaxy) and Zandramas (Chris, from David Eddings’ Belgariad series).

In the summer of 1993, I had just finished my junior year at MIT, and Chris had been a sophomore at Virginia Tech. By coincidence, we both became summer interns at Microsoft. I worked with some pre-release versions of Windows NT, and between that and the upcoming Windows 95, it was clear that the days of DOS were numbered. We had written a lot of games as a team growing up; now we were talking about how cool it would be to do a graphical version of Scepter. We figured the game would run over 9600 baud modems, it would have 2D graphics (Doom hadn’t been released yet), and the minimum hardware would be a 486/66. We wanted the game to be similar to Scepter in that it would be a medieval RPG, but with more player interaction. We returned to school without any definite plans, but just in case, we picked up as much software from the Microsoft company store at employee discounts as we could.

During the next year I interviewed at a bunch of software companies, including Looking Glass (who was working on Terra Nova and System Shock) and Papyrus (NASCAR Racing), but I decided to stay at MIT one extra year to get my master’s degree in computer science. This meant I had a free summer, probably my last before having to get a real job. We decided that it was now or never: we would have one shot at doing something new before being sucked into corporate America. We spent the better part of our life savings on two top-of-the-line machines: Pentium 66’s with 16 megs of memory and 500 meg hard drives. We set up shop in the windowless basement of our parents’ house in Virginia, installed Windows NT, networked our machines, and started to write the game.

Although we were both fairly accomplished programmers (we had each independently sold commercial products, and Chris had written a complete debugger in x86 assembly), we had little idea what we were getting into. It took us three trips to the local computer store to get the right parts to set up our two-machine network, and we had next to no knowledge of computer graphics. We were both young (I was 21 and Chris was 19) and knew basically nothing about the game industry, or even the fact that there were huge companies somewhere churning out games. On the other hand, our complete ignorance was a great advantage when creating something that hadn’t been done before.

The previous year I had done a little research on Internet MUDs, which I had never played before. I read the manual for LPMud, which had a C-like scripting language. It was good to see that someone else had successfully used a scripting language in an online game, but I thought that just re-implementing C lost the benefit of a simple language that more people could understand. Being at MIT, I was heavily influenced by the Scheme dialect of Lisp, and I also read quite a bit about Smalltalk.

The first thing Chris and I did was design our scripting language, which we called Blakod. It had C-like syntax and operators, but data structures were built using lists. The language would be byte-compiled and then interpreted, and there would be automatic garbage collection and a class structure with single inheritance. Chris began work on the game server and Blakod interpreter, while I wrote the Blakod byte compiler, and later started the game client. The game server ran under Windows NT, but the game client had to run on the dominant operating system at the time: Windows 3.1. Writing for Windows was a slow, painful, and ultimately pointless exercise, as we eventually gave up and moved to Windows 95.

By the end of the summer, we felt that we had the foundations of a game. The two biggest challenges—the network code and the interpreter on the server—were done. The client displayed a primitive 2D tile-based world, but you could watch other players walk around, fight monsters, pick up items, and even cast primitive spells. Chris had written a basic level editor and we had a few connected rooms making up the world.

In the fall of 1994 we went back to our respective schools. Initially we didn’t make much progress on the game at all. Then while we were home for Christmas break, I picked up a book on graphics programming for PCs that described a raycasting graphics engine on the level of Wolfenstein 3D. That week I rewrote the client to use a similar engine. While we were excited to see some 3D in the game, it was slow and didn’t actually look too good. Our hand-drawn trees and brick walls looked even worse in 3D than they had in 2D. Still, there was a spark of excitement whenever you would see another player walk up to you in 3D. There was clearly potential.

I spent the early part of 1995 playing Doom II to the exclusion of all else. One of the other people in my apartment in Cambridge was Keith Randall, who was working toward his PhD in computer science; we took turns playing levels until we finally completed the game. We started talking about how the Doom graphics engine worked, and from some assorted Usenet postings, we pieced together enough that we thought we could write something similar. Keith ported the client I had been working on to his Macintosh, and we ran a coax cable through the apartment to connect our machines. Over the following months, Keith wrote the BSP-tree based engine that appeared in the final game.

Alpha!

Just before graduation, I ran across a posting on a Usenet posting by Mike Sellers, saying that he was looking for people to help him write a graphical role-playing game. I replied that Chris and I had already written one. Soon he called me on the phone, and I described what we had done. He was very interested, and we agreed to talk more over the summer.

Chris and I went back to our parents’ basement for another summer of work. Although I had several job offers, it looked like the game had a good chance of working out. The World Wide Web was just starting to take off, Windows 95 made real game development possible, and most importantly, people started getting Internet connections at home. The time was ripe for a game like ours, and (although we didn’t know it) we were far ahead of anything else in development. We phased out the Windows 3.1 version and the direct-dial interface; now the game was Windows 95, played only over the Internet.

Mike and his brother Steve, who was finishing his MBA at Berkeley, worked on finding funding. In the fall, Chris ran a server in his dorm room at school; when we needed to do a demo for a potential investor, Chris and I would log in, and Mike would run through a little presentation, logging in to the server and showing off the game. We had a little bit of real artwork from one of the Sellers’ other brothers, and we were starting to get some small financial commitments. The Sellers and I met Chris at school to formally set up a corporation, which we called Archetype Interactive.

Our first hire was Damion Schubert, a MUD player from Austin who had recently graduated from the University of Texas. We later learned that Damion had lived in Virginia, and in fact was in the class between myself and Chris at our high school, though we didn’t know him there. Damion began laying out the geometrical rooms that make up Meridian, starting with the city of Tos. (I had converted an open-source Doom level editor for our use.) Damion’s brother Tim also contributed some initial rooms.

With four or five people sometimes logged in to Chris’s server, we were starting to get a feel that player interaction was going to be a major part of the game. We read about LucasArts’ Habitat project; we especially took to heart the stories of how the system administrators dealt with bugs in the system, and that “Detailed central planning is impossible; don’t even try.” As much as possible, we would have Meridian’s players run the game themselves, as opposed to trying to script out their experience.

By the end of 1995, things were coming together. Over the Thanksgiving break, Chris and I had implemented an automatic patching system, which we would need in order to update the game once we had started a public alpha test. Keith had just about finished improvements to the graphics engine. During early December, all of us worked furiously to get the game to a playable state. We added a simple quest (the quest for a gem in the caves under Tos), and character setup, including simple customization of facial features. There was no character advancement, no spells, no guilds, no ranged weapons, just the novelty of seeing other people walking around in 3D and talking to them. We had no idea what to expect, or if anyone would even log in. After midnight on December 15, 1995, we put together the client install package for the alpha version, and uploaded it to the Archetype Web site. The Sellers had worked a deal that let us run a server at an ISP in San Jose, California, in exchange for the ISP counting all of our Web traffic. Chris set up the server remotely, and we went to bed, wondering how long it would take the first player to log on.

For me, the high point of the entire project came the next morning, when I got up and logged in the next morning and found 4 other players online. One of them was the owner of MPG-Net, an older online gaming system, who had solved our quest and explored the entire game overnight. Our early testers were very enthusiastic despite the lack of game play and the presence of numerous crippling bugs. We entered a period of intense development, coming out with new versions every 3-4 weeks. Damion showed interest in working more on game design; he started learning Blakod, and despite this being his first programming language, he was soon making contributions to the game code. We hired two other contract programmers to work on game code, and also collected a group of contract artists. Tim built many of the early areas around Tos and contributed some Blakod routines. We recruited one of the playtesters, Rob Ellis, to help with and eventually lead the construction of world geometry. Once Rob learned the level design tool, he started producing rooms that we didn’t think were possible given all the limitations of the graphics engine.

The game was gathering major momentum, but there were also severe problems. Chris, while attending school full-time, was spending a huge amount of time overseeing the game code programmers. I was in northern Virginia, Damion was in Texas, Rob was in Connecticut, the Sellers were on the West coast, and our contract artists were scattered all over the country. The game’s artwork, in particular, suffered from poor organization and management, though we were all feeling the stress from trying to produce new features, test existing ones, and run customer support.

Chris made significant performance improvements to the server, and we started a beta test in April of 1996. Where the alpha version could support only 35 simultaneous players and nearly always ran at full capacity, the beta version could handle several hundred at a time. The game was starting to attract some attention now; there was a story about the business in The New York Times, and a preview in a French gaming magazine.

The 3DO acquisition

Kevin Hester, a programmer at 3DO in Redwood City, California, played the beta version of Meridan and was impressed. He brought it to the attention of the CEO, Trip Hawkins, and the Sellers met with him in the spring. 3DO was preparing for a new Internet project codenamed “Wintergreen”, but they wanted real-world experience with online games first. Chris and I flew out to California for meetings with the company, and soon after, 3DO agreed to acquire Archetype for $5 million in stock. I faxed our signatures from Chris’s college graduation, and soon afterward we moved across the country to Silicon Valley.

There were now 5 beta servers running at 3DO, and we were adding features as quickly as possible. Rob and Damion moved to California, and we met them in person for the first time. During this time more cities were added to the game, and we implemented the final version of the game interface, the guild system, spells and skills, as well as finding the last few server bugs. Time was short: the game was due to be released before October 1, the closing of the company’s financial quarter.

Unfortunately we had not done our homework on 3DO: the company was in trouble. There were a series of layoffs soon after we arrived as the company shed its hardware roots and moved to software. We watched as 3DO stock lost 75% of its value soon after the acquisition. Besides being demoralizing, this affected us financially because the acquisition was made purely with stock, and we were unable to sell any until 6 months later. Meridian was the company’s first PC game, so its marketing suffered immensely. Worst of all, it turned out that Meridian was meant to be just a cheap pilot project for Wintergreen. We didn’t receive any new team members after the acquisition, and all the contractors were let go, meaning that we had only one artist left. The game’s graphics, never a strong selling point, now became hopelessly outdated.

Meridian 59 was hurried out the door on September 27, 1996. Though we were disappointed with the lack of polish in the finished product, most of our beta testers were eager to get their hands on it. We were proud of the fact that we were first, especially that such a small, young team had beat out the rest of the industry. It was a once-in-a-lifetime opportunity to take a new idea from concept all the way to a commercial product.

The fallout

Meridian’s sales were not up to 3DO’s expectations. Chris and I had argued that we give the client away to as many people as possible, and then charge monthly fees. The standard $50 retail sale, on the other hand, allowed 3DO to recognize all of the revenue for the game immediately on shipment, which made their balance sheet for that quarter look healthier. When we proposed to do a larger follow-up game, we were turned down, and told to “fix” Meridian. However, we still didn’t have any additional staff beyond one new artist, so we designed a game update with incremental improvements, including additional areas and monsters. This was released as a free update called “Vale of Sorrows” in March, 1997. At this point, Chris and I had been working on Meridian for 3 years, and it looked unlikely that we would have the opportunity to do anything else at 3DO. The Wintergreen projects were cancelled and most of their staff were laid off. We left 3DO soon afterward.

Damion and Rob stayed on awhile longer and worked on the “Revelation” and “Renaissance” updates to the game. Some of the former Wintergreen staff also worked on these updates, which involved major expansions of the game world. These people, too, were eager to work on something other than Meridian, and 3DO announced that they would start work on Might and Magic Online. However, this game was later cancelled.

A skeleton staff maintained Meridian after this; I haven’t met them. The game is still running on its original 10 servers. 3DO also licensed the game to Computec in Germany, who translated it into German and runs its own set of servers.

Damion Schubert went to Origin back in Austin, and is currently lead designer of Ultima Online 2. Rob Ellis moved back to Connecticut to spend time raising his son. Chris and I spent a year creating a massively multiplayer strategy game, but were unable to find a publisher. We then worked as contractors at SegaSoft for a time on the Dreamcast Network. Chris moved on to Yahoo! to work on their games, and I am currently working on Star Wars: Episode I Starfighter at LucasArts.

The legacy

Though Meridian had many predecessors, such as Scepter of Goth, Legends of Kesmai, Neverwinter Nights, and Internet MUDs, it was the first Internet game from a major publisher, the first time that a massively multiplayer RPG was considered a “real” game and covered in the major game magazines. It was published over a year before Ultima Online; apparently the appearance of the Meridian alpha test is one of the factors that caused Origin to shift its attention and staff from Ultima IX to Ultima Online.

Meridian was ahead of its time in several areas. For many people using the Internet for the first time, Meridian was how people actually “saw” people on the other end of their chat messages. The game’s character gestures, such as waving, added a personal feel to an impersonal network. Surveys showed that women were a far larger fraction of the player base than is usual for PC games. Meridian brought many of the phenomena well-known to MUD players, such as real-life friendships and even marriages, from Unix to the PC.

Meridian’s sense of community and its global communication system, wherein anyone on a server can communicate directly with anyone else, are still ahead of today’s RPGs. In fact, Origin initially ridiculed the communication system, calling it unrealistic, but later implemented the exact same system when they found that it helped create community. Verant’s Everquest borrows heavily from Meridian, although it improves upon it in nearly every technical area, especially in graphics. Meridian’s user interface, while simple, turns up in game after game.

In-game email and newsgroups, a guild voting system, rentable guild halls, and a player combat arena made their graphical debut in Meridian. We took full advantage of the platform to experiment with other devices to get players to interact. You can even buy a chess board from an NPC and play chess with another player!

On the technical side, Meridian was the largest graphical online game of its time. It was one of the early games written by programmers with a formal computer science background, a practice that is much more common today than in 1994. We believe that this kind of discipline helped make the game more stable, and allowed it to grow even after its original creators had left. In over 3 years of continual operation, the original server code has not crashed once, a record still unmatched today.

Of course, Meridian also had its fair share of well-publicized problems. Players were quick to exploit any bug or security hole. Several wrote macro-type programs to automate combat and obtain an unfair advantage. The customer service department was understaffed from the outset; between billing problems and in-game disputes, customer satisfaction was often very low. All of the hate mail, flame wars and death threats that plague today’s online RPGs hurt Meridian too.

For the authors, one of the most rewarding parts of Meridian is talking directly with players, and knowing firsthand that they are enjoying the game. While parts of the development process were frustrating in the extreme, the end result was fun for a lot of people, and created a lot of friendships. For us, it was a unique entry into the game industry, perhaps one of the last times when a few individuals can beat out the major companies.