One nearby in-game enemy
One friendly surrounded by two enemies
Kids - we lament - don't play manhunt any more. It's not a social thing; rather, friends meet up on Call of Duty or other fast-paced videogames. We're aiming to change that with an augmented-reality mini-map to complement your manhunt, capture-the-flag (CTF), and even office Nerf wars!
What it does
Our iPhone app brings your gaming fantasies into the real world. Meet up with your friends, make a group, and split into teams. Let the manhunt begin!
Our app is gametype independent - it has no notion of rules. How players use the in-game minimap is left up to them. Possibilities include:
- Hide 'n Seek
- Capture the Flag
- Freeze/blob tag
- Nerf wars
How we built it
Our back-end runs solely in-memory using Java's extremely lightweight Spark web framework (somewhat similar to Sinatra). The front end application is a native iOS app written in objective-C. We utilized the MapBox API to display and style our map.
Challenges we ran into
Heroku does not like running Spark/Java applications. On each deployment, Heroku assigns an arbitrary port number for applications to run on, and if it doesn't bind to that port in 60 seconds, the dyno sleeps. We fixed this by hosting on a home server using Ngrok and Tmux.
On the iOS side, we ran into issues with map customization and switched from using Apple's MapKit framework to MapBox, an alternative which allows for greater customization. We also ran into some issues with networking and with animation rendering.
Accomplishments that we're proud of
We put a lot of hard work into designing the minimap screen itself. Specifically, we're very proud of how the application displays other users' location and the radar spinner.
What we learned
Our team members learned a lot, ranging from networking concepts to new full-fledged frameworks. Including:
- Objective C/Xcode
- HTTP/HTTPS connections
- Java's Spark web framework