Our project gives groups of up to 5 people a fun game to play indoors or outdoors that will get them sneaking around. Friends can join an online room and take pictures of each other (w/ consent in public places) to score points.
Inspiration
We were inspired by online games, such as Codenames and Spyfall, which encourage gathering and social interaction, and we wanted to create an app that could help people connect and have fun in the real world. The twist we wanted to add was for our game to encourage movement and exploration, as we felt as though this was a component that was currently missing in many popular online games. We also felt that taking photos can be a lot of fun, especially when we catch our friends in candid moments.
What it does
Photo Assassin is a multiplayer mobile web game where players “assassinate” their friends by stealthily taking photos of them. During games, players take photos of each other, after which they can choose who their target player was. The target is then immobilized for a brief period, enforced by cell phone geolocation. The game ends after a set number of photos are taken and whoever took the most photos of other people wins.
How we built it
We built Photo Assassin using CockroachDB, Flask, Next.JS, React.JS, and a Raspberry Pi. We used Flask for our backend, which integrated with CockroachDB .
Challenges we ran into
We ran into many challenges when tackling both the frontend and backend aspects of the game. On the frontend, we decided to use Chakra UI because of the mobile compatibility it presented. Nobody on the team was very familiar with this tool, so learning how to use the tool on such short notice proved to be a challenging task. For the backend, a challenge we ran into was using WebSockets. We really struggled with figuring out how to add clients to rooms. We were unable to figure out how to keep clients/users in the rooms that they joined and deliver messages to them. It felt as though every time we tried to join a room, the client joined but disconnected.
Accomplishments that we're proud of
A major accomplishment we are proud of is the UI we were able to develop. We are also proud of how much we were able to learn about CockroachDB and Websockets.
What we learned
Throughout this process, we have learned many new tools, such as WebSockets, CockroachDB, Flask, and Chakra UI. We also learned how to use all of these tools to create a working game hosted on a mobile website, and we learned how to tunnel ssh to run services locally.
What's next for Photo Assassin
Future plans include expanding the game to include more features. We want to eventually include a Machine-learning feature that can verify that the pictures that are taken are indeed human faces (we actually already have a live API that does just that!). We also want to eventually allow users to have more settings to choose from while playing the game.
Log in or sign up for Devpost to join the conversation.