Fruity Ninja
Fast-paced arcade fruit slicing game with low-latency touch gestures and particle effects.
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.
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.
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
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.