Inspiration

We wanted to create a game that gets people moving and connecting in the real world. Inspired by childhood games like hide-and-seek and capture-the-flag, we used modern location tech to bring that excitement outdoors.

What it does

Hostage is a multiplayer iOS game where players rotate as drivers (seekers), hostages (hiders), and game masters (moderators). Using GPS and geofencing, the app turns into a live game zone where teams race to drop off and rescue hostages while outsmarting each other.

How we built it

We built Hostage in SwiftUI for a seamless iOS experience, with Firebase Firestore powering real-time data sync, authentication, and state management. Core Location APIs provide GPS tracking, optimized with distance thresholds to balance accuracy and battery life. Key systems include a robust game state machine and proximity-based interactions.

Challenges we ran into

Our biggest challenge was syncing GPS data accurately across multiple devices while keeping the game smooth and fair. We also struggled with preventing false boundary alerts from GPS glitches and handling players disconnecting mid-game. On top of that, testing was tricky. We had to simulate multiple devices in the same location to make sure the system behaved correctly.

Accomplishments that we're proud of

We’re proud that we achieved real-time GPS tracking that runs efficiently on mobile devices, allowing smooth gameplay for up to 16 players. Most importantly, we created a scalable architecture that can grow with future features and new modes of play.

What we learned

We learned how to build real-time multiplayer systems, optimize Core Location, and manage complex SwiftUI navigation. On the game design side, we discovered how location-based play creates unique tension and fun social dynamics.

What's next for Hostage App

We plan to add a tournament mode, achievements, social features, and analytics to improve balance and engagement.

Built With

Share this project:

Updates