(Repost of HackGT 2015 submission because HackGT did not use Devpost)
HealthKit is a set of data tools focused on personal health for iOS devices. While there are many apps that utilize the API for data collecting and analyzing reasons, very few apps use it to encourage iOS users to physically engage themselves and commit themselves to fitness. We wanted to make a game that would do just that through social competition. The inspiration behind the individual gameplay mechanics was Pokemon, as who hasn't thought of what it would be like if we could train ourselves and gain abilities like a pokemon?
What it does
Fit Fighter is a iOS game that collects information related to exercising activities such as running, biking, climbing, and anything that elevates heartrate and energy use. This data is fed to our servers, and players will be rewarded with upgrades to basic abilities such as tackle, guard, heal, etc. Additionally, every few milestones, players will gain access to super powers including fire breath, lasers, and awesome stuff. Players will be able to challenge people on their friends lists and show off the fruits of their exercise by activating their newly improved abilities and awesome superpowers. Battles are pokemon styled turn-base battles, and players are able to engage in battles with more than one player at a time.
How we built it
- We worked close together to enable heavy brainstorming throughout on deciding the gameplay and then how do we go about it considering the heavy constraints of time.
- Setting up MongoLabs on Azure was another task, as to link it is as URI, so that everyone can simultaneously use it for programming.
- Setting up a node server on Azure did take some time, but once it was up, it was smooth as ever and thanks to foreverjs (didn’t get to use pc2) we could integrate continuously using Git.
- NodeJS was the central link as it was binding data across platforms and with a lot of heavy data manipulation and connectivity issues with established the APIs to return the user details, and update the healthkit API over the app.
- On the Swift side we created an app for user interaction with various elements that the user would require. It is the point of interaction with the user and is built to potentially support good amount of engagement.
Challenges we ran into
- Express POST Request across the Platform
- Integration of POST (REST APIs) into Swift and Reading the data Back as JSON
- Setting up Azure Linux System and Installing the full suite of tools to get up and running
- Continuous Integration using foreverJS and Git.
- Working on Multiple platforms together like iOS, Azure and integrating with NodeJS using standard GET POST Restful Requests.
- Acquiring data through the Health API by querying the HealthKit after obtaining authorization.
Accomplishments that we’re proud of
Through FitFighter, we are successfully able to access iOS Health Data through health kit and use it to represent our own skill metrics. This is done through using the HealthKit API to get the data, formatting it as a JSON Object and using a post request to send it to the server, where it is successfully unpacked and attributed to the appropriate values.
The heavy challenges of getting stuck at various stages in Apple SWIFT, NodeJS and the interchange of the data was helpful in learning what exactly goes into large scalable applications and the fact that Couple of RESTful APIs are live on Azure is what we are really proud of.
What's next for Fit Fighters
- Chat messages within each battle
- Leaderboard system
- ELO Ranking system + matchmaking
- Push notifications
- Social Media Sharing
- Balance changing