Inspiration

Computer vision is a branch of computer science that uses algorithms to detect, map, and track objects in the real world. The inspiration for this project came from many video games that track your movements using a camera to interact with a virtual world.

What it does

Tag Up! is a fast-paced, single-player game that uses the OpenCV and MediaPipe libraries to track the player's movements. Using a real-time camera feed and multiple landmarks for the players hands and feet, the player must tag each dot before the timer runs out. But beware - the higher your score, the shorter the timer!

How we built it

Tag Up! was built completely in Python. Utilizing libraries such as OpenCV, MediaPipe, and pygame, the Tag Up! UI was built and its functionality was created. Using the Holistic framework that MediaPipe offers, coordinates of each finger on both hands, and each foot are collected throughout each frame. These are called Landmarks. With OpenCV, dots were created that randomly span on the players screen. These dots have a color gradient that corresponds to the timer that is at the center of each dot. When a player moves their body so that a landmark, from either their hands or feet, are intersecting with the current dot on screen, they gain a point! Then a new dot is generated, reseting the timer and challenging the player again. As the player's score increases, the timer within the dots are decreased allowing only the best blayers with the quickest reactions to score highly. Once the timer runs out, that game is over, and the high score for that build of the program is stored. Now the player can start again!

Challenges we ran into

Some challenges that came up during the development process was the lack of prior experience with pygame. Creating a game UI entirely from this library proved to be a time-consuming task, but I feel as though I have a better understanding of how UIs are made and the Python language itself.

Accomplishments that we're proud of

An accomplishment that I am proud of is that this was a solo project. At first it was a daunting task to take on a project alone, but I decided to endure the challenge and give it a shot. In hindsight, I think it was a great decision to push myself to create a full project beginning to end. In the future, I wouldn't be opposed to working solo, but working with a team I feel I could accomplish much, much more.

What we learned

I learned a lot about how Computer Vision works internally and what is being captured and computed. I also learned some basic fundamentals of UI design including layouts and color schemes.

What's next for Tag Up!

For now, it will be a reference for future computer vision project I might pursue in the future. But maybe one day I will complete the full build into what the game could truly become.

Built With

Share this project:

Updates