Skip to main content
🍉
Mobile GameAndroid (Google Play) • 2026Google PlayAura Studioo Original Game

Fruity Ninja

Fast-paced arcade fruit slicing game with low-latency touch gestures and particle effects.

Flutter Production ShowcaseEngine: Flutter 3.x • Dart
🍉

Fruity Ninja

Fruity Ninja is a high-reflex arcade game where players slice airborne fruits while dodging dangerous obstacles. Built using Flutter's gesture handling and canvas rendering to deliver instantaneous slice detection, dynamic blade trails, and satisfying particle bursts.

FlutterDartGestureDetector & PointerEventsCustom Particle SystemSoundpool / AudioPlayersShared Preferences / Local StorageGoogle Play Publishing
The Problem & Engineering Goals

Touch gesture latency can ruin fast-paced arcade mobile games. If finger swipes are recognized even a few frames late, player immersion breaks down and difficulty feels unfair.

Architectural Solution

Engineered an optimized gesture stream listener that samples touch points at sub-frame intervals, drawing continuous bezier blade trails and checking collision vectors against active fruit bounding boxes in real time.

Key Implemented Features

Sub-millisecond touch tracking for ultra-responsive blade swipe trails
Physics-based projectile arcs for fruit trajectories and obstacle velocity variation
Particle burst animations upon fruit slicing with color-matched juice splatters
Combo multipliers and scoring system rewarding clean consecutive cuts
Audio-synchronized slicing sound effects and background ambient tracks
Persistent high-score tracking using lightweight local storage
Founder's Direct Contribution

Hands-on Engineering Scope

Conceived, coded, and released the complete game. Built the continuous vector collision detection system, calibrated swipe sensitivity curves, integrated sound effect triggers, implemented particle lifecycle management to prevent garbage collection spikes, and published the game on Google Play.

Technical Challenges & How We Solved Them

Challenge 1:Avoiding garbage collection stutters when rapidly instantiating sliced fruit halves and particle entities.

Solution: Implemented object pooling for particle and trail segments, reusing existing object instances in memory rather than triggering continuous allocations.

Challenge 2:Ensuring accurate swipe collision detection across various screen resolutions and aspect ratios.

Solution: Normalized coordinate systems relative to a virtual reference canvas, ensuring slicing physics and hitbox precision remained uniform on phones and tablets.