New Technologies Attack the One-World Problem
Hugh Pickens writes "An MIT Technology Review article has new details on the challenges of a 'one world design' in Massively Multiplayer Online Games. Most games shard their servers, putting up artificial barriers between friends and family members. Technologies are now being developed to keep lots of players within a single world, some of them based off of the unique PvP-heavy title EVE Online. The best part - the technologies don't just apply to gaming. 'NASDAQ, for example, can 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. Technologies that solve this problem effectively, says George Dolbier, technical lead for games and interactive entertainment at IBM, 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."'"
", for example, can 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. "
Jeezs, you mean there are large transaction systems out there? Thank god MMO's brought the technology to the world! Gah. MMO's do nothing technically new regarding transaction.
Also, what is the 'Graphically intense' interface the NASDAQ has? Compared to MMO's it's nothing.
The Kruger Dunning explains most post on
Don't you love it how gamers try to make themselves relevant to the rest of the world? I love gamers... they're so... important... to... um... well... Just keep playing, guys!!
--Ray
http://www.beanleafpress.com
http://blog.heavensdomain.net
And you thought the grind in WoW was boring!
Modern copyright is theft of culture from everyone and it retards the progress of the useful arts and sciences.
Personally, I locked onto to the "graphically intense" part of that comment.
Doesn't seem to me that thousands of stock-trend charts and graphs really count, unless you're making a terrible pun.
If it's for-profit but free, you're not the customer -- you're the product (e.g., the Slashdot Beta's "audience").
I don't see how that is even feasible. I don't play WoW because it's a horrible game. However, I have tried it. Now, there's what, 8 million subscribers? Let's say 1/4 of them were logged in at once.
First, can a server even handle 2 million simultaneous logins? I bet they could do something, but it would cost a LOT more than splitting them up into managable chunks.
Second, the game world would have to be enormous in order to give people enough room to move around and do their own thing. Just imagine hunting a single boss, 300 people at the same time trying to kill one monster... it'd make me quit.
Now, the game dynamic would have to be changed and yes, that is possible. But at this point in time, I don't think it's physically feasible to run a virtual world the size something like this would have to be in order to fit everyone in at the same time. Zones lag enough as it is. And updating every user's stats? Unless we all have 1000mbit internet connections, I don't think we even have enough bandwidth. And the travel time in-game for that kind of world? You better give everyone instant teleport to any destination or nobody's going to want to move around...
-SaNo
Hmm actually looking closer, I understood it far better than you did, it seems. Guild Wars is instanced for "monster-filled" areas. Not for anything else. The Slashdot story deals in large part with the game economy, and in Guild Wars this market economy exists and is driven by transactions across an entire continent (North America or Europe, for instance). I get the impression from the story that such is not the case for WoW.
I like basketball!!1!
Obligatory to mention it, but this is of course what Second Life does, and one of the reasons why it's interesting. With SL all assets are stored online, not on your local PC (preloaded from CD or whatever) and everyone is in the same world. Anyone who witnessed the growing pains of SL over the first part of the year when concurrency went from under 10,000 to 30,000 plus will be more than a little aware that what they had didn't scale, although they do seem to have a handle on it now and conccurency of 50,000 is just about bearable.
The article seems to miss that EVE being space based allows a huge environment to be created easily, a few random number generators and a bit of tweaking and you have a whole universe of stars and asteroids and it's easily extendable after that.
The landscape in the likes of WoW is a lot more design intensive, you have features and locations with NPCs and dungeons and so on put in place. To double the population on the server you would need to either double the design/quest writing hours, add in a bunch of fractally generated landscape that would be relatively boring and largely pointless or go with the EQ2 route of opening up instances of zones which always seemed artifcial to me ("Hey are you in Common Lands 1,2,3,4 or 5?").
Tackled the issue my ass.
GW doesn't allow a thousand players to engage in an epic battle across miles of terrain. Let alone a hundred thousand or a million. You get split into identical but differently numbered shards and yes, you can move between them, but if a bunch of people want to meet up and have that huge, epic, battle, it's not possible in GW.
I don't even want to think what the bandwidth requirements per CLIENT would be in a epic battle on the scale of D-Day or something similar with thousands of players moving and performing actions simultaneously.
Let's imagine each client uploads 5kb/sec of action data to the server. If there were 1000 players in the battle doing this simultaneously then each client would need to download 999*5kb/sec of data to say updated in the battle. So, close to 5 megabytes per second. I.E. you'd need to have a 40 megabit internet connection running at it's full capacity and with a good ping time to be able to even stay current with the battle.
Just drop it down to 1k/sec. You'd still need an 8mb connection running at full capacity.
This is why epic, world-sized battles aren't a reality in MMOs. GW cannot do this.
I do not respond to cowards. Especially anonymous ones.
Guild Wars also splits the city zones up by geographic location and load. You might have US Servers 1-4, Internationals 1-3, etc, all for one city zone.
It's not a true 'one server' solution. It is, however, a very smooth and well thought-out system of instant on-demand character transfer between servers.
Genocide Man -- Life is funny. Death is funnier. Mass murder can be hilarious.
We have no choice! Our mod points can't repel flamebait of that magnitude!
I'm not sure that what you're talking about is what I'm talking about, or what the story is talking about. The story I think is mostly about economy and economic transactions and such. GW handles those on a continent-wide level. As long as you're in America, you'll be affected by every "material" transaction in America.
Is the article linked to about creating 1000-man battles? Because server load would be far from the only issue. Exactly right when you say bandwith requirements. There's also the issue of RAM. Even loading into an area with 1000 engaged combatants would take FOREVER on anything other than the beastliest of computer systems.
I like basketball!!1!
Actually, the devil is in the details: when you said that GW is instance based instead, then "one world" doesn't even mean the same thing as in WoW. GW, just like Diablo 2, is the exact opposite. Everything is instanced. It doesn't even _have_ a real shard or world, in the WoW sense.
To illustrate what I mean: in WoW I can for example take a treck from Anvilmar to Ironforge to Stormwind to Goldshire (see for example the funny video with the 40 level 1 gnomes raid on Hogger for a group doing just that) and meet a few thousand players playing in the same world. _That_ is WoW's "world". And going "one world" would mean essentially all 9 million players literally running around in the same world. Not in instanced versions of it.
Does any part of GW have that? No, I don't think so, everyone who isn't in your instanced game, just doesn't exist in your "world".
Technically speaking, GW has lots of smaller shards, not one big world for everyone. It just invented a way to spawn new shards as needed, that's all.
This isn't to say that GW is bad or that WoW is better. I can see the point in instanced content. But let's not go redefining terms for "my game can beat yours" willy-waving. Just having basically a lobby from which you can start an instanced game or join one, does not make a "one world game" in the sense discussed here. It's just not the same kind of "one world", so making the claim that it did it before WoW is meaningless. It's like saying that cats invented leatherworking because your cat has white "shoes".
Wake me up when you can have 36,000 people in your GW game running around independently and actually randomly seeing or meeting each other. That's currently the average population per server in WoW. _That_ is the point at which you can claim with a straight face that GW even does the same thing in that aspect. Do it all in all world? Well, wake me up when it supports 9 million players in the same game, running around and whacking NPCs independently.
And here's another thought, and what the guys in the summary missed:
Chances are you don't even have enough geography for that. If you parked one player per square metre, you'd need a 3 km by 3 km world just to have the players stand there. If you want them to actually have some space to move around and hunt without stepping on each other's toes, you end up needing a world as big as TES Arena. Except at that point you also need a hell of a lot more quests (people won't be happy if they have to run an hour just to get to the next quest giver), and other problems start to creep in too. _That_ is why noone, WoW and GW included, ever tried doing that.
So people coming up with ideas like "hey, look, it's technically possible" have just missed the point.
A polar bear is a cartesian bear after a coordinate transform.
If all of WoW was a single shard, what would the result be? With the existing world size, the population density would be insane. Somewhere around 100x a normal server or so. I've seen AHs with nearly 100 people in them, so how about the same with 10,000 fighting to get to an auctioneer? Or rather than fighting with 2-3 others camping the rare with the drop I need, it'll be 200-300 camping the 24 hour respawn. Or expand the world to a size that gets difficult to meet up with people unless you always get on and off where they are. What the WoW solution would be would to let people move characters around on servers easily. That way your choice of servers wouldn't be a problem when a friend mentions that he's on a different realm. But that would be hard to do now because of character names. And what about items that are hard to get and you not only camp the spawn, but pick certain servers to camp.
I'm not saying that the problem can't be fixed, but it is something that would be hard, if not impossible, to fix in an existing large MMORPG without causing lots of trouble for the users.
Learn to love Alaska
"... 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."
... a battlefield or even a major military campaign. Eventually war is going to be a matter of software "generals" maneuvering resources and personnel around in order to achieve maximum effect. Something tells me the military may already be far ahead of what the massively-multiplayer folks are doing. Or maybe not: when you think about it, a closed universe interacting with millions of actual human beings is a great place to experiment with this sort of thing, and hey, you even get the players to pay for it.
Like, say
The higher the technology, the sharper that two-edged sword.
Shards are basically entire instances of the game world. They may (and often are) spread across multiple servers, and it is theoretically possible (although unwise) to run multiple shards on the same server. To make a suitably geeky reference for Slashdot, Shards are sort of like parallel game world universes, only your character only exists in one of the universes not in all of them.
I read the internet for the articles.
This became popular when the first big MMO (Ultima Online) came onto the scene. In an intro movie of UO, you have some kind of evil wizard casting a spell to destroy the universe/take over the world (I don't remember exactly, it's been a while). Eventually the world gets.. encapsulated by some magic crystal ball that he had. Then came along the mysterious avatar to battle this villan, which during the course of the fight, the crystal ball falls over and shatters.
turns out that the destruction of the crystal ball did not destroy the world/universe/whatever, but instead ended up creating 'reflections' of the world identical to the original. So now all the broken shards of the crystal ball contain a variant of the original world, which brings the avatar to start a new quest: how to bring the shards back together. (it looks like the devs at UO never got to this part :-P)
You're trying to get me to say the name of that other Sandra Bullock computer movie.
Well, it ain't working, sparky.
Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
...most worlds are simply to small. Imagine all WoW servers merged. You couldn't even enter a city. The worlds would have to be designed much larger. Could be truely awesome but I guess they just end up as big bleak planes of boring nothingness. Switching servers should be made as easy as possible. Perhaps like FPS, your character is stored on a central server and you simply choose a server, connect and start playing with your friends.
There are a few items of note:
First, this George Dolbier says that MMOs and massively distributed financial systems share the same problems, and that the financial systems have gone a long way to address them. He says MMOs should adopt solutions applied to the finance sector.
The second thing to note is that he talks about predicting and reallocating server computing resources. He's from IBM, who hawks services and products in this very area.
It's not necessary to have DATARATE*NUMPLAYERS of information broadcast to every client which is the design of most multiplayer FPS games, but it's the easiest thing to do - having the server act relatively dumb and handling basic physics & movement control (basically just stopping the client from cheating, and implementing the rules of the game).
:)
If you take some basic principles, such as level of detail that you expect to see or not see:
* In a 1000 person match it's highly unlikely that it would be structured so that you could see all 1000 people at any one time. So the server only sends updates about stuff the client needs to see.
* It's highly unlikely that you'd need to have 60fps updates for people or objects that are bearly visible and very far away (hence, fogging or blurring far away objects). Maybe we cut this down to 320 bytes per second per person/object (16fps, 20 bytes of minimal movement info).
* The closer something is - the more granular the updates are, going upto maybe 10kb/s for clients & objects around you.
Sure this takes a lot of processing on the server side; calculating the visibility of every object before sending updates, but I think the payoff for doing it would be worth it.
Secondly - I have a 20mbit cable connection at home, and reguarly get 1.5-1.8mb/s downloads to servers in the same country, so the speeds you're talking about aren't too unrealistic - the technology and bandwidth is there but a lot of the time game developers just aren't using it.
You can apply the same principles to any message routing architecture (like stock markets, realtime weather, datacentre monitoring etc.) - providing average values or no information about targets or sources which are of no interest, and progressively more information about things that the client needs to know about or are most important (e.g. realtime graphing of the critical database servers, and less detailed information about everything else).
Couple this with p2p connections (e.g. the servers connect directly to you to provide realtime information) and it can scale very well
Just some food for thought,
Dr.
It all depends on the viewing distance. In today's most advanced games the viewing distance is measured in miles, or close. It would be very easy to expect that in a game with 9 million subscribers (if the game was on a single world server and not split up) that 1000 players within each others' views would happen at times. In WoW I think my max viewing distance to seeing other players is maybe 1000 yards. It certainly isn't a mile. But consider this: With WoW's technology (as supposedly advanced as it is) I have seen battles with 200 or so people all in each other's view. The zone ground to a halt and latency flew. Everyone lagged and the game became unplayable.
This is pretty bad, considering WoW is a game that everyone expected (probably unrealistically) to be able to deliver battles on the scale of all-out war, and not simple skirmishes that lag everyone to death. Of course, it was never meant to be. Perhaps in WoW 2.
I saw the same thing in Star Wars Galaxies. One time the server I was on scheduled a battle royale between the Imperials and the Rebels. We chose a desolate point on one of the planets as our battleground. We lined up, at about max viewing distance from each other. There were maybe 150 players amassed ready to battle. The battle started and pretty much everyone not on a beefy connection lagged hard. You could see people just running straight with no control over their characters, off into the distance, because they were so lagged. That was when I realized that MMOGs would be a long time coming before they could really deliver the promise of epic scale battles like I wanted.
I do not respond to cowards. Especially anonymous ones.
I know I'm moving off topic and replying to my own post but I'm reminded of a few years ago, I was back in San Diego at the home office, I was the Far East Technical Training Manager for the company and GL had just re-released "Empire Strikes Back". I was in the theater with a bunch of kids who weren't born when it was first released. The kid next to me was mouthing almost every scene and getting all excited at the key points in the movie. When Darth announces he is Luke's father, this kid almost splooged the entire aisle, and reacted as if it were the first time he had heard the line.
I know he's posting on /. around here somewhere.
Politics is the art of looking for trouble, finding it everywhere, diagnosing it incorrectly and applying the wrong fix.
I see this kind of thing pop up on a regular basis, and it always missed the point. This isn't a technology problem! Speaking as someone who's actually worked on multiple massively-multiplayer games, once you've got the server tech to support 10,000 people on a server cluster, there aren't a lot of technical obstacles to scaling that up to 8,000,000 people. Every part of the server cluster can be scaled out more or less infinitely if you apply the correct (and already well-known) engineering solutions. And money, of course.
It's actually a content production problem. If you're going to put 8,000,000 people into a single virtual world, you have to have places for them all to go and not be horribly overcrowded. Ideally you want all those places to be unique, interesting, and compelling to play. The fundamental problem is that we simply don't know how to create that much content. Hand-crafted content is far too slow and expensive to produce at that scale, and auto-generated content is repetitive and boring. Eve Online manages to hold 200,000 players in a single server cluster environment only because all of its environments are the same random-generated solar systems. Once you've seen four or five systems in Eve, you've seen them all. Fortunately Eve's strength doesn't rely on the environments, it relies on PVP action. WoW couldn't get away with that.
I've seen 1000 player battles in EvE-online, and it isn't pretty. The setting for EVE is in space, so that helps some, because it spreads everything out more and there's not really any terrain and such to worry about rendering, but it's still bad. My computer has a few good years behind it, so I have frame-rate issues with just a couple hundred ships on grid, but some people with better setups have said that their frame rate usually isn't bad.
The real problem that EVE has is the server. It just chokes on keeping track of all those ships, and then once shooting starts and it has to do calculations for all of that, and people are jumping in and whatnot, things are generally unstable and the whole game is liable to crash.
It's certainly not an easy problem, the servers have to not only keep track of where all those ships are and what they're doing, it also needs to send a bunch of that information to each and every other player in range. The amount of data that needs to move back and forth pretty much scales exponentially, so I'm not sure if the hardware can every really keep up with what we wish was possible.
One time I threw a brick at a duck.
But will Linux blend?