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.
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.
Core Pain Points
Before Helix Core, 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
“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.”
Camouflaj briefly evaluated Git and Subversion before deciding to start a free trial though the Helix Free for Small Teams program. Helix 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.
Proof of Concept
Running Helix Core 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 Helix Core to be incredibly stable,” notes Vincent Loiseleur, Technical Designer.
- Camouflaj set its server to have two network cards for direct routing to Helix Core
- Team members check files out of Helix Core and keep them locked while they are doing their work, avoiding conflicts with other users
- The Helix Core 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 Helix Core repository to generate builds as often as 20 times per day. Getting all of the code from Helix Core 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 Helix Swarm, and P4GT, the Helix Plug-in for Graphical Tools. According to Loiseleur, “Helix Core 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.”