The technology of Guild Wars (overview)
Being an analyst has its perks, the main one being that you get to have some really interesting conversations. And so I recently had the chance to interview Mike O’Brien and Pat Wyatt, two of the founders and lead programmers for ArenaNet, makers of the Guild Wars MMORPG (Massively MultiPlayer Online Role-Playing Game).
If you play games of this sort, it’s surely obvious to you why you should care. But if you don’t, maybe you should be interested anyway. After all, Guild Wars is a graphics-intensive SaaS offering that easily supports 100,000 simultaneous users, while managing a gig or so of fat client even over dial-up speeds. Every user is a potential hacker, whether for fun or actual real-world cash profit, although we didn’t actually talk about security very much. And ArenaNet provides all this on a relatively shoestring budget; in particular, Guild Wars subscription fees are precisely $0.
Note: If you’re familiar with video RPGs but not MMORPGs, please just read on; the main salient difference is that in an MMORPG lots of people play at once. If you’re familiar with other MMORPGs but not Guild Wars, there’s one GW-specific design feature you should know of – Guild Wars is instanced. That is, a group of 1-24 players will get their own private copy of the game world. Any changes to the environment (e.g. player movement, monster-killing) are made only by them.
And if you’re not familiar with video RPGs at all, I suggest you stop working quite so hard and go play. 😉
Here are some of the technical highlights I managed to glean in a brief half-hour conversation:
-
The client doesn’t do much except graphical presentation and input preparation (including encryption). This is a deliberate security choice. They assume the game client is infinitely hackable, and hence limit its power to sending a small number of well-defined messages.
-
Their servers run on blades – originally all IBM, now more varied. Generally these are 2.8 gigahertz dual-processor Xeon IBM blades with 2.5 gigs of RAM.
-
There are a number of different categories of servers. These include: Authorization/log-in, game update download, actual gameplay, database cache, DBMS, several secondary game functions (e.g. guild membership, tournaments), and watchdogs overseeing the rest.
-
Gameplay servers can support 2500-3500 users each, with the main limitation being addressable memory. (They run on 32-bit Microsoft Windows.) 3500 users is a bit uncomfortable. This matches well against the fact that character records are several 10s of kilobytes, for reasons I explain in this companion post on Guild Wars data management.
-
There are 4 ½ million total lines of code.
-
Their connectivity design goal is .0045 megabits/sec/user, and they’re close to achieving it. Dial-up is a fairly realistic way to play. (That said, as a player I can tell you it creates some lags that make a dial-up user less than idea to be partnered with.)
-
Reliability is not just a nice thing for users, but an actual game integrity concern. There are possible exploits in MMORPGs that involve deliberately crashing a server when a goods-trade transaction is partway through. ArenaNet fights this both by focusing on transaction integrity (but not in the way you may think; I refer you again to the database-focused companion post) and by generally trying to make their database cache servers extremely reliable. Database cache servers typically stay up 150-200+ days at a time.
*Note: There is a high level of motivation for cheating in MMORPGs. One of the biggest is that professionals in low-wage but well-wired countries acquire fictional gold, so that they can sell it for real money. Gold sellers are a huge concern to ArenaNet.
That’s just some of what I heard. For more on the technology of Guild Wars, please see my companion post on the database technology of Guild Wars and Guild Wars game notes. This interview is also just one of several I plan with game and virtual world companies, so I hope to in the future address other kinds of issues, such as rules and AI.
Comments
6 Responses to “The technology of Guild Wars (overview)”
Leave a Reply
[…] I had the opportunity to interview Mike O’Brien and Pat Wyatt, founders and lead developers for ArenaNet, makers of Guild Wars. This led two lengthy posts on the technology of Guild Wars (overview) and the database technology of Guild Wars. Those were really, as the titles suggest, tech-focused. This post, by way of contrast, is just to share interesting game-related tidbits with fellow Guild Wars players. I came away with three key notes: […]
[…] Some technical facts about Guild Wars from these three articles: […]
[…] I have the enviable task of researching online game and virtual world technology for an upcoming Network World column. My first interview, quite naturally, was with the lead developers of a game I actually play – Guild Wars. The overview is in another post; that may provide context for this one, which focuses on the database technology. (I also did a short post just on the implications for Guild Wars players.) It also has a brief description of what Guild Wars is – namely, a MMORPG (Massively MultiPlayer Role-Playing Game) with the unusual feature that most of the game world is instanced rather than utterly shared. […]
[…] I’ve just started a research project on the IT-like technology of games and virtual worlds, especially MMORPGs. My three recent posts on Guild Wars attracted considerable attention in GW’s community, and elicited some interesting commentary, especially for the revelation of Guild Wars’ very simple database architecture. Specifically, pretty much all character information is banged into a BLOB or two, and stored as a string of tokens, with little of the record-level detail one might expect. By way of contrast, Everquest is run on Oracle (and being transitioned to EnterpriseDB), at least one console-based game maker uses StreamBase, and so on. […]
[…] Guild Wars very rarely goes down, and other technical difficulties are less common as well. Reliability is key design goal at for Guild Wars’ developers, and in my opinion they’ve achieved […]
judi online terbaik
The technology of Guild Wars (overview) : The Monash Report