Eve: The most thrilling boring game in the universe. "All of it surprises me.
" Alex "The Mittani" Gianturco is a long-time Eve Online player. In real life, he's a retired DC attorney. In Eve, he's a ruthless space dictator. Thinking about his journey from fresh-faced player to being arguably the most powerful person in the game, he tells me none of it was planned. "If you were to tell me five years ago I'd be living in Wisconsin and running a space empire full time, I'd think you were crazy. " I've sought out Gianturco because I want to understand the draw of the game. As someone who has tried to play the game and quit multiple times out of sheer boredom, all of this surprises me. Few games have such a conflicting outward image.
I want to know what I'm missing. Infinite Space: An Argument for Single-Sharded Architecture in MMOs. [In this much-referenced technical piece originally published in Game Developer magazine late last year, the team behind idiosyncratic MMO success EVE Online discusses precisely why sharing a single world between all of its players makes sense.]
Most of the larger massively multiplayer online games use separate instances, or shards, of the game's universe in order to manage player populations and server issues. We feel that a single shard should be the natural choice of any MMO developer, and that's what we do with EVE Online. When you ask the question "Why a single-sharded architecture? " it's also informative to look at the deeper question: "Why have shards? " Infinite Space: An Argument for Single-Sharded Architecture in MMOs. We have also seen the benefits of single-sharding with combat, in the form of increased complexity of conflicts in terms of both space and time.
This heightened complexity results in a variety of roles within a conflict and less routine in waging it. In EVE we have had wars involving tens of thousands of players, pitched against each other for several years. Whether a player contributes as a grunt on the front, a middle-man in logistics or as a long term strategic planner is up to them. The size and longevity of such conflicts clearly sets them apart as true content.
Instead of being ephemeral and soon-to-be-forgotten skirmishes, these have become epic stories that fascinate players and build up reputation and true in-game power. The organizations directly involved in the fighting at this stage contained, between them, just over 30,000 player characters. Finally, there is the economy. Infinite Space: An Argument for Single-Sharded Architecture in MMOs. As we noted earlier, player density can be a real challenge from a technical perspective as well as a game usability perspective.
In EVE, we run into two general kinds of harmful player clustering which cause design headaches. The first is what used to be called the "Yulai problem. " A few smart players determined that the Yulai solar system was particularly well connected to the various areas of the star cluster, and started selling their wares there in bulk. Those few canny marketeers on their own weren't a problem, but it didn't stay that way for long -- as more buyers visited the system more sellers set up shop there. As more sellers flocked in it became more desirable to buy there.
In an effort to curb the growth of this trade hub before it started causing serious server issues, we made some changes to the map by shifting jump routes around to lessen the appeal of Yulai. A large-scale single-sharded environment is not without its unique challenges on the code side either. Infinite Space: An Argument for Single-Sharded Architecture in MMOs. Programming asynchronous systems and distributing execution.
Running logic on top of a cluster of distributed nodes means that a typical function call might cross process boundaries and even go across the public internet before returning. This calls for a lot of asynchronous programming, which is notoriously cumbersome to implement. This is where Stackless Python comes to the rescue. At CCP we firmly believe that we need to make programming as simple and intuitive for the game programmer as possible.
Infinite Space: An Argument for Single-Sharded Architecture in MMOs. With the performance demands above, maintaining excellent performance of the database hardware can be quite a task.
It is the central point of our virtual world, so any latency or slowness at this level reflects across the entire universe of EVE. Ensuring that the database servers have headroom in all of the key performance areas is critical -- the main bottleneck that we have had to overcome is I/O performance of database storage. Over time, we have successively moved away from traditional fiber channel disk array storage to much faster solid state storage devices.
Initially this was done for our hottest tables only, but we have recently moved the entire database to solid state drives. This approach has helped us to maintain an environment of virtually no database lag, and we still have a huge ability to scale up. The design headaches that occur around the "Jita problem" mentioned above are specifically where we start to run into this limitation.