On the Feasibility of Single-Server MMOs 316
GameSetWatch takes a look at the issues involved in creating an MMO that does not split its users among many different servers. They suggest that running a single "shard" is the next step in the evolution of MMOs, since it better allows player choices to have a meaningful impact on the game world; supporting different outcomes across multiple shards is a technical nightmare. They estimate, from the hip, that the cost to develop the technology required to support a massive amount of players (i.e. far more than EVE Online) on a single server to be roughly $100 million. Another recommendation is the strong reliance on procedural and user-generated content creation to fill a necessarily enormous game world.
Lag. (Score:5, Insightful)
Lag.
Lag is the primary concern amongst many EVE Online players. Certain areas of MMOs are more popular than others. Major Cities, battlegrounds, etc are places where large numbers of players congregate. Until we find a way to elminate the lag caused by sheer population density, single server MMOs are going to be strangled in what they can offer in terms of 'multiplayer'.
Impact? (Score:5, Insightful)
Am I the only one here who doesn't want the collective impulses of 1 million 15 year olds impacting my game experience? Instead of theorizing about how awesome it would be to have a server with 5 million people on it at the same time, why don't they try to design a game that would actually be fun to play with 5 million other people on your server. I can't think of any, but if they can, I'd at least be willing to listen to their ideas.
Since the authors of this worthless article don't have any new ideas other than "WoW with tons of people on the same server!!!", I don't know how this thing got out of the firehose.
Re:The One Big World (Score:3, Insightful)
Sounds like a cellular telephone network. It would be interesting to know how they solve these problems.
I suspect things like changing the hex size based on actual or estimated population density would be one way. This would have the consequence of reducing the view and interaction distances in densely populated areas, but that might not be so bad.
Of course, big real-world events do cause the cell network to overload. The real solution in an MMO would be to structure your amenities and events so that they don't encourage people to congregate so densely.
Re:Ah, but what I'M interested in is.. (Score:4, Insightful)
how long until we see a MMO that is run _entirely_ server-side - that is, a game that does all graphics and game logic calculations server-side, OnLive style, and simply streams HD-video to each client. If this considerable hurdle could be jumped, we might be able to see a lot more in the way of a dynamic MMO world, with actual physics, terrain deformation, collision detection, and a bunch of other features that are tough to do with the current client-server system.
Just.... no. There are many reasons graphics are done client side. Let me know when you figure them all out. Sure, something like this is theoretically possible, but only if you want to pay upwards of $200 per month to play that game. Since it's a lot cheaper for me to buy a really nice graphics card, why not render client side?
Re:Impact? (Score:4, Insightful)
For one, you'd be mistaken about the "it's only 15-years old playing" cliche. Granted, a lot of oldsters act like they're immature teens, but still. If you're interested, head to Charles Stross' presentation at Login 2009 [antipope.org] where he speculates about MMOs in 2030.
Anyway, you won't be rolled over by a 1-million strong wave of players trying to kill-steal your camp. There's a difference between total numbers and player density in the game world. You need to increase the numbers, but keep the density low. And that requires a lot of social systems in place. Regardless of whether you're thown in Smallville (WoW-ish model, complete with its contingent of sociopathic über-powered peeps ready to faceroll you for the fun of it. Like Smallville. Minus Clark) or Metropolis (the uber-EvE model), you probably know only the few people in your guild, your guild alliance, some iconic local figures, and that's it. What makes interesting a large server are:
1) The large choice: no matter what you're interested in, there's people interested in the same (which, on smallville-type servers, is an iffy proposition)
2) The economy. It's impossible to build a workable complex economic system when there's less than 10k people interacting with the economy. The economy remains ludicrously simple (and easily manipulated). Compare to a 250k-players economy of EvE, and it's not even comparable. Go to million-players economies, and you end up with mechanisms that work.
But the two points above should tell you what kind of game it's interesting to design. It's not a game about being the Hero and going to Slay the Dragon. It's a game about social interactions, player-based activities, with a major economical facet. That's what you need. Not, like the article implied (it's a general public article, after all) WoW with a single shard, but something different. EvE shows it's possible (why do you think the vignettes for the article show that game?).
Re:realiance on user generated content (Score:3, Insightful)
Most people's first visit to Youtube is greeted by trash too.
Re:Ah, but what I'M interested in is.. (Score:2, Insightful)
There have been several discussions on slashdot about just such a thing. I found one [slashdot.org] as recent as March 24th. Breaking down all the arguments, you run into one fundamental unsolvable problem: latency. [slashdot.org] No matter how fast hardware becomes, you're still limited on the speed of light for how quickly you can transmit input from the user to the server and back again. For anything that requires reaction time, this will likely be unacceptable.
I do agree with you that it's an interesting concept. Just not feasible in practice.
Re:define "single server" (Score:1, Insightful)
My feelings exactly. They obviously don't mean a single processor. It'd take more than $100m to develop *that* :) So they must mean a "single server" in the sense of at least 100s of processors all meshed up with some kind of network. So really it's just "a cluster with a fast mesh" vs "a cluster with a slow(er) mesh". i.e. not a single server at all.
The fact that their fundamental concept is broken doesn't fill me with awe for their idea.
Anyway, you spend $100m on a "single server" that copes with X million people, and then person X million plus 1 joins. What then?
Shards exist for gameplay reasons and for technical reasons and for reasons of business scalability.
15 year olds? (Score:5, Insightful)
Actually, while I'll agree with your main idea that it's undesirable, I just have to wonder about the 15 year olds quip.
From my limited experience -- and fully aware that the plural of anecdotes isn't data, but I have to start somewhere -- the vast majority of children I ended up grouped with were actually nice people and played the game well. Conversely, most of the more annoying trolls I've known, were middle-aged men. I guess mid-life crisis goes "I can still gank newbies" instead of "I can still get a car with a wing, and teenage hookers" in some people.
The thing that got me to start thinking about it all -- and bear in mind, I'm not saying it's the worst, just that it was a shock at the time -- was discovering that a (now ex) boss, a respected middle-aged, mid-level manager, was talking l33t in an MMO. I get a tell that, really, makes me wish I had a Rosetta stone to decrypt that garbled nonsense, and wonder who the fuck is that retarded kid? Lo and behold, it's the boss. I _know_ he can type very fast, so he doesn't even have the excuse of not having the time to type the "y" and "o" in "you."
Another midle-aged guy I know gets his jollies ganking newbies. That's his idea of showing how great he is, apparently.
One was literally the most retarded player I've ever grouped with. He managed to reach level 70 (at that time, the max) while still believing stuff like that if he takes a step back when an enemy slashes at him, the enemy will miss. 'Cause that sword doesn't reach to his new position, see. Geesh. Or he still thought that it's a good idea as a hunter to run backwards when he gets aggro, 'cause, see, he manages to squeeze in another ranged shot now and then that way. And generally, I mean, not just as in "hadn't figured out the game yet", but as in, "had the most ridiculous ideas and insisted that that's how the game works." He actually was proud of his "footwork", lemme tell you.
After a wipe or two I actually wished we had a 15 year old in his place. At least those tend to be good at figuring out a game.
One was not just a complete CS-head, but actually proud of his spewing the most offensive sexist remarks at anyone who had a female name in the game. There was stuff he was telling me (and you know you can't stop them from talking about CS even if you tried) that made _me_ cringe, and I'm a guy. And he's standing them beaming proud of how witty he was.
Etc.
So, 15 year olds? I can deal with 15 year olds. It's the older retards that I fear a lot more.
Meanwhile, in an MMO, a problem grows... (Score:3, Insightful)
The question of how big an MMO should be is a simple matter of planning desired player density, introducing sufficient hooks to ensure interest, and mitigating player turnover by making the action easy enough for low-level characters to get into. All of this is part of the design of any MMO worth its salt.
However, remember that "should" is the most dangerous word in the English language. Forget "should." Screw "should"'s eye sockets until its ears cry.
How big will the game be? Because all that planning won't amount to anything if nobody shows up and the place feels like a well-lit and mip-mapped ghost town. Or if it takes off faster than expected and suddenly you're running the most popular lag machine in town.
Re:Lag. (Score:2, Insightful)
You appear quite knowledgeable about EVE's setup, so I'd like to ask what would happen if instead of putting the nodes onto blades, they put the nodes onto virtual machines on the blades, and migrated those live (and hopefully automatically) based on use. I'm not the kind of guy who says "virtualize it!" to everything, but this seems like a good case for it.
So the big question is ... "Why haven't they done it?" There has to be a technical problem.
Re:Completely the wrong approach (Score:2, Insightful)
How's that? If you're a new player, you'll be doing drudgery like mining rocks for a year or so until you get accumulate enough skillpoints and wealth to do anything. (unless you buy a character, of course)
In fact, in Eve online, new players today enter a world where big player alliances already have the mega-uber ships and the players getting to fly those super-ships have years of experience playing the game. In Eve, you can't even grind to "catch up" - it takes a fixed amount of real world time before your character's skills are developed into anything useful for the hyper-competitive world of the pk.
And there's not even a new server being opened up from time to time to give new players a chance to play on an equal game footing with old players.
Re:Lag. (Score:2, Insightful)
Re:Actually, I see an even bigger problem (Score:4, Insightful)
"RP servers? Oh, you mean the ones where I have to choose a "in game style" name, but get rewarded with not having to compete for the surface mobs because everyone else is sitting in the inn, but at my beck and call when I need them for an instance, all I gotta do is ask akin to 'mighty warriors needed to unearth the rock of awesome...'? Yeah, they're cool!"
*sigh*
This is unfortunately what RP-Servers are, essentielly, like. You don't really get any good RP there either. Simple reason: No reward for good RP.
Re:Lag. (Score:3, Insightful)
A lot of the lag problems stem from the fact that a solar system can't be reassigned to a different node on the fly. If it could then you could have a second smaller, high power cluster on standby to take over a solar system if it becomes too congested. Once you have that functionality you could use some heuristics to automatically reassign solar systems based on different criteria (like congestion).
I'm not a network admin, but I'm sure there's some lessons to be learned from EVE Online for future MMOs. Things that worked well and things that could be done better.
Solving Load Distribution Lag in a Space Game (Score:3, Insightful)
The problem with Eve Online, at least it was one a few years back, was that they chose to organize servers by star system. In other words, loads were distributed by named location. (Which was why certain populous systems like Jita often lagged.) Also, this distribution was static and didn't adapt to changing situations. (Like roving fleets of 200 ships.)
Processor load should be distributed by population and user activity. The unit of processing should not be named locations. Aggregations of players should be the basis for the units of processing. With a space game like Eve, this is easy. When people form a fleet or a squadron, the fleet's inertial frame of reference becomes a "locale." (This would be appropriate for a game which actually had Newtonian dynamics, not Eve. Eve could still use it, though.) When two fleets merge, two locales merge. This would be an inherently dynamic load distribution system. The merging operation could be disguised with "warp-in" effects. You could even have a locale moved from server to server, and this could be covered for as a "warp storm" where both sides are effected. (And maybe gangs/fleets are undone and individual ships are all caught in a "warp bubble." That could be cool. It also might encourage some interesting small-group tactics, or units trained to reorganize themselves on the fly.)
Re:A single server? (Score:3, Insightful)
I think point is that out of millions of folks "connected" to the game at any given time, each one should be able to "find" the other in the game world.
Re:The should just do what most developers do (Score:3, Insightful)
CCP did this with eve for a long time. It resulted in the creation of the massive supercomputer that is the eve cluster, and the resulting realization that they had solved the wrong problem. Individual node load turned out to not be a direct factor of total players online.
Re:Lag. (Score:4, Insightful)
I don't think that's the whole picture.
For example, if I play WoW and meet a real life friend who plays WoW, we can only play together if we happened to sign up on the same server.
If I play Guild Wars, we both sign in, switch to the same district, and we're in game together. It is possible for any player to go to any district in the game (if they have unlocked the content, obviously). So, you can always play with new people you haven't connected with before.
Re:Lag. (Score:2, Insightful)
Due to it's dynamic arenas, if you wanted something in a town that had been taken over by the enemy, you could teleport to another instance and hope that it's player-controlled.
That is a terrible idea. It really defeats the purpose of having enemies be able to take over a town doesn't it?
Re:Actually, I see an even bigger problem (Score:3, Insightful)
Eve is the only graphical MMO that supports as many people as it does under a single server/shard. Wow has more people in total/subscriber base but has nowhere near the number of concurrent players as Eve. Wow starts to lag (500ms to timeout on pings) around 6k people online on their best servers. When even a 300 people gather in a zone other than a battleground, it's a lagfest. Eve itself can only handle about 1000-1500 in a single zone before things get beyond laggy, although most people will never see so many/such an experience. I'm sure bandwidth requirements are equally high for wow and eve. However, when you look at the details, there are some interesting things. Essentially missions are instanced (deadspace) within a zone (solar system) if you think about it. Wow does this for raids, Eve does this for all missions and raid equivalents (wormholes) basically, all while delivering a pretty darn good play experience to people across different countries without having to fuss with EU/US/Asia servers etc.
Anyway, There are other benefits of a single shard that make things more and less interesting: your character has persistence at that point - so short of making a new character everyone knows who someone is, which is good. Of course, at some point there is a concern about limited namespace but given that eve allows special characters due to the other languages that play, that becomes less of an issue.
It's not just eve's server capacity that is just damn near impressive, but also their ways of managing all the single shard aspects as well. Eve is still very groundbreaking in how they do their shards. However, from a "people gathering in one place" perspective, eve has made the game expansive enough that you don't get clustering issues. Figure the size of all of wow's zones/instances and multiply it by 100 and you are probably close to equivalent space for players in eve. Thus, there is no "too many people". Basically eve was created with that flexibility, not many other games have done that. As example: you don't hear of any FPS servers going above 64 or even 128 people usually, and you don't hear of many games designed or even having capability of more than a few hundred in a "Room".
Re:Lag. (Score:5, Insightful)
Depends on if you want a game or a game world. I prefer the game world concept. I hate instanced areas that segregate the community. Guild Wars always felt empty because there was never anyone playing in my areas. I remember holding instances in another game. I think it was EQ2. (Join a zone during peak hours and goof off or go AFK for a few hours while the players leave and the zone counts drop.) Why would you want this? Because you have a whole zone to yourself that no players would likely join. You had a better chance of getting rare mobs, collection items, etc. But it killed the game for me.
Instancing allows people to play their own game and not get involved with the community. Essentially, you are paying for a multiplayer game with friends instead of playing an MMO with a huge community of people.
Of course the publishers like this. (Less piracy, monthly income...) but it defeats the point of MMOs. Instancing, teleportation, and all the new "features" being put into MMOs are just breaking down the community and world feel. There's no point working with other players toward a goal. There's no point sticking with a group and completing a dungeon. You can just leave when your quest is done.
Re:Lag. (Score:4, Insightful)
Also where you do have large open parts of the world you can dynamically allocate location clusters based on groups/concentrations of people, hand off the processing of those groups to various processing nodes. Usually you need to add the ubiquitous 'fog of war' to make this work graphically. Yes the management is complex, but it is very doable.
Another major problem most MMOs make is they build the client protocol with way to many "global" broadcasting, and forced acknowledgment of updates. This tends to get out of hand very quickly. And from a design perspective while its cool to have things like every client triggering the play of the same sound and graphic event at the exact same split second, such events come at a high cost. A lot of games deploy these entire world updates for way too many basic changes....do I really need to ensure that every client withing 500 ft knows that X Player's avatar twitched his left hand, and then wait for an acknowledgment before moving on? You really need to prioritize what events are important and enforce that pretty heavily on the development team.
Re:Lag. (Score:3, Insightful)
Have you played an MMO lately? The "community" is usually the worst part of the game...
Re:Lag. (Score:3, Insightful)
I disagree.
I would compare my time in WoW:
Despite being multiplayer and bumping to other people, most of them played alone, not in groups. Certain quests forced people together, but it was pita to set up group that was destined to break apart in seconds afte completition of hardest objective (waiting for 30 minutes for someone arrive just for that? oh come on.), and since they were optional ...
Even when doing instances, groups dissolved asap last boss was reached. Only real thing where working together with players was worth it were raids. Yawn.
Best thing that MP did for me was ability to be "nice" to strangers by casting long lasting buffs on them.
In guildwars, I can be anywhere in seconds. Seconds, at not cost. Is there anything more awesome MMO can do to help socialization? All people in friends list are one second away. I can join group for any dungeon/mission i fancy in seconds. World is huge for me, not limited by where i can travel during my gaming session.
Compared to wow where i would pretend being afk when asked for help because i simply could not bear zepelin/windrider/mount timesink.
Hint: you do not build comunity by forcing people to play together.
You build community by giving people tools to easily meet and play together.
Re:Lag. (Score:3, Insightful)
People like simple. They like to think they like hard, but they really jsut want the feelign of acomplishment that comes with winning. Because of that, games like WoW will be popular and games that you want will be a nitch market. The problem is, does any game company want to develope a game for 250K people? Or would they rather try and make a WoW clone and get 1000K+ people?