Local or central servers?

There is a bit of a debate now as to the necessity of local servers versus centralized ones. Now some of us will likely say ‘what is the big deal?’. What is so special about having servers that are close to the players as opposed to a central server located wherever the game developer is based?

Most of us have likely played online games of some kind. Whether they are First Person Shooters like Call of Duty and Medal of Honor, top down shooters like Alien Breed: Impact, or Massively Multiplayer Role Playing Games like EVE, World of Warcraft and The Old Republic is going to be. We have all encountered problems with transmission lag I bet. You know, when you have set up that sweet sniper shot from a long ways away, and then your character freezes just long enough for the other player to see you and shoot you. It’s annoying as hell. Or even better, when you are playing a MMORPG and you lag in the middle of a battle and your team is wiped out because you were the healer. You get a lot of irate comments.

What actually happens in online games is not very well understood by some people it seems. They seem to think that either the full game is on their system or it is some kind of magic. The actual game is NOT on your computer. There is no way most personal computers would have any chance of holding even a fraction of what is needed for a game such as WoW. What happens is that your computer, called a client, sends information through the internet to a main computer, called the host server. The host server sees what you ordered your character to do. Anything from ‘move here’ to ‘hit that orc’ to ‘heal that person! NOW’, all of these are sent from your home system to the main system. The main system recognizes that data, changes what will be represented on your screen, and sends THAT data back to the client. The systems communicate this way every second or so. The communication and changes on the screen normally takes just a few microseconds, a time frame that most humans are incapable of recognising when it is shown on a computer screen. But sometimes, well, the internet gets quirky, the transmission feeds get crossed, or Murphy rears his ugly head and it takes longer. I remember in Star Wars Galaxies how my character would get hit and run almost all the way back to a city before dying from that one hit. That was the most extreme case I remember. I was 900(!) meters from the guy when he killed me. That was one heck of a shot.

The idea of localised servers is a good one. This puts the main server closer to the players, thus minimising transmission time for information between the host server and clients. But as in all things, there is no free lunch. Servers are not cheap. And good servers are seriously expensive. So if a game company is going to want to set up localised servers for multiple different areas, say one in Europe, one in the States, one in Australia or somewhere in Asia, they need to include that in the price. Most players that I know wouldn’t mind. The ease of play more than makes up for any additional cost. They will need to charge more because they are duplicating the main server in multiple places and that costs a lot.

A centralised server on the other hand, is just what it says. The server is located in one place, usually very close to the game developer’s offices. This allows for ease of service and upgrading, usually anyway. When you have multiple servers scattered across multiple time zones, using multiple languages, you cannot always use the same patches for all of them. With a centralized server, all you need to do is keep the clients updated. Now, you CAN do that with localised servers, but it will cost a lot more. Staff costs, maintenance costs, the list goes on and on. Centralised servers are more cost effective, but have a higher incidence of transmission lag for players.

In the end, it boils down to mainly two things. Cost and player satisfaction. Centralised servers are more cost effective, generally. They are easier to maintain and upgrade. Localised servers are easier to play from, usually anyway. So the players will enjoy the game and tell their friends about the game, and then they will hopefully buy the game.

I could go into all kinds of horror stories about various companies trying different means to skirt the edges of the need for local servers. *Cough* Ubisoft! *Cough* But the need is there. Especially with such huge games as The Old Republic is going to be, to have most of the data required not on the customer’s system. The voice over files alone are going to be massive. Personally, I think that localised servers are the way to go. Keep your players happy and you do more business. If they do not enjoy the game because they can’t even move their in game avatar for the transmission lag, then they will not play it. It is as simple as that. And I can’t see Bioware being that dumb.

What do you think? Local or central servers?

Image from http://yumurtaci.wordpress.com/2008/08/07/photostock-computer-server-2-piece/