Skip to content

Repository files navigation

Ghost Runner πŸƒβ€β™‚οΈπŸ‘»

Retro 2D Hybrid Fitness Engine for PC & Mobile (v1.104)

Ghost Runner is a retro 80s-inspired cyberpunk 2D side-scrolling fitness application. It combines real-time GPS telemetry tracking with Kalman filter smoothing, multi-format FIT/GPX/XML parsing, cloud ghost sharing, dynamic Phaser 2D pixel-art graphics, multi-track Tone.js synthwave audio, AI pacer bots, Cyber Garage cosmetics, structured interval workouts, WebRTC P2P multiplayer racing, and robotic voice coaching.

Ghost Runner Overview Tech Stack Version


🌟 Key Features (v1.104)

  • πŸƒβ€β™‚οΈ Structured Interval Workouts: Workout Plan builder with step types (Warmup, Work, Rest, Cooldown, Repeats) and preset plans (5K Tempo Crusher, VO2 Max Pyramids, Endurance Long Run).
  • πŸ“ˆ ACWR Adaptive Fatigue Target Pacing: 7-day acute to 28-day chronic workload ratio analysis for intelligent pace adaptation and overreaching injury prevention.
  • 🏎️ Live WebRTC P2P Ghost Racing & Slipstreaming: Low-latency coordinate exchange with 2-4m aerodynamic drafting and cadence boost mechanics.
  • 🎧 Spatial 3D Audio & Multilingual Announcers: HRTF 3D ghost panning with Japanese Arcade, Cyber AI, and 80s Track Coach voice soundboards.
  • πŸ’‘ Volumetric Neon Lighting & Dynamic Weather v2: Real-time shader light rays, dynamic ground shadows, volumetric fog layers, and thunder lightning flashes.
  • πŸ“± AMOLED Ambient Display & Android Widget: 15 FPS pure-black battery saving mode and native Android Quick-Start home screen widget.
  • 🌍 Full Internationalization (i18n): English (EN), Spanish (ES), Japanese (JA), German (DE), and French (FR).
  • ⚑ Wasm SIMD Parallel Interpolation: 4-lane parallel vector math acceleration for multi-ghost race tracks.

πŸ› οΈ Local Development & Build Commands

Prerequisites

  • Node.js (v20+ recommended, Node 22 supported)
  • Rust & Cargo (for Tauri desktop build)
  • Android Studio & JDK 21 (for Android .apk compilation)

Development Setup

# Clone the repository
git clone https://github.com/valliente/ghost-runner.git
cd ghost-runner

# Install dependencies
npm install

# Start Vite local dev server
npm run dev

# Run automated Vitest test suite (30 tests across 13 suites)
npm test

πŸ’» Compiling PC .exe / App Bundle (Tauri)

# 1. Build web distribution
npm run build

# 2. Build production Windows installer (.exe / .msi)
npx tauri build

Output binaries will be saved in src-tauri/target/release/bundle/nsis/GhostRunner-v1.104-Setup.exe.


πŸ“± Compiling Android APK (Capacitor)

# 1. Build web distribution & sync native assets
npm run build
npx cap sync android

# 2. Compile release APK using Gradle wrapper
cd android
./gradlew assembleRelease
# (On Windows PowerShell: .\gradlew.bat assembleRelease)

Output APK is located at android/app/build/outputs/apk/release/app-release-unsigned.apk.


πŸ”§ Hardware & Device Troubleshooting

1. Bluetooth Low Energy (BLE) Sensors

  • Supported Sensors: Heart rate monitors (Polar H10, Garmin HRM-Pro, Wahoo TICKR) and RSC Foot Pods (Stryd, Zwift RunPod, Garmin Foot Pod).
  • Setup: In Ghost Runner, click CONNECT BLE HR or pair in Settings.

2. Android GPS & Background Battery Optimization

To ensure the GPS tracker and Foreground Service never get killed by Android Doze Mode:

  1. Open Android Settings > Apps > Ghost Runner.
  2. Go to Battery > Battery Usage.
  3. Set background usage to Unrestricted (Don't optimize).
  4. Verify Location Permission is set to Allow all the time (including Precise Location).

πŸ“œ License

MIT License. Built for retro cyberpunk fitness enthusiasts!

About

πŸƒβ€β™‚οΈ Retro 80s cyberpunk 2D side-scrolling fitness & running engine for PC & Android with real-time GPS tracking, Kalman filtering, WebRTC ghost racing, and synthwave audio.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages