Inspiration

A lot of the clubs on campus like to play large scale games of Assassin, a game in which every person playing the game is being hunted by someone else while they are also being hunting another player. This game often becomes complicated for the moderator who has to keep track of all of the assassins, targets, who's alive and who's dead.

What it does

This web app strives to make the moderator's job easier by keeping track of all of the data for you. Using the web app you can create a user id, add yourself to a game, start the game and play the game (provided you follow the honor system!) by terminating yourself once you have been killed by your assassin.

How we built it

This project is built with a mix of Python, Flask, mySQL, HTML and CSS. A database runs in the background with tables storing all of the data. The flask and mySQL code is able to connect the database to the online web app that has been created. The final app runs in a Linux VM hosted in Google Cloud.

Challenges we ran into

Coming into this hackathon our group had no previous knowledge of database coding and also no knowledge of creating a web app with flask. It was a big learning curve that slowed us down quite a bit, but we struggled through and came out with a working project.

We struggled with choosing a framework, as none of us are familiar with front end technologies beyond basic HTML, CSS, and JS. Our group was familiar with Python, and another hacker at the event recommended we use Flask. First, we tried to simply use Flask as an API hosted on Google App Engine. This API could be accessed by JS written in another program. This proved troublesome as Google App Engine didn't work well with our database. Instead, we opted to complete the entire project in flask, using templated HTML and Materialize to create our UI. After looking at various data storage options including dictionaries and lists, we eventually settled on a cloud SQL database that we accessed with MariaDB. We wanted to somehow be able to preview our application on the web, so a mentor (Steve Ortiz) helped us spin up a Linux VM in GCP and transfer our code to run on it.

Accomplishments that we're proud of

We're all extremely proud that we left our first hackathon with a working project that uses many applications that we've never explored before.

What we learned

We all learned at least the basics of flask and mySQL, two technologies that we had never dabbled in. We also learned that we can create anything that we put our mind to and to not be afraid to ask for help!

What's next for Assassin Game

What's next for the Assassin Game is more extensive debugging and eventually carrying the project over to IOS and Android.

Built With

Share this project:

Updates