Problem
A location-based game has to keep several phones in sync while players move through a real environment. It also has to recover cleanly from reconnects, enforce the play zone, and keep network, map, and battery use under control.
Solo build · 40,000+ downloads · 2025 - present
A real-time outdoor multiplayer game for iOS and Android, with live GPS, custom play zones, tactical items, and seven game modes. 40,000+ downloads.
HideZone turns any park or neighborhood into a multiplayer game board. I built and shipped the Flutter app end to end, from the host-authoritative game loop and Firebase synchronization to geofenced maps, items, subscriptions, ads, and both store releases.
A location-based game has to keep several phones in sync while players move through a real environment. It also has to recover cleanly from reconnects, enforce the play zone, and keep network, map, and battery use under control.
Built a host-authoritative game engine on top of Firebase Realtime Database. Seven game modes plug into isolated strategy bundles, while shared services handle location updates, zone rules, items, reconnects, maps, billing, ads, and privacy-safe diagnostics.
Designed, built, and shipped independently on Google Play and the App Store, reaching more than 40,000 organic downloads. The current architecture is backed by more than 2,200 Flutter tests, deterministic multiplayer simulations, traffic budgets, and automated checks around network ownership and wire compatibility.
Flutter and Riverpod power both mobile clients. A synchronous host engine owns game decisions, while mode-specific strategy bundles keep the rules for Standard, Zombie, Chase, Sardines, Murder Mystery, Meteor, and Assassin isolated. Focused Firebase repositories sit behind a compatibility facade, and versioned codecs protect the production wire format.
Scanners reveal locations, Proximity Mines set traps, Ghost Mode grants stealth, and Zone Movers flush out campers.
Standard, Zombie, Chase, Sardines, Murder Mystery, Meteor, and Assassin share one engine without mixing their rules.
Geofenced play areas, cancellable map requests, a bounded tile cache, and local-only match replays.
Anonymous sessions and tightly allowlisted Crashlytics records keep coordinates, names, lobby codes, and match data out of telemetry.
Started mobile development, establishing data schemas and core state structures.
Integrated game modes, the item system, and geographic boundaries.
Tested with local groups to tune GPS precision, battery use, and latency.
Shipped to the Google Play Store and refined systems based on early usage logs.
Reworked synchronization and polling to reduce unnecessary Realtime Database traffic.
Shipped to the Apple App Store with cross-platform multiplayer support.
Separated the host engine, mode rules, Firebase repositories, and UI ownership, then locked the behavior down with automated tests and traffic budgets.
Swipe or open to viewScroll, drag, or open to view