Previously on Smile Week I’ve talked about how MMOs are changing mobile gaming, how the developers are more open with the community and how much work they put into art, music and worldbuilding. Today I’m going to talk about something a little closer to my heart: the nuts and bolts of an MMO and how incredible it all is.
I’ve talked about MMO design a couple of times in the past. Earlier this month I examined the various components that slotted together to make a great MMO, while back in July last year I examined the design of Warcraft realm clusters and how they’ve evolved over time. Today I’m pushing the view out even further to look at the building blocks for a complete online gaming platform.
Before I do this though, I want you to think about your own gaming experiences. You’re playing your favourite MMO and you’re knee deep in raidsville. The boss is pounding away on one of the tanks the healers are struggling to keep everyone up and the damage dealers are pounding their buttons like nutcases. You press an instant cast hotkey and the ability immediately fires. Barely a moment has passed and the ability has registered. The tank stays up, the healer stays calm and the deeps keep deeping. It’s the kind of thing you only notice when it goes wrong.
Now what if I told you that all this was only a part of all the systems that make up an MMO. Surprised? Let me show you just how many bits and boxes go into delivering our gaming experience.
The Longest Journey
I tried to think of the best way of showing all this stuff. I thought of using sequences of diagrams or bullet pointed lists, but I’d probably end up with this huge map that I’d need to explain anyway. In the end I decided to take you on a journey – one you’re already familiar with – about getting into a new MMO.
A new MMO comes out and you’re eager to play it. You don’t bother signing up to buy it off the shelf at your local games shop, instead registering as a new player on their website and creating an account. The registration, access and authentication system is the first part – making sure your account is kept secure, but that you also get access to everything you need to play the game.
Most MMOs come with a free trial period, so you’ll probably then want to download the game client. To avoid slowing up your realm servers or the game’s website a client repository and content delivery network is used to send you the game files from a location near to you.
Once the game is downloaded and patched it’s time to log in. From there we have the traditional realm servers, instance servers and character databases we all know and love. This is where the server-side parts of the game reside.
If the game is any good then you’ll want to subscribe. For that you’ll need a billing system so that you can make regular payments and keep access to your characters. There might also be one-off services you can buy, such as character renames and realm transfers. There might even be an online shop where you can buy game-related merchandise, in-game items and so on.
If you get a problem with the game you might want to contact customer service, either by raising an in-game petition or an online ticket. You might even phone them up. The customer care people use a ticketing and player relationship management system to make sure tickets get responded to and resolved quickly and fairly.
You probably want to chat to other players about the game, learn tips from others and find guilds and so on. Community tools such as forums are the cornerstone for this, but it also helps if developers and community managers provide a constant stream of news via a content management system.
There’s been a lot of talk recently about opening up online games so that other websites can mine the data. A web applications server usually takes care of all incoming connections (both internal and external) to make sure no single service swallows up all the available resources. This facility also allows mobile and desktop apps to communicate with internal systems.
Finally, wrapping it all up is the network performance measurement system, making sure all the various servers are running and aren’t overloaded. There’s also a network security monitoring platform that’s analysing access to all systems and flagging anything up that looks unusual.
The scary thing is that this isn’t even an exhaustive list. There’s probably other services and systems that play a crucial role that I haven’t even mentioned – backup systems for one!
Ghosts In The Machine
Keeping all of this running needs a skilled team of people. The technicians and maintenance crews that keep everything running smootly. The teams of people that handle changes, upgrades and hotfixes without interrupting our gametime or keeping it to a small weekly window. The designers and architects that plan out new systems and new services to enrich our gaming. The number of people involved is probably larger than you think.
When you think about an MMO you probably think of the game designer, artist, composer or loresmith. You might think of some of the senior software engineers or producers. You’re probably unaware of the legion of people that seldom get a mention but play a huge role in keeping our games running.
The scale of these things are huge -millions of players, all using one set of systems for their game. Some developers are scaling up even further, with Sony Online Entertainment, Funcom, NCSoft and Blizzard all using the same systems for a whole range of online worlds, all of them powered by a core set of non-game systems. The only organisations that do this kind of thing to a similar size are telecommunications companies.
It’s a subject that’s close to my heart – I do a similar job as a designer and architect of complex systems like these (although not in MMOs), and I’m keen to say thanks to my peers in the videogame industry. Besides, just knowing what’s involved every time I log in and go raiding is nothing short of amazing. And that makes me smile.
Nice post… it is indeed impressive how much technology and expertise is behind Azeroth. This is also a must read article for those saying that Blizzard is swimming in $$s because of WoW. Sure, they are making a lot of money (especially from subscriptions, something other games don’t have), no doubt about it… but the upkeep cost of a MMO is also way bigger.
Aye, it’s why techniques such as virtualisation have been crucial in keeping their costs down. That said, hiring out space in a data centre is probably the most cost effective way of doing this.