The Problem of Shards, Servers, and Queues In MMOs 253
Posted
by
Soulskill
from the you-are-two-thousandth-in-line-to-read-this-story dept.
from the you-are-two-thousandth-in-line-to-read-this-story dept.
An editorial at GamesIndustry takes a look at a couple of problems many MMOs have failed to solve as the genre has evolved over the last decade: log-in queues and a split player base. The most recent example is Aion, which launched in Europe and North America a few weeks ago. Players on some of the game's servers had to deal with lengthy queues until enough people left the starting areas and spread throughout the game. To NCSoft's credit, the queues are mostly gone already, and it wasn't simply launching with too few servers that was the problem (nor was simply launching more servers a perfect solution, as Warhammer proved). In fact, several servers had no queues at all, but many players had set their sights on the more popular ones — a problem facing other MMOs as well. At this point, it becomes a matter of programming — how can the developers for these MMOs build the networking aspect of the game such that more hardware can easily be allocated when it's needed, and also make it easier for people to play together without the restriction of different shards or servers? EVE Online has done well with a single game universe, but it's not clear how far that model can scale upwards.
Guild Wars (Score:1, Informative)
Had one "shared world". It was initially restricted to US/EU/Korea or some such, but you could change your territory, at first X number of times, and later on as often as you wanted.
Champions did it too (Score:5, Informative)
Dark Age of Camelot (Score:3, Informative)
DAoC is now, for most intents and purposes, one server. The cluster is called Ywain, and I think it goes from Ywain-1 to Ywain-9. Each server shares its RvR (realm versus realm) areas with the other servers, so all Ywain players go to the same RvR instance. The main cities do as well. However, outside and in dungeons, the servers are independent. This is to keep 1,000 people from showing up in the same area.
You can change the server in main cities and other important areas by means of an NPC.
It's a nice way to do things. If Ywain-1 is too populated, go to Ywain-2. It lets the player decide how full or empty they want their experience to be.
Re:Computational Problem (Score:3, Informative)
It depends what you count as "game design". CMU's ETC gets a lot of its grads hired, though it's a masters program, and a large proportion of people there have CS bachelors' degrees already. UC Santa Cruz gets its game-design/CS grads hired also, but it's in the CS department and more of a "game-flavored CS" degree than a game-design degree. Even the more humanities-oriented game-design programs seem to be having some success, but their graduates tend to get hired as designers or artists rather than programmers.
The GP's post doesn't really make any sense, though. The people at major studios working on network-architecture problems are of course network-architecture people, not game designers. In some cases they might not even really know much about game design, beyond what they've needed to learn to deal with the network architecture.
Re:Easy fix (Score:3, Informative)
But most MMOs' business models revolve around selling as many copies as possible before people realise the game is shit.
Re:Computational Problem (Score:5, Informative)
Heh, no. I'm an MMOG server programmer, and I know a fair number of others, and a lot of us have backgrounds in distributed computing, with plenty spending time in academia before being lured into games. That game companies mostly hire people with game design degrees is a falsehood propagated by the institutions that offer those degrees. For one thing, there simply aren't enough people going through those schools to feed the industry's need for fresh meat; for another, the quality of programmers fresh out of any school is generally insufficient.
As for fundamental design flaws... eh. I've heard plenty of that kind of talk from (for example) Project Darkstar; it's easy to say that, it's a lot harder to actually do the research to understand all the options and the inherent flaws in each. Interestingly, even EVE Online - lauded for its one-world approach - uses geographic decomposition too, and it works just fine most of the time (and now they've got a system for dedicating special hardware to the corner cases).
Re:Computational Problem (Score:3, Informative)
IBM has done some research into this: http://domino.watson.ibm.com/tchjr/journalindex.nsf/0/e7437d40ec477c7385257100007be30a?OpenDocument [ibm.com]
Supposedly, it was even able to handle missiles crossing regions.
Re:Eve online runs Windows Server (Score:3, Informative)
That's hardly a decent solution to the problem, since EVE is the perfect example of how not to handle excessive numbers of players in a single location. EVE has a huge universe and all, but it's mostly accomplished by putting small groups of systems on their own "node". When any significant number of players pile into the same node and start doing things (such as shooting at each other, or just trying to take the gate to leave), it results in instability, poor performance, and quite often brings the entire node down on itself, sometimes stranding characters for days. EVE is quite notorious in the industry for poor performance issues, in fact, though they've been constantly improving over the years. It's also known for requiring an hour or so of downtime every single day or the entire system buckles under the pressure. The problem in MMOs is not scaling to a large world, as this is easily accomplished by simply dividing it into areas and adding more hardware for each segment. The big problem is when people decide to all hop into one location in the game and melt an individual server or node, which happens by default at launch time.
Re:Champions did it too (Score:3, Informative)
Strictly speaking, the server maximum for EVE Online is about 1000-2000. Each star system is a different server, with travel between systems happening through a "loading screen" cunningly disguised as a star gate.
Effectively, each star system in EVE Online is a "continent" from WoW, with each "zone" in WoW scaling to a "grid" in EVE. Except that "grid" is a local construct, not a fixed geographic location: you can join the same "zone" as another player by simply walking over a line in the sand, to join the same "grid" as a player you actually have to warp to their ship.
Just use SSI (Score:2, Informative)
Just do one server with threads running on a SSI on top of your cluster of nodes interconnected with low-latency links.
That way you have one server that makes the best usage of your hardware.
All eu servers had queues (Score:2, Informative)
"In fact, several servers had no queues at all, but many players had set their sights on the more popular ones"
ALL EU servers had long queues. Most of them was so long, you couldn't even get IN the queue.
The NA forums reported some server queues, but not on all servers.
Quite the opposite on EU forums, where people were going mental on the boards, complaining about massive queues and no response from NCSoft what so ever.