What this project demonstrates
- End-to-end product execution from concept to shipped experience
- Interaction design under real-time constraints
- Systems design and behavior tuning
- Technical implementation and performance optimization
- Visual polish and usability under pressure
- Product judgment around scope, pacing, and feedback loops
Projects like this are part of my independent lab. They are here as proof of interaction design depth, systems thinking, technical execution, and the ability to ship polished products end to end.
Radial Drift starts with one idea: a ring with a gap. Enemies spawn from the center and move outward. You rotate the ring so the gap lines up with incoming threats, letting them pass through. If an enemy hits a ring segment, it takes damage. Lose all segments and the run is over. That is the entire control scheme, and it creates more tension than games with ten buttons.
The ring has 8 segments, each with 3 health points and a 90-degree gap sealed by a lightning barrier. 10 enemy types enter the game across 20+ waves, each introduced in dedicated training waves so you learn the rules before the difficulty ramps. Hexagons move in straight lines. Splitters break apart on contact. Triads bounce back for a second pass. Maelstroms spiral in formations. Missiles kill on impact. Multi-missiles split into four. Healers and hearts repair your ring. Stars widen your gap for 15 seconds. Bombs clear the screen.
The difficulty system runs in five phases: Awakening, Rising, Gauntlet, Chaos, and Nightmare. Spawn rates increase, enemy mixes get more aggressive, and burst spawns and pincer attacks start appearing. Breather waves drop in every 4 waves after wave 24 to give a moment of relief. Bonus challenge stages trigger at waves 5, 10, 15, 22, and 25 with pattern-based spawns and a 50-kill target.
Visually, the game runs on a custom WebGL pipeline with HDR color enhancement that auto-detects P3 and OLED displays. Saturation gets boosted with an S-curve contrast pass. The background is an animated tunnel shader that responds to beat detection from the music. The ring itself cycles through 20 visual styles, one per wave. Particle effects, explosions, and radial starfields with hyperspace transitions round out the presentation.
The soundtrack is a full 10-track EDM/Trance album by DJ FL-AI called "I am AI," shuffled fresh each session with a dedicated challenge track for bonus stages. Beat detection via FFT analysis drives visual pulses in the tunnel and UI. The game ships on iOS, Android, macOS (via Capacitor and Tauri), and web, all from a single Phaser 3 codebase. No ads, no in-app purchases.
What it does
One-Touch Survival
Rotate a segmented ring shield to let enemies pass through the gap. One mechanic, infinite depth.
10 Enemy Types
Hexagons, splitters, triads, maelstroms, missiles, multi-missiles, healers, hearts, stars, and bombs. Each with distinct behavior.
5 Difficulty Phases
Awakening through Nightmare. Training waves introduce new enemies. Breather waves give relief. Bonus stages test pattern recognition.
HDR Visuals + Tunnel Shader
Auto-detected P3/OLED enhancement, 20 ring styles cycling per wave, and a beat-reactive WebGL tunnel background.
10-Track Original Soundtrack
DJ FL-AI "I am AI" album. Shuffled each session. FFT beat detection drives visual intensity in real time.
Multi-Platform
iOS, Android, macOS, and web from one codebase. Capacitor for mobile, Tauri for desktop, PWA for browsers.
Product gallery








Comments
Built with
- Phaser
- WebGL
- Capacitor
- Tauri
- Claude Code
More from the lab
A few related projects that share the same design sensibility and build approach.