Inspiration

Taking inspiration from I-Spy and a small indie game called “Before Your Eyes”, we wanted to put a twist on a timeless classic. “Before Your Eyes” used a webcam in order to progress throughout the game’s story by using your blinks and your eyes became the cursor. In our game, we wanted to incorporate the blink detection software and make our blinks the "timer" for how long we could play I-Spy for.

What it does

Our game takes the classic I-Spy books to the next level. Utilizing blink detection software and your webcam, the player is able to click away at our mini Petr scavenger hunts with varying difficulties. Try to find all the hidden Peters! You blink, you lose!

How we built it

Our team has a mainly Python coding background. Wanting to focus on our strengths, we decided to try to build a game using Python's vast libraries at our disposal. Two of the key components to our game were the OpenCV and Tkinter libraries. OpenCV was used to help implement our blink detection software. Using the Haar Cascade, a feature-based classifier, we were able to create a blink detector for our game. The other portion of our game was the GUI portion, which we used Tkinter to implement. This helped us incorporate the Petr buttons and the background image.

Challenges we ran into

We couldn’t integrate the Python-based blink detection software into an HTML website, so we pivoted towards using Tkinter for the GUI instead.

Accomplishments that we're proud of

Getting the facial and blink detection software running! Adapting and overcoming the restrictions our software has (i.e. unable to integrate into HTML website) at short notice.

What we learned

We learned how blink detection works and how to implement Tkinter components. We also learned how to collaborate effectively in a hybrid format!

What's next for PetrWatch

We may need to tweak the blink detection software, as it doesn't work well in low light. Eventually, we want to add more levels with images of increasing complexity!

Built With

Share this project:

Updates