Firelight Technologies Builds Interactive Audio Tools For Games With the Game Development Standard — Perforce Helix Core
Firelight Technologies, based in Melbourne, Australia, is behind the music and sound effects in some of the most popular video games, including the Forza Motorsport franchise, Roblox and Minecraft. Its industry-leading tool, FMOD, provides a powerful platform for teams to implement interactive and adaptive music and sound design.
To create a tool that would empower studios, Firelight Technologies chose Perforce Helix Core — the game development standard for version control. It helps support their teams as they develop and is even built into solutions for their customers.
Game Engine Integrations
Immutable History
Superior Branching
“If you're in games, you use Perforce [Helix Core]. This is sort of the mantra.”
Creating Real-Time Audio Solutions
Firelight Technologies aims to empower sound designers to create unique audio experiences. Because when it comes to game sounds, it is not just about adding in music and effects. Their solutions run inside of the game, rendering in real-time.
To build this world-leading tool, Firelight needed a strong foundation. According to Mathew Block “When we started using Perforce [Helix Core] in 2004, we needed source control.” Using source control allowed teams to iterate on features and more easily integrate with game engines, like Unity and Unreal. They could make changes to multiple areas of the product, without stepping on each other’s toes.
“Perforce can handle all the ‘bread and butter stuff,’ which is essential to have a team with more than one person working on a product.”
— Mathew Block, Technical Director at Firelight Technologies
The Benefits of Helix Core History
One of the main reasons Firelight chose Helix Core for source control was to be able to walk back in time. As changes were being made, it would coordinate code changes, ensuring work was never overwritten or lost. Block explains, “Perforce [Helix Core] history is invaluable. It protects the source code. It manages check-ins and merging. We refer to it almost constantly.”
With this history, everyone on the team can understand why a feature works a certain way, who created it, and when. According to Block, “Being able to see what has come before is one of the most important things for me. I find myself tracking back through a history because our entire product’s history is in Perforce. We wouldn't change that for the world.”
The accumulated history helps Firelight Technologies avoid repeating past mistakes. And teams can experiment knowing they always have a backup just in case something goes wrong.
Blended Development Environment
At Firelight, team members are encouraged to work their way. That means they can use whatever tools they need to get the job done. For some, this means experimenting with Git. “A lot of people do use Git in our office. They have little Git repositories locally. But when they've finished their iteration, then they submit that to Perforce,” Block explains.
Keeping a single source of truth in Perforce helps his team stay on the same page. Everyone knows what they are working on.
When asked if they would ever consider switching to another version control system, Block said, “I've never really seen a strong reason to change.” When it came to other systems, like Plastic SCM, he said “Plastic SCM presented some interesting solutions on their diffing side with their semantic merge. But that’s just an additional tool, the core engine is my focus and I've just never seen a strong reason to switch.”
Helix Core offers teams the best of both worlds. Use your tools, your way, and keep everything aligned.
Accelerating Development with Superior Branching
To help teams move faster, Firelight uses Perforce Streams, the branching mechanism in Helix Core. They usually have two or three active streams at any given time. With Streams, everyone from admins to developers can worry less about conflicts. There is no guess work when wondering where changes should flow.
“We switched from branches to streams about nine years ago. We wanted more intelligent branching with clearer flow of change.”
— Mathew Block, Technical Director at Firelight Technologies
And intelligence is what they got. Streams supports their branching model, allowing them to keep their main stream stable, while still supporting past releases. Fixes and patches can be pushed out without risk of refactoring. Streams creates a natural flow of change.
“Streams was the right thing to help us manage everything. The Stream Graph helps us see how everything's laid out. It shows how merging should flow.” Block explains further “It simplified a lot of maintenance and manages all of these different versions, which helps us make better software.” With Streams, everyone can visually see how code evolves.
A developer can look at the Stream Graph and know how to branch and where to merge. For technical directors like Block, it allows him to see how everything is laid out for his organization and help minimize the number of branches to support. “We have less problems from doing it the Perforce way.”
Building Helix Core into Firelight Technologies
At Firelight, Helix Core is not just part of their development environment, but is built into their product, allowing customers to capitalize on these benefits.
According to Block, “We have another usage of Perforce. It’s in our software itself. Our tool has its own project format that manages all the metadata for what the sound designer has built. As part of that, we have integrations to manage their projects. These projects can get quite large, so you'll end up with lots and lots of files.”
Lots of files means versioning in Helix Core. It is the only system with the performance to support large files and extremely large files, which is standard in game development. Block explains, “Our primary source control integration is Perforce. It allows people to check in and check out their project to intelligently manage all of those files.”
How Firelight Integrations Work
How can game developers try Helix Core + FMOD? There are two integrations available. One works with the Perforce API written in C++, which is built right into the tool. The other one invokes the P4 command-line and is written in Javascript. The main idea with both integrations is to have a modular extensible framework.
Build Like (and With) Firelight Technologies
To keep teams moving, protect history, and supply the best tool for game development, Firelight Technologies chooses Perforce Helix Core. “We prefer Perforce because we know Perforce. We built everything to Perforce the spec,” said Block.
If you are looking to build your next game, you can try Perforce Helix Core source control free. Discover why 19 of the top 20 game development studios, and companies like Firelight Technologies, choose Helix Core.