"Assassins Creed" 的开发者 Ubisoft 将 Helix 用于游戏开发
Helix Core 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 Core to store source code and digital assets, including graphics and animation files, modeling, textures, and sound and video footage.
6 年后 Ubisoft 为什么对 Helix 感到满意?
API 轻松性和灵活性
理想分支机制
Helix 代理服务器
Helix 已成为保存每个人工作的中心和关键工具。
我们的团队正在逐渐壮大。Helix 的速度、可靠性和可扩展性对 Ubisoft 至关重要,超过 1,000 个用户依赖它。”
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 Core 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 Core 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 Core 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 Core 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 Core Plug-in for Graphical Tools (P4GT) allows them to interact easily with Helix Core 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 Core 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 Core 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 Core. "The speed, reliability, and scalability of Helix Core are crucial to Ubisoft, with more than 1,000 users depending on it," said Beaufils. "Our teams are getting bigger and bigger and Helix Core 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 Core using the Helix Core API has led to great improvements in productivity."
Experience firsthand why Ubisoft trusts Helix Core for version control.