← Back to Work
Mobile[GAME][CLIENT WORK]

Spin & Charge

Spin mechanic, audio engine & tap-to-target ability system

A spin mechanic and audio engine tuned to feel dramatic on the hundredth play, plus a four-ability tap-to-target system with clear feedback at every state.

My role
Built the spin mechanic, its audio engine, and the four-ability tap-to-target system inside a client mobile game.
Built with
Flutter, Dart, Audio Engine, Animation, Ability System
Status
Client work

Before

The problem

The spin felt jerky and its audio broke down after the first play. Ability cards kept signalling "active" after a shared resource was spent, and nothing told the player when the game was waiting for input.

Simulation

See it run

PER-TICK AUDIO
STALE STATE
Ability 1
Ability 2
Ability 3
Ability 4

SIM: diagrams of the spin and targeting mechanics, not gameplay capture.

Step by step

How it works

  1. 1One continuous, volume-ramped audio cue replaced a sound fired on every spin tick, which had been exhausting the device's audio resources.
  2. 2A single smooth easing curve replaced a piecewise one that caused a visible recoil glitch.
  3. 3The tease-and-rollback animation now gates on real remaining time, so it can't snap mid-motion.
  4. 4Ability cards stop signalling "active" the moment a shared resource is consumed.
  5. 5A dedicated targeting state (pulsing grid border and on-screen prompt) shows when the game is waiting for a tap.

After

What changed

› Spin feedback holds up across repeated plays with no audio degradation.
› Animation and audio timing stayed consistent across device performance tiers.
› Four distinct player abilities shipped, each with clear visual and input feedback.
› Design decisions confirmed against review rather than assumed correct.

Stack

For technical readers

Technical detail

The problem, in detail

› A spin mechanic needed to feel dramatic and psychological, not mechanical. Early builds felt jerky, and audio broke down entirely after the first play.
› Ability card feedback had a stale-state bug: other cards kept pulsing as if still active after one consumed a shared resource, with no clear signal to the player when the game was waiting for input.

Build notes

Spin & Audio Engine

Diagnosed and rebuilt the audio and animation architecture behind a repeat-play spin mechanic.

› Diagnosed a bug where a discrete sound fired on every spin-segment tick was flooding the audio channel and exhausting native codec resources, traced through device logs. Fixed by replacing per-tick sounds with a single continuous, volume-ramped audio cue timed to the spin.
› Replaced a piecewise spin curve that had a velocity discontinuity (visible as a recoil glitch) with a single smooth easing curve.
› Rebuilt a tease and rollback animation to gate on actual remaining time instead of a fixed progress window, fixing a bug where the animation could snap mid-motion.

Targeting & Ability States

A four-ability targeting system built with explicit player feedback at every state.

› Fixed a stale-visual-state bug so ability cards stop signaling "active" the instant a shared resource is consumed.
› Built a dedicated targeting state for tap-to-target abilities, a pulsing grid border plus an explicit on-screen prompt, after noticing nothing communicated that the game was waiting for player input.
› Made deliberate sizing calls on two area-effect abilities to keep them visually distinct from each other, confirmed against design review afterward.