Dozens of ArenaNet employees use these [P4] 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 [P4] database in a very short amount of time.
Perforce ensures that all assets are reproducible and traceable. Users can revisit and reproduce any past version of the software or asset under Perforce P4 Versioning Engine's control, and use any version as the baseline for patches or new development.
Back to top
Why AreaNet Chose P4 to Manage Their Assets
- P4 works for both programmers and artists
- Resolve file conflicts quickly and easily
- Develop in separate branches without losing track
Back to top
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.
Back to top
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.
Back to top
The Solution: Perforce P4 Provides Complete and Fast Asset Management
ArenaNet chose P4 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 P4 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 [P4] 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 [P4] 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 [P4] database in a very short amount of time."
Back to top
P4 Appeals to Both Programmers and Artists
P4 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 P4 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 P4 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.
Back to top
The Guild Wars Team Relies on P4 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, P4 provides the necessary tools to resolve them quickly and easily.
Back to top
The P4 Branching Model Makes Multiple Releases and Multileveled Development Lines Traceable
The development team also makes heavy use of the branching and integration features in P4. 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.
"[P4] 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."
P4 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.
"[P4] plays an instrumental role in the release and ongoing development of Guild Wars," Vickers concluded. "[P4] is a great product, and our entire programming team, many of whom are SourceSafe refugees, is as enamored with [P4] as one can possibly be about version control software."
Experience first-hand how P4 helps teams to deliver their vision. Try P4 — with all the extras — for free. No limits on features and functionality, and no end date.