Inspiration

A teammate once saw a YouTuber do a Minecraft mod where people could play it using their hands through a camera. Inspired by that, they went on to create a VR mod that brought the game to life in live action, turning the idea into something even more massive. He presented the idea to us through a popular and fun game like Tetris, and we were all on board, excited for the challenge of using new coding languages and libraries.

What it does

We’ll basically have the chance to play Tetris, the classic game we all know and love, but with the ability to control the blocks descending through hand movements. Whether it’s rotating, moving, or smashing the blocks down, we’ll be able to play classic Tetris with a fun twist!

How we built it

We first coded and ran some AI Python programs using OpenCV and MediaPipe (two Python libraries), and developed the game of Tetris using PyGame (another Python library). We then implemented an aesthetic and functional prototype of a user interface, developed sprites, and integrated them into the codebase. Finally, we combined all the visual and logical aspects to get our app working.

Challenges we ran into

We did NOT know how WebAssembly, PyGame, or OpenCV worked. We had to learn, test, and use online resources through similar examples of people doing simple tasks with these technologies. We also wanted to make an online version with Flask but we did not know enough about Flask to be able to do an app with it.

Accomplishments that we're proud of

We managed to accomplish a medium-difficulty game while also incorporating aspects of AI, all in one day. We worked with unfamiliar technologies but still persisted and achieved our goal.

What we learned

We learned how to manage a team and the different workflows that were implemented. We separated the team depending on our strengths and weaknesses and helped each other throughout the project. We used an Agile approach, working in fast sprints so we could get results in better time frames and have more time for the end in case anything happens. The flexibility of Agile allowed us to adapt and adjust depending on the needs of the team. We also learned how to use these new technologies in an efficient manner, where we could not code completely without help online, yet still understand how the code works and flows.

What's next for Tetrawave

implement voice commands to control the different aspects of the game, and maybe even releasing the game online for the public to enjoy

Built With

Share this project:

Updates