CVTetris
A cooler version of the popular Tetris game which allows the user to control the falling tiles using hand motion. It retains the classical game entertainment but now encourages users to be on the 'move' as they relish the game!
Categories aiming for:
- Best AI hack
- Most socially useful hack
- General category
Inspiration
Generations of us have enjoyed a good game of Tetris for long. But it is now getting mundane to control the falling blocks using the keyboard keys, and thus losing its excitement in the current generation. Hence, we came up with an idea of allowing the users to use their hand movements instead to control the falling blocks! This game establishes two main purposes:
- Bringing back the lost glory and fun of the game of Tetris by allowing the players to play using hand gestures.
- Encouraging physical movement and providing a more interactive and immersive user experience.
What it does
Allows the user to control the falling blocks' movement and orientation using a hand held object (green in colour, arbitrarily). The movements made by the user will be simulated by the block in the game board and the aim is to complete rows of blocks so as to make them disappear and gain points (100 for each row).
Directions to play:
Most directions of the game are retained, differing in the fact how the moves are indicated:
- Control the falling block using a green object.
- Move the object left to translate the block to the left of the screen.
- Move the object right to translate the block to the right of the screen.
- Move the object up to rotate the block by 90 degrees.
- Move the object down to speed up the fall.
How we built it
- OpenCV: lbrary used to implement real-time Computer Vision. Used to detect the green object and its motion by the user.
- Imutils: used to make basic image processing operations such as to resize the frame.
- PyGame: python module to design game including computer graphics and background music.
- Python: the underlaying programming language in which the entire logic of the game was coded.
- Git: used for version control and parallel implementation of features by different team members.
Challenges we ran into
We completed our phase one of implementation well within the target time. This motivated us to go a level higher to extend our application so as to provide multi-player interface, allowing two players to simultaneously control two separate falling blocks on the same game board. However, given the time constraints, we could not modify the code to incorporate the full functionality.
Accomplishments that we're proud of
The single player works perfectly!
What we learned
-Learned how to incorporate the OpenCV libraries to implement Computer Vision functionalities. -Working with a large existing game code to incorporate our functionalities. -Rigourous testing of all possible cases to ensure seamless UI/UX.
What's next for CVTetris
Trying to implement multi-player mode to allow more than 1 user to competitive or cooperative on a single fame board.

Log in or sign up for Devpost to join the conversation.