MMO vs. mMO

There has been a lot of debate recently regarding Blizzard’s announcement to regulate participation in Wintergrasp. I can’t say I’m much of a PvP’er, per say, but it’s still noteworthy enough to chime in on the subject.

Massively Multiplayer Online

Obviously one of the main draws for any MMO is the ability to make its players feel a part of something larger than themselves. To live, breath and exist in a vibrant, dynamic (virtual) world has much appeal to it. Being able to adventure with your friends, wander through fully populated cities, and participate it epic battles knowing that every character you see is another human being who is reacting, just as you are to, the situation can be truly exhilarating. There have been countless studies and writings on the subject, so I won’t bore you (any more at least) with my pedestrian point of view on the matter, but it seems Blizzard has again evoked the heated debate on what actually defines massively in an MMO.

miniature Multiplayer Online

If I had to put a number on the total number of people I could interact with in a single online situation before dubbing it ‘massive’, I would probably say 1000 players. This is quite miniature compared to what some other people would define the number to be.

It has been interesting to read about requests for battles of 10,000 players or more, and that unless an MMO can deliver that, it only qualifies as an mMO.

Clearly a healthy player base is needed to sustain a truly dynamic environment, but what is the limit? I’ve always been drawn towards systems like EVE Online that have a single, seamless world server architecture, as compared to World of Warcraft’s ‘shard’ model. Yet considering the size of Azeroth it would be an understatement to say it would be a bit crowded if all 11 million subscribers co-existed in unison.

The Point

Forgive the rambling, I’ll get to it. In theory, being a part of single situation where 9,999+ other players are all interacting directly at once truly would be massive (and bring any current client/server architecture to its knees) yet I believe the player would get the same experience interacting with a much smaller number. After all, you can only fit so many orcs on a screen at once.

“But that’s not the point! An MMO should be designed and architected to handle as many people as humanly possible. And at the same time even!”

Let’s come back to Planet Earth for a second. Data, Bandwidth, Packets and Protocols aside, a fully extensible system with an infinite number of participants just isn’t possible with current technology or infrastructure. (for the next decade at least)

Now I know we’re only talking about 200 vs. 200 Wintergrasp Battles here (as opposed to what, 300 vs. 300 that was typical on a ‘heavy’ night?), and I may be over simplifying the issue, but I think ultimately Blizzard is doing the right thing. Sure people will say Blizzard is ‘giving up’, but I hardly believe they are just throwing up their arms. They tried something truly ‘massive’ (kudos to them) and ultimately had to decide between their users’ experiences and a mere numbers game. Clearly they choose correctly. The choice between a game that supports 200 vs. 200 “miniature” battles within an amazingly detailed and dynamic (destructive) environment and one that supports 10,000 vs. 10,000 “epic” wars of stick figures in a devoid box, is an easy one to make.

Rambling continued

I believe there is more to an MMO than the ego inflating spec of how many people are supported in a single encounter. I’ve been reading alot lately about EVE Online’s ‘Great War’. The magnitude of which has never been seen before in any MMO. The mere fact that such a great event existed, with all it’s twisting plots lines, politics and drama, oh and a few epic space battles here and there, should be a testament to how far our virtual worlds have come. So what if there were only 200 vs. 200 ships flying around at a single point in time and space? I bet if you ask some of the pilots involved in this ‘Great War’ that they’d tell you how exhilarating it was, in all respects.

Conclusion (optional)

So in closing I figured I pose a question. Now I know there are far more intelligent people at work in the industry (and at Blizzard) that have already tackled this problem in length than I, but what the heck. We have some pretty intelligent guys and gals here too that wouldn’t mind chiming in. What are some of the ways you would implement or architect a solution that would enable such truly massive encounters? I’ll start off…shoot holes where you see fit. Constructive criticism is always welcome let’s just keep our eyes on the end goal.

  • In structured encounters, where people don’t come and go freely, caching all user gear and appearance before hand would alleviate some packet data.
  • Using UDP (fire and forget) messaging to transmit non-critical data to clients (i.e. – movement, animation, etc.)
  • Distances between players dictates frequency of information. If player A is 500 yards away from player B, they don’t need to know much information about them other than they are moving in direction X and speed Y. Next update is in 5 seconds or when the distance between them is less than 250 yards, etc.
  • Distances are calculated based on a global player positioning system, not between players
  • Data type prioritization. As the packet size increases, information gets pushed off. Possibly queued up for later delivery or discarded completely.
  • Fast data encoding/decoding algorithms used to package data. More data stuffed in infrequent packets or smaller packets send faster and more frequently.
  • Queued engagement system. This one is a stretch, but something like a quasi-turn based system. Like a global, global cool down that affects all players. You’re able to queue up movement and abilities, of which the top 10 will execute every 5 seconds or so. Lots of server number crunching but possibly less ‘chatter’.

Those are just off the top of my head. Again, nothing great but at least a topic for discussion.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: