Perforce's Mark Warren talks about a new approach to software configuration management
How is the way game developers use version management changing?
Games developers have long recognised the need for good management of their development processes and assets such as source code.
However, often the tools being used aren’t capable of being used on all of the different content required in modern games such as audio recordings, artwork, video, storyboards, marketing materials and much more.
For complete control, all asset types have to be properly managed and done so in a consistent toolset to reduce complexity and potential weaknesses in the development, build, test and release cycles. This is what we mean by ‘version everything’.
At the same time, the games are getting more complex, requiring contributions by large teams in multiple locations, and often in different organisations. This is increasing the need for managed changes to the assets over an extended period of time.
Where developers have been using some version control tools in the past, they’ve often hit limitations in performance which has severely impacted their ability to control changes effectively.
Can you explain the new strategy and product roadmap Perforce has conceived in response to those changes?
Perforce has been built since the very beginning – over 15 years ago – to be very high performance and capable of managing large binary objects – all the attributes that games developers need.
Building on this experience, Perforce recently announced further evolution to extend the support for distributed teams with federated servers and the new ‘Sandbox’ capability; the ability to create private, local branches for offline or protected work areas which can easily by synchronised with the rest of the team when needed.
These are new features in testing and will be seen in Perforce releases over the next six-to-12 months.
So what is meant by Perforce’s concept of ‘version everything’?
As we’ve been talking about, games developers have to work with many different types of assets to build great gaming experiences.
Being able to manage all these different asset types in a consistent style yet still providing integration with the critical tools used by each of the contributors to the project is vital to ensure best practice by all the team members.
For example, a programmer might use the integration with Visual Studio, whereas an artist may use the integration with Photoshop or Maya.
And how is Perforce working with its existing game developer customers to realise its future vision?
Many customers are already managing their non-software assets in Perforce. By adding new capabilities such as Chronicle, Perforce’s new web content management system built on the Perforce platform, we can extend our customer’s usage to new teams. For example the owners of a game’s website or forum could use Chronicle.
Why is the Perforce product roadmap’s emphasis on ‘Streams’ particularly relevant to game development studios?
Version management can be really simple, but it can also get complex very quickly. Streams offers a simple set of rules that provide some best practice guidance when managing changes.
One way of thinking of it might be to consider Streams as implementing the basic rules of the road for version management.
If you imagine driving on the road without all drivers accepting which side of the road to travel or not going through red lights, then you get an idea of how quickly chaos might ensue.
Streams sets some simple rules for managing where changes should be applied in production/released versions of product versus those still in development.
With rich visualisations and support for automatically switching contexts between released and development streams, developers will quickly see the benefits of the Streams workflows.
What other elements are core to the new version of Perforce?
The key announcements Perforce recently made include Streams, Sandbox, Cloud, Chronicle for Web Content Management and ‘Commons’.
Streams make version management easier to use with simple workflows for efficient use.
Sandbox allows for distribution of work teams without losing the strengths of centralised visibility and control.
Hosting Perforce in the Cloud makes it easy for teams – especially start-ups – to get into productive work quickly without the complexity of acquiring, configuring and maintaining version control servers.
Chronicle builds a rich WCM system on the Perforce versioning platform – bringing the strength of the purpose-built versioning engine to an easy-to-use web content management toolset.
Finally Commons is an easy to use interface for non-technical people, for example finance or legal teams, to use the versioning platform for their day-to-day work.
Altogether these capabilities extend the Perforce platform to new sets of users to version all their business assets in a way that’s appropriate for how they want to use the tools – versioning everything.
When will Perforce’s these new elements be added to your product?
The current release of Perforce can already be used to manage different content types – source code, documents, video, graphics etcetera.
Extending the existing rich clients and integrations will make it easier for non-traditional asset types to be managed.
For example, we continue to enhance our integrations for toolsets such as Visual Studio and Eclipse, and Chronicle is specifically for Web purpose use.
Commons will introduce a new UI that neatly integrates with user’s desktops to make it easier for non-technical users to manage their content in Perforce.
How is software configuration management relevant to new forms of game development release pipelines?
One of the changes we’re seeing in the gaming industry is the adoption of more formal processes, in particular Agile methods are gaining a lot ground.
As games titles take longer to complete, the need for Agile methods to ensure games are relevant, adapt to changing market demands, have timely deliveries and keep complex pipelines aligned is more important than ever.
Perforce is a great core to any Agile process, with its ability to support multiple teams working in parallel with great visibility of work across teams.
How else is Perforce changing to meet the needs of an ever more complex game development process?
All the examples listed so far show how Perforce is rapidly evolving to become a platform on which new tools can be built by Perforce and third parties. A new community – the Perforce Ecosystem – is being built to support developers of tools on the platform.
Is Perforce in any way relevant as a tool to be used by the new wave of small studios and microstudios?
Perforce offers a great option for smaller organisations. Licensing is very transparent and simple to use.
For very small teams or projects, then free licenses are available. Cloud-hosted Perforce also removes the need for expensive investment in hardware.
Are there studios today harnessing the benefits of the new Perforce technology?
Many studios are already doing it. 18 of the top 20 games studios use Perforce and they typically keep more than just source code.
Where Perforce isn’t being used, then they often have to make compromises as their version control tool doesn’t scale well for very large objects or distributed teams.
Would you argue Perforce’s offering is now more relevant to games development?
Perforce continues to work closely with its users, responding to their needs in each release while also watching market trends carefully.
Perforce’s traditional strengths of performance, reliability and ease of use are becoming, if anything, more important as games and the gaming industry becomes more complex and involves asset types.