Protocol: GhostGrid — Asynchronous Tactical Auto-Battler
Mobile Game, Android App ★ Featured

Protocol: GhostGrid — Asynchronous Tactical Auto-Battler

A 60 FPS Jetpack Compose Canvas auto-battler featuring a deterministic integer combat engine, procedural PCM audio synthesis, and deep squad customization.

Tech Stack
Kotlin Jetpack Compose TypeScript

Protocol: GhostGrid is a native sci-fi asynchronous tactical auto-battler for Android. Players build, upgrade, and position specialized drone squads across an 8x4 tactical grid to compete in high-stakes Best-of-5 match series.

Instead of requiring synchronous real-time matchmaking lobbies, the game utilizes serverless Cloudflare D1 relational SQLite infrastructure: every completed run automatically archives player squad formations to serve as real "ghost opponents" for other players globally.


⚔️ Key Features & Mechanics

  • Best-of-5 Match Series: Battles execute in a First-to-3-Wins series with a live 5-round scoreboard header ([R1] through [R5]).
  • 18 Unique Vector Chassis: Every single drone variant features a 100% custom, distinct vector model rendered natively on the 8x4 Compose Canvas.
  • Blueprint Shards & Mythic Crafting: Earn Blueprint Shards at the end of runs to craft legendary drones like Void Prime and Quantum Prime.
  • 10-Level Drone Progression: Upgrade Prime Drones and Companion Drones up to Level 10 to unlock Orbital Support Pod slots and enhanced stats.
  • Custom Call-Signs & Cloud Saves: Customize your player name and sync progress seamlessly with 0-login hardware keys.

🏗️ Engineering & Technical Architecture

┌─────────────────────────────────────────────────────────────┐ │ ANDROID CLIENT │ │ ┌──────────────────────┐ ┌─────────────────────────┐ │ │ │ Jetpack Compose UI │ │ Deterministic Engine │ │ │ │ - Canvas 60 FPS │ ───► │ - 20 Ticks/Sec Integer │ │ │ │ - Vector Math Shapes │ │ - Best-of-5 Simulation │ │ │ └──────────────────────┘ └─────────────────────────┘ │ │ │ │ │ │ ▼ ▼ │ │ ┌──────────────────────┐ ┌─────────────────────────┐ │ │ │ MetaEconomyManager │ │ Procedural Synth Engine │ │ │ │ - StateFlow / Prefs │ │ - Real-time PCM Synth │ │ │ └──────────────────────┘ └─────────────────────────┘ │ └────────────┬────────────────────────────────────────────────┘ │ Retrofit REST API (0-Login Device ID Sync) ▼ ┌─────────────────────────────────────────────────────────────┐ │ SERVERLESS CLOUD BACKEND │ │ ┌───────────────────────────────────────────────────────┐ │ │ │ Cloudflare Workers (TypeScript) │ │ │ │ - POST /api/v1/player/sync & GET /player/data │ │ │ │ - POST /api/v1/matchmake │ │ │ └──────────────────────────┬────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌───────────────────────────────────────────────────────┐ │ │ │ Cloudflare D1 Relational SQLite Database │ │ │ │ - player_accounts (Device ID, Call-Signs) │ │ │ │ - player_currencies (Gems, Gold, Shards) │ │ │ │ - player_armory_progress (JSON Levels, Pods, Skins) │ │ │ │ - ghost_squads (Indexed Matchmaking Payloads) │ │ │ └───────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘
  • 60 FPS Compose Canvas: Vector rendering math with sub-tick position interpolation, smooth 360-degree support pod orbits, and pulsing skin auras.
  • Deterministic Integer Engine: Operates at 20 ticks-per-second using pure integer arithmetic to eliminate floating-point drift across hardware devices.
  • Procedural Audio Synth: Zero-asset audio engine generating real-time PCM byte arrays via Android's native AudioTrack synth (~5.9 MB app bundle size).
  • Cloudflare D1 Sync: Relational SQLite schema syncing Gems, Gold, Blueprint Shards, Drone Levels, and custom player call-signs.

📊 Key Technical Metrics

Metric Target / Result
App Bundle Size (AAB) ~5.9 MB (R8 Minified)
Canvas Render Performance Solid 60 FPS
Match Series Simulation Time < 120 ms (5 Battles)
Cloud Database Latency < 1 ms Execution Time
Back to Projects