informa
2 MIN READ
News

Feature: Black Rock's Adams Explains Code Branching Best Practices

Pure and Split/Second developer Black Rock's Julian Adams talks code branches in development in a new Gamasutra feature, going in depth on the ins
Julian Adams, core technology group member of Split/Second and Pure developer Black Rock, has played a key role in implementing code branches in development, and now in a new Gamasutra feature, Adams goes in depth on the ins and outs, including productivity gains -- and compromises inherent in the approach. "With a large code base the chance that you'll know how to fix a build breakage, or even who to ask, decreases. Branching addresses these issues," Adams explains of the studio's motivation to implement branches -- and, of course, game development projects are getting larger and larger. There were 40 programmers on Split/Second at peak, and Pure had 25, with another 15 developing core tech. In both cases, all of them were working on the same code base, to say nothing of the asset teams. "Branches let you go back to developing in smaller teams," Adams explains -- you end up working directly with five to 10 people, and it allows programmers only to see changes, breakages and team progress relevant to their own line of work. It can create "staging ground to develop that cool new feature," he says. "When it's stable you merge against the mainline, and push your work to the rest of the team." Adams goes in-depth on the strategy needed to use code branching effectively, with examples from his team's own experiences. But there are numerous areas to which programmers need to be attentive: "Within a single game there's often strong technical and project management organization which ensures that information flows to where it needs to go.," he says. "However, across multiple games and the technology group, there may not be the organizational and social infrastructure to make code sharing work across branches." "Games are independent entities and generally, rightly, managed as such. If several games are using a given library there may be a diverging vision for that library between the teams," he continues. "We handle this by making sure there is regular face to face communication between peers at all levels in the studio. For example, all the tools guys meet up once a week to catch up on current work and future plans. This way we get a small team feel for each discipline across the studio and we also minimize conflicts during merges." For the full story on the ins, outs and best practices of code branching at Black Rock, check out today's Gamasutra feature.

Latest Jobs

Xbox Game Studios

Redmond, Washington
10.5.22
Technical Lighting Artist

Innogames

Hamburg, Germany
10.5.22
Game Designer - Elvenar

Six Foot

Houston, TX
10.3.22
Six Foot Director, Player Relations

Hometopia Inc.

Remote
10.7.22
Lead Engineer
More Jobs   

CONNECT WITH US

Explore the
Subscribe to
Follow us

Game Developer Job Board

Game Developer Newsletter

@gamedevdotcom

Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Browse
Subscribe to

Game Developer Newsletter

Get daily Game Developer top stories every morning straight into your inbox

Subscribe
Follow us

@gamedevdotcom

Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more