Community Resources: Things that are going on in the guilds, current contests and events, ect… will be put here.

Guild Wars: A Brief History & Infrastructure

 

logoanet01Guild Wars was created by three friends named Mike O’Brien, Patrick Wyatt and Jeff Strain. All three were on the development teams for Warcraft, Diablo, Starcraft, World of Warcraft and Battle.net at Blizzard Entertainment. Unhappy with Blizzards restrictions to developer creativity or innovation the three decided to form their own gaming company called ArenaNet. Founded in 2000 Anet started to develop Guild Wars an MMORPG that caught the gaming industries attention with it’s business model of subscription-free and streaming updates. Most games within the genre cost the player ten to twenty dollars a month to continue playing on the servers and required the player to download patches sometimes gigabytes in size. In 2002 during Guild Wars Alpha tests Anet was acquired by NCsoft, a Korean publishing company. With financial backing from NCsoft, ArenaNet was now in full production to produce it’s first game.

Guild Wars: Prophecies was released in 2005 it merged MMORPG and RPG genres of game play together, the developers called this CORPG (Competitive Online Role-Playing Game). It minimized the repetitive actions a player has to perform and stopped a dependency on game items to be competitive or respectable in the community. To access the game player’s use an account based system by using their email address and access keys which come with purchasing the products. When in game players use a 3D avatar to interact with the world around them. The game predominantly features a third person perspective but also has the option of first person as well. These characters are able to walk/run and interact with other characters through chat. They can also perform actions, and interact with special objects. The environment within the game is made up of instanced explorable areas making the the world of Guild Wars your own. You meet other players in persistent towns where you talk, trade or group up to enter the instanced areas together. Towns have instanced zones called Districts that allow up to 150 people in at one time. When a district is a full another opens up, they are numbered from one to infinity. A player can change districts at any time as long as the selected one isn’t full.
There are currently three other games that expand the world of Guild Wars, Factions, Nightfall and Eye of the North. Giving the game 19 regions to explore, 18 multi-level dungeons, 10 unique professions, over 1250 Skills, Multiple cooperative and competitive game play modes, continual Online tournaments and all with no monthly fee.

Guild Wars runs on the infrastructure of Software as a Service (SaaS). The servers can support hundreds of thousands of users at once, while managing a gig of fat client even over dial up speeds of 56k. The client/ execute program on the users side does not do much expect for graphical presentation and input preparation. This includes encryption, a deliberate security choice. By limiting the clients power to sending small number of well defined packets, it makes the game virtually hacker free. Instead of having major updates once every couple of months to fix problems like most MMO’s. ArenaNet uses rapid update technology to make changes on demand and close exploits in the system. The network communicates with the Gw.exe program and streams updates to a Gw.dat file. It is a compressed archive file that contains all data that is required to run Guild Wars. Apart from game data like graphics, sounds or texts that is streamed and saved from the servers when needed, the Gw.dat contains the few user options that are stored on the local machine including video settings and the saved account name. This allows data to be downloaded in the background while still playing the game. The servers Anet runs are IBM’s with 2.8GHz dual processor’s, 2.5GBs of RAM and run on 32 bit Microsoft Windows. There are a number of different categories in which servers are dedicated to. These categories are Authorization, Game Updates, Game Play, Database Cache, Database Management System (DBMS), Guild Membership, Tournaments and Watchdogs that monitor the other servers. Game play servers can support 2500-3500 users each with character records being tens of kilobytes large. This is what allows for connecting at very low speeds of just kilobytes allowing dial up users to still enjoy the game.
Anet have data centers/ server farms all over the world in Europe, America, Japan and Taiwan. This is to help prevent latency by having the closest data center connect to the client. The data centers will communicate with each other and try to figure out the best place to host the game and character data. All work is done in a confederated manner and presented as one big massive server. Reliability is not just a nice thing for users, but an actual game integrity concern. There are possible exploits in MMORPG’s that involve deliberately crashing a server when a item trade transaction is partway through. ArenaNet fights this both by focusing on transaction integrity and by generally trying to make their database cache servers extremely reliable.

The database servers run Microsoft Structured Query Language (SQL) Enterprise Edition. SQL is a programming language for querying and modifying data. They will run 1500-2500 transactions per second all day long. In some MMORPG’s, inventory is handled in the obvious way each item has an associated record. Guild Wars does things differently, everything about a character is one big Binary Large Object (BLOB), typically 10K-30K in size. A BLOB is a binary data stored as a single file in a database management system. One component is the whole game map or at least a record of which pixels the character has opened up. More precisely, there’s a character BLOB and an account BLOB. Game characters acquire loot by killing monsters or opening chests when they pick up the item there are inventory transaction, these are commonly one sided. There is no notion of matching a deletion from stock against consumption in manufacture or anything like that. Players also buy and sell at NPC merchants and trade with other characters. One character carries around 60 different items, each of which is a combination of several tokens or attributes chosen from a list. There are temporary changes to the game world as characters explore areas. These need to be maintained as state while the character is Online and in the specific area. There are a variety of secondary systems with ordinary transactions that need to be stored such as guild rosters and tournament standings. BLOB’s are updated as the game progresses, then saved every few minutes. Between the game server and the database back ends, there are custom cache servers.
The game servers send messages about various kinds of structured game object transactions to the cache servers, the cache servers then bang updated BLOB’s into the database. These cache servers are extremely stable, staying up 150-200+ days at a time.

ArenaNet as created an in game engine and server network from scratch, that is creative and innovated. Allowing for minimal bandwidth usage, while efficiently building a low latency service and building an economically sound business. Customers can play their game as little or as much as they want. Without the feeling of wasting money by paying a monthly fee. This business model of subscription free as paid off with more than 5 million units sold of Guild Wars.

Update: Beta Version 4.1 Disclaimer of some AMD-ICBM site content: Any associated logos, images, text, audio, video, and design trademarks or registered trademarks are the property of their respective owners. Which will be respected. © 2012 AMD-ICBM
All Rights Reserved. 2007-2012 Assured Mutual Destruction.