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
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
AudioTracksynth (~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 |