Inspiration

Tetris is a famous classic puzzle video game which has captivated players worldwide since the 1980s. With the current rapid advancements in technology shaping the game development industry, our goal was to leverage AI and motion tracking to enhance the game’s interactivity in order to create a fresh spin on its timelessness, adding a fun aspect to a classic game.

What it does

Unlike your standard game of Tetris, TeTrack is played with only the players hands, away from the keyboard. Allowing players to have their hands detected via a laptop webcam, falling blocks can be moved and rotated by pinching them, and dropped by letting go.

How we built it

We first made use of MediaPipe to create an AI in Python to accurately detect hand movement from a player through a laptop webcam by creating a mapping of 21 points on the hand. Next, we made use of Unity to model the hand within the game, adding this AI functionality to the hand. Finally, we developed the actual game mechanics of Tetris within Unity and implemented functionality for the hand to be able to move the pieces within the game.

Challenges we ran into

Our team was not experienced at Unity and were using it for a 3D project for the first time, and so we had to learn on the go during the 24 hours. As well as this, working out the physics for the hand tracking and Tetris falling blocks proved to be tricky, taking a lot of time to implement correctly.

Accomplishments that we're proud of

We’re very proud of creating a functional prototype of our idea within the time we were given, and with the way the game looks and speed which it runs at.

What we learned

We learnt a lot about AI motion tracking and became more familiar with game development, specifically within Unity. We also learnt more about group collaboration and making use of GitHub effectively for larger projects.

What's next for TeTrack

To develop our game further we would create a multiplayer mode, allowing two players to compete against each other with extra mechanics such as using motion tracking to throw a block from their side to their opponents.

Built With

Share this project:

Updates