As more and more players sign up for online games, companies are employing increasingly sophisticated server architecture to support them. A new trend of keeping lots of players within a single world is pushing the envelope even farther.
While some massive multiplayer online games (MMOs) already involve a lot of people–Blizzard Entertainment’s World of Warcraft recently passed the nine-million-player mark–players usually aren’t truly together, inside one world. Instead, a game company makes many copies, called shards, of the world, each of which holds several thousand players. These worlds exist in parallel, and players can’t move seamlessly from one shard to another. Dave Laux, global executive for games and interactive entertainment at IBM, says that sharding is popular in part because it’s easy to add more shards to accommodate new players as a game grows in popularity, and because it can prevent overcrowding in small virtual worlds.
But some virtual worlds try to remain whole. The creators of the MMO EVE Online, for example, decided to avoid splitting the game into shards, in part because of its science-fiction setting, which spreads through vast reaches of space. “When you watch a typical sci-fi movie, you have the sense that you’re watching a small part of a larger world,” says Hilmar Petursson, CEO of CCP Games, the Iceland-based parent company of EVE Online. Petursson says that a single-shard environment is also attractive because the game can be more culturally diverse, and can more accurately simulate a large-scale economy.
But the problem of avoiding shards isn’t specific to EVE Online. Wu-chang Feng, an associate professor of computer science at Portland State University, says, “I would say it’s something most MMOs will go to, if they can.” The challenge, he believes, is to create an elegant experience for users at the front end while constructing and managing servers on the back end that can keep up with the pressure of large numbers of players online at once. Other companies working on the problem include IBM, which works with EVE Online and other MMOs; Australian game developer BigWorld Technology; and Linden Lab, makers of Second Life.
In the case of EVE Online, instead of having different computer clusters running many copies of the same world, the company sets up clusters to support different solar systems. As Feng explains, different machines simulate different parts of a single virtual world. Load-balancing software between the clusters moves computer resources to solar systems where they are needed most. (All the servers are physically located in one central location in London.)
Since its inception in 2003, EVE Online has grown to 200,000 users. While the maximum size of a battle in World of Warcraft is about 40-on-40 players, in EVE Online, about 400 people can do battle at once in a single location in the game. (Approximately 35,000 gamers have played the game concurrently but they were scattered throughout the world.)
Growing user demands have placed increasing pressure on the company’s hardware. In 2004, EVE Online switched to solid-state disks in order to avoid the delays introduced by moving mechanical parts in traditional hard drives. In 2006, the company upgraded to 64-bit computing to achieve higher-density storage. CCP Games is now moving its clusters over to IBM blade servers, a system of servers on cards that allows for greater storage density, power efficiency, and communication between servers. Petursson says that he hopes the company’s new supercomputing clusters will add enough capacity for 70,000 concurrent users.
George Dolbier, the global technical lead for games and interactive entertainment at IBM, says that to scale up to support millions of concurrent users, MMOs will need to make use of the technologies behind Visa’s database, or those that support the NASDAQ stock market. NASDAQ, he says, can actually be thought of as a very large MMO, supporting very large numbers of “players” performing billions of transactions daily in a graphically intense environment, all within a single shard.
Large-scale MMOs, Dolbier says, share many computing problems with the financial industry. MMOs, like financial institutions, require high-speed communication between servers, since delays frustrate customers and provide opportunities for cheating and fraud. MMOs also require the maintenance of very large databases. EVE Online’s servers, for example, which now support only 200,000 players, currently process more than 150 million operations per day.
Dolbier says that it’s not a one-way street: other industries could learn from the technology that’s being developed for MMOs. For example, he says, a common problem for game companies is how to recognize and manage “hot spots”: small areas that suddenly attract large numbers of players, such as a battleground. To keep the game running smoothly, the servers need to detect movement toward the hot spot and react in real time, rezoning the area of activity so that more servers are responsible for supporting it. Technologies that solve this problem effectively, Dolbier says, will have applications in any industry that requires spotting and reacting to trends, or “anything where behavior is dynamic and you need to move resources around rapidly.”