On the Feasibility of Single-Server MMOs
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.
TFA misses out one very important point.
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'.
Think of how much fun it would be to crash one of those Eve Online ships into the shire!
An Education is the Font of All Liberty
"since it better allows player choices to have a meaningful impact on the game world"
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.
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.
Be careful. People in masks cannot be trusted.
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?
I meant this technology. Apparently I'm bad at using the preview function.
Actually, I see another even bigger problem, at least for more traditional (WoW-type) MMOs. How big should your world be?
Too little player density => people start complaining that it's pretty much a single-player game like Oblivion, except you occasionally see another player. Many games ended merging up shards more for that sensation of empty space than because of costs. (It's equally easy to just merge the physical servers inside a shard, to support a lower population per shard, if you're only concerned about hardware costs.)
Too many players on too little surface => lag (think: landing in Ironforge, back when it had the only auction house for Alliance), routinely having 5 players camping the same mob, and generally it just starts feeling cramped. Again, you have players starting to complain.
Basically if you want to be single-shard, you have to essentially guess how much population you'll get. Maybe just within the right order of magnitude, but guess nevertheless. It's not that trivial. On one side of the guessed-wrong spectrum you have WoW which got launched with only a handful of servers and had massive queues, on the other end of the spectrum you have more than one game who thought they'll be teh WoW-killer and then had to merge 4 servers in 1.
Merging or splitting shards is an easier way to deal with that problem than having to physically add or remove new areas, to fit the population.
Additionally, world size influences other things, like travel times, exploration, etc. There is an ideal apparent size where people don't feel like they're being packed like sardines and running around a back yard, but don't go "fuck it, I'm not spending another hour just running back to the quest giver" all the time either. It's easier to fine tune that if it's its own problem, orthogonal to everything else, than when it also has to fit the population numbers.
Basically if EVE's game type was well suited for that kind of one-shard world, more power to them, but for other types of MMOs it might actually be a bad idea.
A polar bear is a cartesian bear after a coordinate transform.
Most people's first visit to Youtube is greeted by trash too.
There have been several discussions on slashdot about just such a thing. I found one as recent as March 24th. Breaking down all the arguments, you run into one fundamental unsolvable problem: latency. 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.
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.
A polar bear is a cartesian bear after a coordinate transform.
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.
You cannot truly appreciate Dilbert until you read it in the original Klingon.
I thought of a solution to the "game pausing" problem.
When you organize into a team for the "month long game of Warcraft 3", you choose playing hours. So, you might "sign up" for a game where everyone will play from 6pm to 10pm each day, central standard time. Or any arbitrary set of times, obviously this would mean that most of the time, you'd be playing with other people from your time zone.
This would make the game more intense : every second actually playing the game would be precious, because if you just stand around, other players on the other teams would be beating you to the quests. Obviously, there would be some randomization : the statistics on weapons and abilities would change randomly a little bit with each match, and the locations of the dungeons and stuff would also change. It would also be possible to play on a "map" that was custom made by other players.
And if you're a casual player, you could sign up for a "3 days a week, 1 hour" match where you only play a total of 3 hours a week. None of your competitors would have any more time than you, or be ahead at the from the start.
As for the 1 month expiration date on your powers : have you ever noticed how the most fun part of any new MMORPG is that level up during the newbie levels? The game stops being as much fun once it starts taking forever to level up. And you can't PK until you finish the chore of getting to the top level.
In my vision of a game, you could obviously go try to gank someone on the other team at level 1.
I think by shard, what is meant is world instance, not physical server, and Eve is only one shard.
Being in another starsystem (and thus, located on another physical server), you can still interact with players in other starsystems, even across the galaxy.
And, the system can move starsystems around between physical servers, so if there is an influx of players in an otherwise empty system, it will be moved to a larger server, to better handle the load.
Ofcourse, every server has its limits, just like with any MMO, and when you reach peak (which, with the "new" stackless IO, is well above 1000 players), there will be lag, ofcourse.
Marketing hype? That EVE is a single universe, with a peak concurrent user count of >50k? How's that 'hype' - it's true. Yes, they do multiprocess by switching you onto different servers when you jump system (sometimes). They also multi-process by having a proxy tier, a solar system tier, and a database tier. But that's not 'sharding' either. ... would have been generally negative to implement on the Tranquility (original) cluster.
When most MMOs have too many users, they end up firing up a new copy of the code on a standalone server, and let there be another 'copy' of the universe, for someone else to be 'king' of.
The only place that's happened with EVE, is the China implementation, and that was solely because China has rules regarding MMOs that
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.)
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.
"If anything can go wrong, it will." - Murphy
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.