Skilled coders specialize in building systems and implementing audio and music into game engines. Since game audio programmers Johann Prell and Lorenzo Salvadori joined the team, Pole can connect as a complete audio department to a project or a studio. And also internally develop tools and plug-ins.
So, game audio programming, why did Pole start to offer this service?
Max Lachmann: It was actually customers of ours who expressed interest in getting this service too from us a couple of years back. And it completely makes sense really, since that means we can connect as a complete audio department to a project, helping out with all of the sound design, implementation, and building and setting up systems for gameplay and audio. It is also very helpful for our sound designers to have programmers in-house at Pole, who can communicate with the tech department at our customers. Besides the obvious benefit of making us more complete as an audio department, we are also interested in developing our own tools and plug-ins. So from that aspect, it also made sense to take on programmers in the team.
Did you have this capability within your team at the time you came up with the idea?
Max Lachmann: We did not have anyone on the team with this knowledge at the time, so we put an ad out for a programmer. We had quite a few people applying, and eventually got in touch with Johann who is a great contribution to our team, and who works very well in our company culture. Lorenzo was initially a friend of mine from the industry, working on some racing games as a sound designer. He wanted to find a new role, learning programming, and we figured it would be another great contribution to our team, having a programmer who knew the complexity of vehicle audio in games.
And what is game audio programming?
Johann Prell: Together with our Sound Designers we can act as a fully functional audio division, and implement audio into all aspects of a game. This can include integration of third-party audio middleware. The bulk of the work is designing and implementing systems for acoustics, animations, weapons, vehicles, UI… everything that makes a sound! In addition to gameplay features, we can create tooling that supports the designers depending on the specific needs of the project. Ideally, this is all done in tight collaboration with the client and their tech team, so that we can adapt to their architecture and preferences.
Lorenzo Salvadori: It’s a glorified “Press Play”. Jokes aside, it’s also “Press Stop” sometimes. And Pause, Resume.. “By the way how many sounds did you say are currently playing? Oh, that’s too many: We need to get a hold of that quickly. What do you mean this makes no sound? Oh, you made the sound but it’s not playing. Oh, it IS playing but only when you’re outside the volume, but it should be playing only when you’re inside the volume and it also needs to trigger a layer of a sound that is already playing and it has to be in sync with the music. For every character. Each of the sounds should also have a specific DSP assigned. And without impacting performance. Okay, this got out of hand really quick.”
The two of you have pretty different backgrounds. Does that mean you take on different kinds of projects?
Johann Prell: My background before picking up programming about 10 years ago is in music composition and sound design for live theater. So I definitely have a special place in my heart for dynamic music systems! Acoustics systems are also fun to work on – the way ambiances and SFX behave in real time has a huge impact on the Players’ immersion into a space and into the action.
But as a programmer, I’m interested in solving all kinds of problems. I’ve been doing a whole bunch of generalist work in both Unity and Unreal, and it’s always rewarding to make tools that enable designers to heighten the quality of the experience.
Lorenzo Salvadori: I come from a STEM background, so I am very much interested in how systems work physically speaking, and DSP. Anything that involves mathematics and or physics piques my curiosity a lot, but as Johann said, what brings more satisfaction is going through the process of solving a problem. It’s a bit like detective work but thankfully there was no murder to begin with! 🙂
How is a typical project set up?
Johann Prell: Depends a lot on the specific needs of the project of course. When we get onboarded into a project there is some setup of things like version control, and we get up to speed on the game’s architecture, how testing is done, where documentation lives, and so on. Depending on the project’s needs, we can do an RnD phase to investigate what tech stack to go with or investigate other strategic questions.
Many of our clients are spread throughout the world, but remote and on-site projects have very similar needs in terms of finding a good structure for planning, syncs, and deliveries.
Lorenzo Salvadori: It really varies from client to client, both in terms of technology and integration with the team. Some teams are further along in their development with an already established tech stack and just need a list of work completed quickly. Some other teams are early in the project and welcome discussions on how to approach specific areas of sound in their game and what tech options are available to suit their project and organization better. Most times we work remotely but sometimes we are welcomed on the premises for a few days and it’s really nice to get to know the team you work with in person. I have to say that regardless of where you work, people in the game industry really have a way of making you feel welcomed and part of the team.
Along with involvement in projects you also develop tools. What can you tell us about those?
Johann Prell: We have a long list of tools that we would like to create, and some of them we are working on between client projects. This includes tooling for engine audio design work, other workflow helpers for designers, or solutions for in-game audio systems.
Lorenzo Salvadori: The list of tools we have in mind to develop is probably as long as the Great Wall of China and it varies a lot in terms of scope and applications, as we work both on games and with sound designers more broadly. So there are a lot of Unreal Engine extensions that we have in mind, as well as VSTs and tools for Sound Designers to expand their toolset and improve their workflow. I’m really excited about what’s to come and I look forward to seeing these in action in the near future.
And last question, what makes game audio programming fun and exciting according to you?
Johann Prell: Audio is a very nuanced and complex problem space, where tiny adjustments can make a big difference. It always amazes me how much a simulated space can feel alive when it starts filling up with sound. Game Audio touches every aspect of a project – from gameplay to UI, from physics to music – which I enjoy a lot, there are always interesting new challenges.
Lorenzo Salvadori: What I like most about it is that the same problem can be solved in a myriad of ways depending on the tech stack, the level of detail, and the particular needs of a project. So even if we encounter similar challenges on different projects the solution varies and it keeps you thinking creatively about the craft. It also spans various disciplines such as computer science, physics, mathematics, game design, sound design, music, animation, art, and more. This in turn allows you to work with people from all disciplines and to collaborate on solutions together. It is a constant trove of learning and growth where you also get to make new friends.