ArenaNet Chose Helix VCS to Manage and Store Virtually All of the Assets in "Guild Wars."

Perforce ensures that all assets are reproducible and traceable. Users can revisit and reproduce any past version of the software or asset under Helix Versioning Engine's control, and use any version as the baseline for patches or new development.
 

Why AreaNet Chose Helix to Manage Their Assets

icon-benefits-desktop-experience

Helix works for both programmers and artists

Resolve file conflicts quickly and easily

Develop in separate branches without losing track

Dozens of ArenaNet employees use these Helix features on a daily basis to improve their productivity, reliability, and communication.

Even with Guild Wars' huge database of art and code, users are able to synchronize their local files with the Helix database in a very short amount of time.

 

Development Environment at a Glance

Company name: ArenaNet

Headquarters: Bellevue, Washington

Industry: Game development

Perforce customer since: 2001

Number of Helix users: 91

Connectivity environment: TCP/IP internal LAN

Number of development sites: 1

Number of files: 54,000+

Number of changes: 137,000+

Number of administrators: 4

Client platform: Intel

Main server: Intel

Other servers: Build server, file servers, numerous Guild Wars game servers

 

ArenaNet was established in 2000 by three key members of the Blizzard Entertainment development team. ArenaNet's mission is to create a state-of-the-art, interactive game network, and to design and publish premier multiplayer online games for dedicated game players.

In December 2002, ArenaNet was acquired by NCsoft Corp., the world's largest online game company.

ArenaNet's first title, "Guild Wars," was released on April 28, 2005 and became an instant number-one seller around the globe. More than one million copies have been sold, and the numbers continue to increase. "Guild Wars" is a competitive online role-playing game that rewards player skill more than time played. Players explore a rich fantasy game world, acquire skills, build personalized characters, and compete in head-to-head guild battles with players from around the world.

ArenaNet followed up with a new campaign, "Guild Wars Factions," which was released in Spring 2006.

 

Development Challenge

Guild Wars was developed over the course of five years. Because of the extraordinarily large size of the project — millions of lines of code, hundreds of design documents, and thousands of individual art assets — the key challenge to ensuring a smooth development process was to keep track of each file's complete change history.

 

The Solution: Helix VCS Provides Complete and Fast Asset Management

ArenaNet chose Helix VCS to manage and store virtually every one of Guild Wars' assets.

Perforce ensures that all assets are reproducible and traceable. Users can revisit and reproduce any past version of the software or asset under Helix Versioning Engine's control, and use any version as the baseline for patches or new development.

"When a problem arises with a given file," said Vickers, "we use Helix to trace file histories and find out who to contact in order to correct the problem."

Developers can also easily call up old versions of a file or compare two revisions of a single file.

"Dozens of ArenaNet employees use these Helix features on a daily basis to improve their productivity, reliability, and communication," said Vickers. "Even with Guild Wars' huge database of art and code, users are able to synchronize their local files with the Helix database in a very short amount of time."

 

Helix Appeals to Both Programmers and Artists

Helix provides a number of client interfaces, two of which are widely used across the Guild Wars team. Programmers heavily use the command-line interface for everyday tasks such as editing files and submitting changelists, as well as for more esoteric tasks such as batch automating complex processes. Artists and designers, on the other hand, tend to use the P4Win graphical user interface for most Helix tasks.

The team also relies on a proprietary "build server" that generates new versions of Guild Wars executables and DLLs for both the client and servers. The build server uses the Helix command-line interface (P4) to manage tasks such as checking out the current code and art, labeling new builds, and checking in code that's modified during the build process.

 

The Guild Wars Team Relies on Helix Versioning Engine's Powerful Parallel Development

"Parallel development is essential to the effectiveness of our development team," Vickers said. "This is especially true for our programmers, who are often working on different sections of the same files."

When file conflicts arise, Helix provides the necessary tools to resolve them quickly and easily.

 

The Helix Branching Model Makes Multiple Releases and Multileveled Development Lines Traceable

The development team also makes heavy use of the branching and integration features in Helix. At any one time, there can be several active code and art branches: one for development, one for the current version of Guild Wars that's running live, and another for testing changes that are about to go live.

"Helix has made it possible for us to develop in separate branches without losing track of the full change history of each file," explained Vickers. "It has also allowed us to seamlessly integrate changes from one branch — for example, the testing branch — into another, such as the live branch."

Helix Versioning Engine's change-oriented model, complete with atomic change transactions, ensures that the overall history of the source code moves forward in a traceable, understandable process.

"Helix plays an instrumental role in the release and ongoing development of Guild Wars," Vickers concluded. "Helix is a great product, and our entire programming team, many of whom are SourceSafe refugees, is as enamored with Helix as one can possibly be about version control software."