Skip to main content

The Audio Programmer

·807 words·4 mins
Engineering Roles in Game Dev - This article is part of a series.
Part 5: This Article

For advice on this role I reached out to Joseph Greaney, Senior Audio Programmer at Black Shamrock. The following is his insight and advice on Audio Programming for Games.

What is a Game Audio Programmer?
#

When a sound plays we need to know “What Why When Where and How?”

A sound designer might say, “A splash sound plays at the player’s foot when they step into a puddle.” Our job is to make sure it works as expected.

Infamous Puddle

What?
#

We have 8 splash sounds effects in the game corresponding to the player footstep. How do we choose which .wav file to play?

⚙️ Audio Engine, File Management, Gameplay

Why?
#

We play the splash because the player stepped in a puddle - How do we know that? What systems do we write to get that information to the audio engine?

⚙️ Physics and Materials, Player Movement

When?
#

We need to know when the player’s foot touches the puddle?

⚙️ Animation Systems, Inverse Kinematics

Where?
#

Sounds should be quieter when they’re far away, what if the player is in an echoey cave? Or a dense forest?

⚙️ Attenuation, Acoustics

How?
#

Who tells the audio system to play the sound? How do these systems interact without creating dependencies?

⚙️ Gameplay Code, Systems Programming

More Questions
#

Fortnite

Now let’s say we’re working on Fortnite and we have 100 players in multiplayer.

  • Should we play sounds that are far away?
  • What if they’re so far away we wouldn’t hear them?

⚙️ Optimization, Networking

  • What happens if everyone is moving within hearing range?
  • Should we hear every splash?

⚙️ Voice Limits & Stealing

  • Are some footsteps more important than others?
  • Should we even hear footsteps if we’re getting shot at?

⚙️ Mixing

New Problems
#

Horse in Water in RDR2

The game director comes to the gameplay team and says players can ride horses now. Of course the horses footsteps should also splash!

  • How do you engineer systems that make it easy to be flexible?
  • How can you let the sound design team work without having to modify code?

Uh oh, the horse footstep splashes work on PC but don’t make any sound when playing on PS5! It’s your job to figure out why and come up with a solution for how to fix it.

⚙️ Platform Debugging

In Summary
#

Game Audio Programming is about working with everyone on the team to make sure that the game sounds as good as possible. This means working on low level engine code one day, and hooking sounds up to UI on another.

Understanding Game Audio Programming Slide

This is a slide from Audio Programmer, Michelle Auyoung’s 2025 GDC Talk: ‘Understanding Game Audio Programming’. This just got added to the GDC Vault for paid members, but keep an eye out for it coming to YouTube for free in the next year or so. It’s a great introduction to audio programming in games, and this slide really breaks down all the responsibilities of being a game audio programmer.

It’s not all perfect
#

Audio often comes last in the cycle of game development, so you will need to be reactive to other people’s changes, and proactive in trying to get ahead of what the rest of the team are working on.

You will more than likely be working with middleware like WWise or FMOD. These are often 3rd party closed source solutions, and come with their own quirks and flaws. Often you’ll be writing your own workarounds to some frustrations you or the team might have.

It can be expensive to find sound effects for your games to practice with… so here are some resources:

  • Free Sound - Check each sounds license to make sure it’s available to use for your project!
  • GDC Game Audio - GDC released a huge pack of sounds here over the years and still updates every now and then. These are limited but good quality.
  • Kenny does audio now!
  • Reaper FM is an industry standard DAW(Digital Audio WorkStation) and has a $60 dollar lifetime license for personal projects.
    • Alternatively ask your university if they have any DAW licenses like protools available.
  • Make your own! Just record them on your phone and edit them in Audacity.

But the Pros are
#

  • You get to work with a wide range of disciplines.
  • The work is both high and low level.
  • You can hear changes as you work on them.
  • Audio Programming is a niche and in-demand skillset.
  • You get to solve interesting problems.

Examples of Audio Programming
#

  • Raytraced Audio
  • Coding Music
  • Project Acoustics
  • Procedural Music with UE5 and Metasounds

Learning Resources
#

Dave Ryley
Author
Dave Ryley
Game Developer
 Author
Author
Joseph Greaney
Senior Audio Programmer at Black Shamrock
Engineering Roles in Game Dev - This article is part of a series.
Part 5: This Article

Related

The AI Programmer

·551 words·3 mins
Overview # The Role of an AI Programmer is to work closely with Design and Animation to breathe life into characters that make the world come alive. Not to be confused with LLMs or Gen-AI. To achieve this, an AI Programmer will develop systems for Enemies, Allies, and other NPCs (Collectively, “Agents”). The game will often need systems for:

The UI Programmer

·986 words·5 mins
Overview # The UI Programmer works closely with Design and UI Artists, and is responsible for any and all user interfaces seen in the game. This can include, Start Screen and start game flow Settings Screens The Player HUD Weapon reticules Enemy, Item Indicators Inventory Screens Minimaps Quest/Mission logs And any other screens or widgets you can think of.

The Gameplay Programmer

·496 words·3 mins
Overview # The Gameplay Programmer is the “Swiss Army Knife” of Game Dev Engineering Roles. While other roles keep to a specialization, the gameplay programmer is defined by its lack of specialization, opting to go wide over deep to bring the other pieces together. As a Gameplay Programmer, you could find yourself working on, Player Movement Abilities Tutorial Systems Quest Systems Combat Systems Game Economy Systems Inventory Systems, Weapons and Items Just to name a few.