Morten Brenna is the lead programmer at Ravn Studio in Drammen, Norway.
One of the biggest challenges facing any game development studio is ensuring that everyone is working toward the same set of business goals. Norwegian-based Ravn Studio addresses this by using Perforce for software configuration management (SCM), which enables both the development and business teams to collaborate and communicate with each other more effectively. Perforce SCM enables visibility of information across the entire organization, regardless of data volumes, locations, or number of users.
Ravn is an award-winning game development studio based in Norway that is growing and beginning to make its presence felt worldwide. With its original roots in TV production, Ravn now provides a full range of interactive content across various media, including the computer games market. Ravn's portfolio contains titles such as Snakeball for the Sony PlayStation, Angel Crash for the PC, and a variety of Nintendo DS games targeted at a younger audience.
Ravn's development team currently consists of nine people based in Drammen, close to Oslo, Norway's capital city. While some development is outsourced to contributors in other countries, the majority of development work is carried out in-house using home-grown tools. Art assets are created using industry standard programs.
Perforce Enhances Communication and Collaboration
Ravn operates in an increasingly competitive and fast-paced market. Ensuring that projects run smoothly to the agreed-upon deadline and that its customers are happy with the results is essential to the business. This is where Ravn has found Perforce SCM to be invaluable.
Morten Brenna, lead programmer, explains: "SCM encourages a more collaborative atmosphere and ups the level of communication between different camps. For instance, my job is very different from the administration team's job, so SCM helps us to appreciate each other's issues."
SCM helps everyone understand the bigger picture and ensures teams have access to the very latest information and are working from the correct versions. If Morten and his team put an exciting new feature into a game, it helps the marketing team to know about this as early as possible; and when speaking to customers, the business team needs to be aware of the latest versions of a game, too.
With SCM, authorized users are able to check documents in and out, not only ensuring that the very latest file versions are available, but that previous versions or versions being worked on by another team, are available. Different levels of permission, access, or functionality can be applied. For example, the business team only needs to see the very latest version of a game, not the different development branches that the development team might be pursuing.
Benefits of Perforce
Prior to Perforce, Ravn was using open source-based SCM, and although this approach worked well enough in the early stages, the company found that performance was affected when projects went above a certain scale. With Ravn's continued growth, this was clearly a problem that was not going to go away. Morten was beginning to look around the market when he saw Perforce SCM in action at a customer's site.
"The customer has a much bigger database than ours, and we saw Perforce scaling to meet their requirements without any problems. We said to ourselves, 'We want Perforce!' Since getting Perforce, updating the database has gone from taking half an hour or more to just one minute. Perforce works like a charm."
Although Ravn's primary driver for choosing Perforce was speed of performance and the ability to cope with an ever-growing database, Morten has found other features useful, too, such as changelists. "We use changelists for two reasons: one is to be able to sort the file check-outs, so you know which files are checked out and for what reason; and two, when we assemble the final build versions, it is important to only get the updates we need. It's like having risk management built in for free, and it's easy for the rest of the team to continue working without adding more risk."
"For instance, when we do a final gold master candidate build, we continue to improve the product, fix bugs, and so on. Essentially, we assume the builds will fail on submission. Changelists make the turnaround shorter when the builds actually do fail. If there is only a small fix required to pass, we only want to include that one fix and re-submit as soon as possible, and not get all the rest of the fixes as they introduce extra risk. Some fixes are large, requiring multiple files from multiple people, so batching up and naming the check-ins correctly becomes very important."
Morten also rates Perforce's Jobs feature, which removes the need to use a third party bug tracking tool: "Using Perforce Jobs means we have fewer products to maintain and is very convenient for us. In the future, we will link Jobs to changelists to keep better track of bug fixes."
One Database for Everyone
With Perforce, Ravn now has just one database for all of its projects, rather than one dedicated server per project, and Morten and his team feel comfortable that Perforce will be able to meet escalating demand in the future. "We are very confident in the scalability of Perforce because we have seen it in use in much larger settings."
Morten concludes, "I wouldn't want to work without SCM ever again. It has become an integral part of the way we work and ensures everyone is working on the right things and not colliding with one another. And moving to Perforce has been a major help in achieving what we want to do faster and better. The performance is unbelievable."
For Ravn, SCM is not just about eliminating the risk; it tangibly helps the company to achieve its business goals more effectively, and enables this small but exciting and fast-growing firm to compete on the world stage.
All trademarks or registered trademarks are property of their respective owners.