We had major speed issues with Mercurial,and therefore we decided to try Helix. The difference was night and day. Our submits went from half an hour to under a minute, saving approximately two person-hours per day. Suffice it to say, we switched immediately.
Camouflaj's problem? Their former tool couldn't keep up. Why? The art directory alone is over 100GB, a large part of its repository consists of binary files, animation files are 100MB on average, and up to 20 percent of the team works remotely.
Back to top
Immediate Business Impact
Faster submits
- An estimated savings of more than two person-hours per day, or 12,000 person-hours per year
File locking
- Prevents major productivity losses that could occur if team members work on the wrong version of an asset
Increased visibility
- Team members have insight into who is working on which assets, allowing them to work more efficiently
Profile
Camouflaj's team of 25 that includes artists, designers, developers, and production personnel working on République needed to find a better solution to collaborate on artifacts that include code, art, and Unity game engine assets. The problem? The art directory alone is over 100GB, a large part of its repository consists of binary files, animation files are 100MB on average (and can get up to 1GB), and up to 20 percent of the team works remotely at any given time. The tool they were using simply couldn't keep up.
Back to topCore Pain Points
Before Perforce P4, Camouflaj’s version control system, Mercurial, was slowing down the development pipeline:
- Mercurial’s peer-to-peer architecture caused collisions between users, even when those users were submitting different files. Users might be required to resubmit files that they had not worked on
- The system would slow down drastically when handling binary files. At times, users would have to submit multiple times
- Merging was difficult to complete
Back to top“Initially we thought that not having a central server would create a better workflow,” says Ryan Fedje, Senior Game Designer at Camouflaj. “However, the result was that it could take half an hour to get a change submitted at the end of the day.”
Why P4?
Camouflaj briefly evaluated Git and Subversion before deciding on P4. P4 was attractive because, unlike Subversion, it would not generate extra files that would waste storage space. Fedje and others also had previous experience with the product.
Back to topProof of Concept
Running P4 alongside Mercurial during a trial period, the production team saw a dramatic difference: submits immediately went down from half an hour in to under a minute.
“We have found P4 to be incredibly stable,” notes Vincent Loiseleur, Technical Designer.
- Camouflaj set its server to have two network cards for direct routing to P4
- Team members check files out of P4 and keep them locked while they are doing their work, avoiding conflicts with other users
- The P4 plug-in for Unity has made it faster and easier to author content in Unity
- Software release managers can assemble projects using familiar engineering processes, and Git developers can continue to use their preferred tools
- Unix build scripts access the P4 repository to generate builds as often as 20 times per day. Getting all of the code from P4 takes less than five minutes
Expanding the Footprint
Moving forward, Camouflaj is looking at ways to incorporate additional Perforce products into its development process, including P4 Code Review, and P4GT, the P4 Plug-in for Graphical Tools. According to Loiseleur, “P4 offers us a wide array of tools and modules that I can see improving our workflow here at Camouflaj and we're only just starting to use a fraction of them.”