CASE STUDY · 2024

CANYON RACER

Adaptive engine sound, lasers, and explosions for a futuristic mobile plane racer, built in FMOD + Unity.

THE BRIEF

Canyon Racer is a futuristic plane racing game where players choose between aircraft with different skills and stats, racing against AI opponents and using obstacles and power-ups to their advantage. The audio brief was straightforward: every plane needs to feel different, every shot needs to feel impactful, and the mix needs to survive on mobile speakers.

[ Image placeholder ] In-game screenshot of Canyon Racer: a plane mid-race, ideally during combat. assets/blog/canyon-racer-gameplay.jpg
Caption goes here.

THE APPROACH

For the futuristic feel I went mostly synth-driven (Serum patches and heavy modulation) but anchored everything with real recorded textures so the game still felt physical. Players needed to *feel* the speed and *hear* the difference between planes within a second of switching.

ADAPTIVE ENGINE SOUND

The engine sound is the audio centerpiece of any racer, so I built it in FMOD with [N LAYERS: idle, low throttle, mid, max] crossfaded by an RPM parameter driven from Unity. As the plane accelerates, [WHAT CHANGES: pitch, volume, filter, timbre]. Different aircraft use different layer sets so each plane has a distinct sonic identity.

[ FMOD screenshot ] FMOD Studio event view showing the engine event with its RPM parameter and crossfaded layers. assets/blog/canyon-racer-fmod-engine.jpg
Caption goes here.

LASERS, EXPLOSIONS, POWER-UPS

Combat sounds were layered designs: a Serum-based [LEAD ELEMENT] for character, a [NOISE / TRANSIENT LAYER] for impact, and a [TAIL ELEMENT] for distance. In FMOD I used pitch and timbre randomisation so consecutive shots don't sound mechanical. Small variations make a small library feel much bigger.

[ Image placeholder ] A Serum patch screenshot or an Ableton session showing the laser/explosion design. assets/blog/canyon-racer-serum.jpg
Caption goes here.

IMPLEMENTATION: FMOD + UNITY

All audio runs through FMOD's Unity integration. Each plane has its own event emitter for engine and weapon sounds, and global events (UI, music, ambience) are handled through [APPROACH: centralised AudioManager / FMOD listener / etc.]. Unity's [VELOCITY / RIGIDBODY / INPUT] feeds directly into FMOD parameters every frame.

WHAT I'D DO DIFFERENTLY

With hindsight, [SPECIFIC THING you'd change] (because [why]). Next time I'd [SPECIFIC APPROACH] from the start, especially because [REASON].

← Back to all posts