Atmosphere: Music, Sound & Audio
Introduction
During development, I originally used spatial 3D AudioSources everywhere, but this quickly tanked performance – I’d get a 20 FPS drop whenever moving through the environment. Sound is such a critical part of atmosphere in Recursion that I needed to take a more sustainable approach.
Audio Pooling
To solve this, I developed an audio pooling system for my AudioEntities, which allowed for a configurable number of emitters to be reused instead of constantly spawning new ones. Whenever an AudioEmitter needed to play, it fetched a SoundEmitter from the pool, which then played or looped at a 3D position in the world – allowing the AudioListener to perceive it naturally in space.

This change didn’t just improve performance, it also gave me freedom to layer ambient soundscapes without breaking immersion through stutter or lag. The hum of distant machinery, the faint drone of ventilation, and the buzz of fluorescent lights could all be placed confidently without worrying about technical overhead.

During the development of this system, I encountered a few bugs, such as SoundEmitters not being released properly, which maxed out the number of available emitters – leading to stuttering, audio cutting out and other immersion-breaking experiences.
To combat this, I had to be explicit with how I culled lights, and used sphere triggers and distance (Manhattan distance) checks to reliably start and stop AudioEmitters to free up space in the pool.
Audio Mixer Groups
To further refine the mix, I introduced AudioMixer groups. These let me control the volume attenuation per channel independently of each AudioEntity, creating a richer and more dynamic soundscape.
The groups include:
- Music – the core soundtrack
- HRVoice – narration routed with echo and reverb to feel as though it were played over the facility’s PA system, reverberating down corridors.
- SFX – all sound effects, kept dry and unprocessed for clarity.
- MusicNOFX – a dedicated channel for music without additional processing.

Routing the HR voiceovers through heavy reverb and echo gave them a deliberately disembodied, corporate feel – authoritative yet sterile. This matched the oppressive HR theme perfectly.

Diegetic Sound Design
Beyond the technical systems, audio played a large role in environmental storytelling. Buzzing fluorescent lights, the low hum of vents, and the buzz of ancient computers gave rooms a subtle layer of tension.
To heighten immersion, I also implemented idle behaviour: if the player stood still for too long, the volume of ambient SFX was gradually increased. This subtle change amplified the sense of unease – the world itself felt louder and more present the longer you lingered, pushing the player to keep music. This was used in tandem with flickering lights and the use of dark exponential fog to shorten the view distance of the player, to make it feel like the world was closing in around the player.
Loud sounds were used at regular intervals and telegraphed by flickering lights and other environmental inconsistencies. Whenever level blackouts happened, a loud circuit breaker ‘clunk’ played, to startle the player. I wanted to keep the player on edge, wondering when the next interruption would happen.
These details were critical in reinforcing the atmosphere of Recursion as a cold, oppressive space that never truly felt silent.
Preparing Audio in FL Studio
Before integrating music and sound design into Recursion, I needed to prepare my raw audio files in FL Studio. This process was less about creative composition and more about refining each sound so it could sit cleanly in the game mix.
The first step was cutting audio segments into manageable clips. Some recordings contained long takes with background noise or unnecessary silence, so trimming them down kept the workflow tidy and made each asset easier to implement.
Compression was then applied to balance dynamics. Certain takes had peaks that would have been jarring in-game, while others were too quiet to register in the intended atmosphere. By tightening the range, each sound became more consistent without losing its natural character.
Finally, EQ filters were used to carve out space in the frequency spectrum. This step was especially important for isolating the qualities I wanted from each clip — whether emphasising low-end weight for ambience, or stripping away muddiness to let higher frequencies sit clearly against environmental sounds.

This iterative process of trimming, compressing, and filtering was less about pushing for fidelity and more about making each sound practical, reliable, and tonally aligned with the sterile, oppressive mood of Recursion.
Music
Over the past few years I’ve been writing my own music, and every so often I compose something I feel is project-ready and worth including. For Recursion, I repurposed a track from a discontinued project – Glandalore.
Glandalore was composed and produced in FL Studio using a mix of Kontakt libraries and the Omnisphre synth plugin. I mastered it with Ozone and used Neoverb for reverb. The piece carries a melancholic, almost funereal tone, which fit perfectly into the world of Recursion.
During development I also composed two original orchestral pieces that appear in the final build:
Recursion – Theme
A piece which employs a steady triplet ostinato in upper strings with long, quiet pads in wind/brass; percussion largely tacet, keeping the sound cold and suspended.
Composed in MuseScore for full orchestra and mixed in FL Studio. The piece avoids percussion almost entirely and leans on a quiet string triplet-engine, long wind/brass pads, and brief, restrained trumpet/oboe figures. The goal wasn’t symphonic spectacle; it was a cold, suspended tension that fits Recursion’s sterile atmosphere.

Taglio e Dissolvenza (Cut and Fade).
This piece features a lyrical cello writing over shifting string ostinatos, alternating between fragile intimacy and sudden eruptions. The theme ‘Cut and Fade’ is reflected in the sharp contrasts and dissolving textures.
Written for solo cello and string orchestra, this piece revolves around sharp contrasts and dissolving textures. Sudden bursts of intensity are followed by fragile, fading echoes, reflecting the project’s themes of impermanence and instability. Where Recursion – Main Theme was mechanical and suspended, Taglio e Dissolvenza is human, raw, and painfully intimate – a musical exhale after the tension.
Both were composed in MuseScore using the Berlin Strings library and later mixed in FL Studio by routing stringed instruments to a strings channel, woodwind to woodwind, etc for broader control over the sound of each orchestral section.
This side of development gave me great joy. Writing music was the most direct way I could shape the emotional tone of Recursion – balancing tension, emotion, unease and melancholy to guide the player’s experience.
Conclusion
Developing the audio for Recursion was as much about restraint as it was about expression. Every system – from pooled SoundEmitters to channelled mixer groups and dynamic, diegetic design – was built to sustain an atmosphere that never allows the player to feel truly at ease. Silence was never absolute; there was always a hum, a buzz or a distant mechanical drone reminding you that the world was alive and watching.
The music carried this further. Recursion – Theme suspended the player in mechanical tension, while Taglio e Dissolvenza pulled closer, fragile – human. Together with ambient soundscapes, environmental triggers, and carefully tuned audio behaviour, they shaped a space that felt oppressive, clinical, and emotionally charged.
In the end, the soundscape of Recursion wasn’t just an accompaniment to the visuals – it was the voice of the world itself.
Get Recursion
Recursion
A Kafkaesque psychological horror set inside an oppressive corporate office
| Status | On hold |
| Author | Sonetti |
| Genre | Simulation |
| Tags | Immersive |
More posts
- Blog: Post MortemAug 19, 2025
- Atmosphere: Lighting, Shadows and OptimisationAug 19, 2025
- Recursion - Dev Log #4Aug 19, 2025
- Recursion - dev log #3Aug 03, 2025
- Recursion - dev log #2Jul 12, 2025
- Recursion - dev log #1Jun 20, 2025

Leave a comment
Log in with itch.io to leave a comment.