Independent · Technical Audio · Unreal Engine + Wwise
Charged Arcane Bolt
A gameplay-driven spell audio system where charge, instability, projectile motion and impact state shape the sound at runtime.
Watch on YouTube (opens in a new tab)At a glance
- Type
Independent technical-audio project.
- Engine
Unreal Engine, driven via Blueprint.
- Middleware
Wwise, via RTPCs and runtime parameters.
- Core concept
A charge → overcharge spell whose sound tracks gameplay state through to a release or a backfire.
The audio problem
A charge that needs to be heard, not just seen.
A hold-to-charge spell is easy to represent with a timer or a VFX change. The harder problem is sound: building energy has to be audible while it's happening, continued risk has to feel increasingly unstable, and the eventual outcome — a clean release or a failed backfire — has to read as two genuinely different moments rather than one event with a different one-shot on top.
What I built
A charge-to-outcome state machine, heard at every stage.
A gameplay-driven spell audio system spanning a continuous charge, an audible overcharge/instability state, in-flight projectile movement and a final impact.
My contribution
Design, implementation and iteration.
- Audio-system design and sound design
- Unreal Blueprint implementation and integration
- Wwise implementation and authoring
- Runtime parameter behaviour
- Gameplay-state / audio integration
- Testing, debugging and iteration
How it works
System breakdown.
One continuous charge, then a choice
Charge is continuous until the full-charge boundary — there are no fixed intermediate tiers. What happens after full charge depends on what the player does next.
Charge
While input is held, CurrentChargeTime increases and drives a normalised ChargeLevel from 0–1. If the player keeps holding once charge is full, the ability doesn't cap out silently — it transitions into an overcharge state, tracked at runtime through OverchargeTime and InstabilityAlpha, which describes how unstable the current charge has become.
That Blueprint state reads out into a Charge Wwise runtime parameter, which reshapes the tonal character of the charge loop as it climbs — so building energy is audible rather than inferred.
Instability
Chaos is a separate Wwise parameter, driven from InstabilityAlpha during overcharge, so continuing to hold past full charge reads as increasing danger and unpredictability rather than a longer version of the same charge sound.
Projectile & Impact
On release, the projectile carries its charge and instability state forward. Its runtime velocity is measured in Unreal, mapped, and sent to Wwise as a Velocity parameter, so the in-flight audio responds to how the projectile is actually moving rather than playing back a fixed flight loop.
At impact, accumulated power and accumulated instability are deliberately kept as separate concepts rather than a single explosion parameter.
Outcomes
A successful release earns a clear payoff to the buildup. A backfire is designed to read as a distinct outcome — not as a normal release with a different sound.
Normal release
- Stop charge state
- Spawn projectile
- Transfer charge / instability state
- Projectile flight
- Impact / explosion
Backfire
- Player remains in overcharge
- Maximum safe overcharge duration reached
- Backfire triggered
- Normal projectile release prevented
Result
Buildup, instability and outcome stay connected.
The finished system carries a single held input through a continuous charge, an audible instability state, in-flight movement and a final impact where power and chaos are heard as separate contributions — with a distinct backfire outcome when the risk isn't managed.