ArenaNet 选择 Helix VCS 来管理并以虚拟方式存储 "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.

AreaNet 为什么选择 Helix 来管理他们的资产


Helix 同时面向编程员和艺术家



数十名 ArenaNet 员工每天使用这些 Helix 功能来提高工作效率、可靠性和沟通。

即使在使用 Guild Wars 庞大的艺术和代码数据库时,用户也能在极短的时间内将本地文件与 Helix 数据库同步。

Development Environment at a Glance

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 Core 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."

Experience first-hand how Helix Core helps teams to deliver their vision. Try Helix Core — with all the extras — for free. No limits on features and functionality, and no end date.

Get Free Tools