Wednesday, September 2, 2009

Architecting for Scale

The focus of this newly designed architecture seemed to focus on two key aspects of gaming across networks: make it playable, and make it buildable.

The author spends most of his time discussing the various and ingenious methods used to decrease the latency in the system, such as the use of the Data Store to store cross-task data and most of the other persistent facts as well. The most impressive part of the scheme though is the way the whole architecture is split to allow the easy addition of new servers and the automatic load balancing that takes place to move tasks to less utilized environments to maintain service speed and power. I remember hearing from friends who joined WoW early on about the horrible server issues that would plague the game and add so much lag as to make it almost unusable during peak hours. Though what really makes this load balancing scheme impressive is that it is built into the fundamentals of the system so that this is all hidden from the programming team.

Which leads to the second important part of this article: making the system easy for the company/group to create. Every year we see game after game being created for every system that use the Unreal, Source, Quake, or other engine. Many companies have recognized that it is typically faster and cheaper to simply acquire the tools for creating the underlying mechanics of your game and focus instead on the things that make your game unique, which, much like DNA, is overall a small percentage.

Also, embarrassingly? "You keep using that word. I do not think it means what you think it means."

No comments:

Post a Comment