Inspiration
We wanted to create a game for the whole world can play a giant game of tag where any user can play at any time. Through Cyber-Plague, players attempt to survive by running from the infected while the infected players attempt to chase. We, like many others, have always been interested in zombies apocalypse scenarios and this app gives users the opportunity to safely live through them!
What it does
Our app uses the GPS location of each healthy user and cross-references with other infected users to change the status of the healthy. Users see a real-time updated map where they see Infected and healthy players in their location. This creates two roles in the game: Healthy players stay away from the infected and the Infected attempt to infect others. The map markers dictate blue for healthy and red for infected. The game is unique because infection is exponetial-surviving gets increasingly hard over time.
How we built it
We used React-Native, expo, and FireBase to build this app. React-Native was used to build the entire structure of the logic of the app by displaying the GPS-colored markers for each player. Expo hosted the app server that allowed us to test and play the game. We used the Real-Time database from FireBase to create a constantly updating database of users, coordinates, and infection status for the players to pull to use to see who is infected and where they are.
Challenges we ran into
Our first main challenge was collecting unique ids from each user device. This id was necessary for all game functions There were not many packages that expo hosted that we could use to achieve this goal. Thus, we had to think creatively to identify each device. Next, it was very difficult to use firebase with no previous experience. We had to learn how to store and retrieve data from the database, updating in real time. Getting multiple users gps and displaying them to all users proved difficult. We had to add markers for each user simultaneously.
Accomplishments that we're proud of
We are proud of utilizing firebase to keep track of user infection status and making conditions that update with physical proximity. We are also proud of getting unique device identifiers when there were not many useful packages avalible. Lastly, we are proud of setting up and using expo when we never have before and we are proud we can play the game together!
What we learned
We learned how to use javascript,firebase, mapview packages, and expo in this project. We learned syntax rules and important information for app development.
What's next for CyberPlague
We hope to add an end game features where the healthy player can win through surviving a given timeframe or lose if everyone is infected. iIth this we can reset the status of all players and begin again the game. We also aim to add multiple servers so people can play private games with their friends.
Log in or sign up for Devpost to join the conversation.