Press “W” to hear how the RPM and Load Values effect the engine sound.

Use the left and right arrow keys to change ships.

AudIo Sandbox

I have started this project because I wanted to make something more than a video, something people can get their hands on, try and see themselves; how number behind the screen can drive sound to give a seamless, realistic audio experience to the players.

To kick things off, I went back to the exact thing that made me fall in love with this field years ago: the interactive engine. It’s a simple concept, but a great example on how implementation can affect the design.

This is just the foundation. I think of this space as my personal sandbox. I’m constantly prototyping new audio systems and breaking things in the name of curiosity, so expect this gallery to grow.

Controller Script

The core strength of this script is its modular design, allowing a single piece of code to power an entire fleet of distinct vehicles. By exposing key properties like acceleration timing, idle speeds, and maximum RPM directly in the Unity Inspector, I can tune the “feel” of the engine without rewriting logic. A heavy transport ship can be set to rev up slowly with high resistance, while a fighter jet can be tuned for instant responsiveness, all using the same underlying architecture.

Functionally, the script acts as a translator between the game’s physics and the audio engine. It monitors how the player is driving specifically looking at throttle input and acceleration and calculates real-time values for RPM and Engine Load. These values are then streamed directly to FMOD, which uses them to smoothly blend between different engine recordings. This creates a reactive, realistic audio simulation where the sound engine responds dynamically to the mechanical stress of the ship, rather than just playing a static loop.

Fmod

The FMOD event functions as a real-time sampler rather than a simple audio player. It listens for the RPM and Load data streamed from Unity to mix the engine sound dynamically. The RPM parameter controls the core mechanics, using “Autopitch” to smoothly bend the pitch and crossfade between idle, mid, and high-speed recordings without any audible breaks.

Simultaneously, the Load parameter adds texture. When the ship accelerates hard, the Load value rises, fading in layers of mechanical strain and exhaust rumble to match the physics. This architecture is entirely reusable; by simply swapping the source audio files, I can create a completely different ship profile while keeping the underlying mixing logic exactly the same.

Credıts

Design, Programming & Implementation: Deniz Tuglu

Sound Design: Deniz Tuglu (upcoming collaborators)

Visuals:

Reel

Divinity Redesign