Branching Strategies at Guerrilla Games: Working Well Together
This year marks the 10 year anniversary of Guerrilla Games moving all code and assets into Perforce. Back then, a project was done by 35 developers and it had about 200 GB of data in the depot. 10 years on, our last project was produced by 350 people and has a head revision that’s just shy of 2 TB. We’ve learned a lot along the way in terms of dealing with the increase in data and team sizes, as well as general complexity.
We’ve experimented with different branching methods, combinations of server and proxy hardware, and various release strategies as we tried to keep the ever increasing scale and complexity under control. What we ended up with is an agile variation of trunk-based-development that works well not only in theory but also in practice. While there is always room for improvement, we’re pretty happy with our development cycle. We have a large team that works productively without much interference from others and we have full control over the quality and the timing of our releases.
Check out my presentation from MERGE 2014. In it I gave an overview of our approach, focusing on our branching strategies and the tools we built on top of Perforce. Enjoy!