Inspiration

We wanted to combine gesture-based recognition with the retro styles of online 2D games of our childhoods to create a hands-free endless runner gaming experience.

What it does

SubZero Surfers provides a fun, immersive twist to a winter-themed endless runner game. The player enters a three-lane snowy forest filled with obstacles and their penguin avatar must avoid them. The player's movements are detected using a camera and pointing left and right prompts the penguin to change lanes. After three collisions with obstacles, the player is out of lives, loses and has the opportunity to start again!

How we built it

Our game uses a modular architecture in Python and runs on Pygame. It consists of an infinitely scrolling background and a randomized obstacle spawning mechanism. We used the MediaPipe package to process real-time webcam feed of hand gesture recognition to move the penguin player.

Challenges we ran into

The biggest challenge was minimizing the reaction time of the player, in other words, the delay between the camera input to the in-game response. We had to keep the architecture clean and efficient to optimize that pipeline to ensure smooth gameplay.

Accomplishments that we're proud of

Most of all, we are proud to have created a working project for our first hackathon. As coding beginners, getting a fast response rate from an integrated hand recognition input to our actual player's movements was a sizable achievement.

What we learned

We learned how to use the Pygame, OpenCV, and MediaPipe libraries in Python. We also learned to manage our project using Git since working simultaneously on a project of this size was a first for some of our team.

What's next for Subzero Surfers

We hope to implement more gesture-based obstacle avoidance possibilities, like jumping over or gliding under certain obstacles by pointing up and down.
We want to create a second game mode where the player can speed up the player or have "challenges" where the game itself speeds up momentarily.
Finally, we will add more avatars for the player to choose from!

Built With

Share this project:

Updates