Ubisoft, Developers of "Assassins Creed," Incorporate Helix in Their Game Development

Helix has been the main source control tool at Ubisoft for more than six years, used by both programmers and artists on most game projects. In the Montreal studio, more than 1,200 developers use Helix to store source code and digital assets, including graphics and animation files, modeling, textures, and sound and video footage.
 

Why Is Ubisoft So Happy with Helix after 6 Years?

benefits-flexibility

API ease and flexibility

Ideal branching mechanism

benefits-easeofuse

Efficiency of Helix Proxy Server

Our teams are getting bigger and bigger, and Helix has become the central and critical tool to store everybody's work.

The speed, reliability, and scalability of Helix are crucial to Ubisoft, with more than 1,000 users depending on it."

 

Development Environment at a Glance

  • Company name: Ubisoft
  • Headquarters: Paris, France
  • Industry: Game development, including development of game, PC, and portable consoles
  • Perforce customer since: 2001
  • Number of Helix users: More than 2,000 (1,210 in Montreal)
  • Connectivity environment: Multi-gigabit links
  • Number of development sites: One in Montreal (Quebec) Canada. Other sites worldwide include Paris and Montpelier, France; and Shanghai, China
  • Number of files: 5TB (24,070,195 files)
  • Number of changes: 166,642,479 revisions (337GB of metadata)
  • Number of administrators: Two
  • Client platforms: Windows
  • Main server: Three in Montreal: one IBM x3655 and two Compaq/HP DL580

Ubisoft is a leading producer, publisher, and distributor of interactive entertainment products worldwide. With more than 1,000 titles, its games are distributed in more than 50 countries. The company's 15 in-house production studios are located in 11 countries. 

Ubisoft's Montreal studio employs 1,600 staff members and Ubisoft plans to grow that number to more than 3,000 people by 2013. This will make the Montreal studio one of the world's largest creative powerhouses and the driving force behind the conception and development of console and PC video games. Brands include Prince of Persia®, Assassin's Creed™, Rayman®, Tom Clancy's Splinter Cell®, and Tom Clancy's Rainbow Six®.

 

Development Challenge

From the start, Ubisoft decided to retain all creative and game development in house. Today, 20 years later, the company credits this strategic decision for much of the company's success and the ability to transition easily to next-generation consoles.

At Ubisoft the development of each game is run as a separate company with its own team. Teams range in size from 15 to more than 150 developers, depending on the size of the game and its stage of development. Each team is responsible for its tools and engine and has its own Helix server.

Ubisoft's aim is to share the tools and game engines so they support a range of game platforms and minimize the platform-specific changes needed in the final versions of production data. As of May 2007, these platforms included Xbox 360, PlayStation 3, Nintendo Wii, portable consoles including PSP, Game Boy Advance, and Nintendo DS, and the PC.

One of the main development challenges facing Ubisoft is to improve the sharing of tools between the development teams and to improve productivity with new tools and processes.

 

The Solution: Source Control at Ubisoft

Helix has been the main source control tool at Ubisoft for more than six years, used by both programmers and artists on most game projects. In the Montreal studio, more than 1,200 developers use Helix to store source code and digital assets, including graphics and animation files, modeling, textures, and sound and video footage.

Artists and modelers use the Helix Visual Client (P4V) and its associated graphical tools to track even the smallest of changes submitted each day. The Helix Plug-in for Graphical Tools (P4GT) allows them to interact easily with Helix from within Photoshop and 3ds Max.

"The easy and flexible APIs in Perl, C#, and C++ have enabled us to integrate source-control functionality in most of our in-house tools, simplifying the workflow of our artists and modelers," said Beaufils.

By using Helix changelists to group code changes in logical units before they are submitted, programmers can easily select what they want to work on and can switch between separate tasks more readily. "Perforce changelists are very much appreciated, as they enable programmers to organize their work as they see fit.

Also, the Helix branching mechanism is ideal for sharing the same code across different target game platforms," said Beaufils. Ubisoft is integrating the Helix Reporting System (P4Report) feature in its production workflow to simplify the creation of reports on digital assets and code using SQL queries. "P4Report has enabled me to connect our production database with Perforce easily to create detailed reports on the work being done," added Beaufils.

To speed up development, Ubisoft teams take advantage of the Perforce Proxy (P4P), which gives developers a cache of files they use most often and enables more users to work against the central Perforce server.

P4P also improves distributed development. Remote studios can easily access the same code and other digital assets held on the various Perforce servers, and each change is visibly implemented across all of Ubisoft's projects.

"Perforce requires less administration than its predecessor, VSS, with only one dedicated administrator for our 1,200 users," Beaufils added. "Perforce is easy to back up and is more stable than VSS. It is also easy to scale compared to other tools."

 

Conclusion

As Ubisoft grows, more developers will migrate to Helix. "The speed, reliability, and scalability of Helix are crucial to Ubisoft, with more than 1,000 users depending on it," said Beaufils. "Our teams are getting bigger and bigger and Helix has become the central and critical tool to store everybody's work."

With many in-house tools being developed, Ubisoft needed a flexible API to interact with source control. Beaufils summarized, "The tight integration of our tools with Helix using the Helix API has led to great improvements in productivity."