Our inspiration for building this project stems from the University of Toronto itself. Acclaimed as the most sustainable school in the world, the University of Toronto's valiant efforts in maintaining sustainability prompted us to create a project that simulates a major problem within our society.
Clean Shot is a game that integrates wearable technology with an educational twist, centring on sustainability and green practices.
How we built
Clean Shot has two components; the custom-built game centring around sustainability, and a wearable gesture glove technology for virtual game inputs.
The game is developed using the pygame engine, leveraging its display and event handling to manage the menu, gameplay, and game-over screens. We implemented the gameplay loop with a while loop to continuously update the game state, using Clock to regulate the frame rate, event.get() for input handling, update() for movement and physics, blit() for rendering graphics, and checks for collisions, scoring, and game-over conditions.
For the gesture glove, we used an ESP32-S3 and MPU6050 to capture angular velocity and accelerometer data. We have used a complementary filter to fuse the gyroscope and accelerometer data to give tangible values that then could be interpreted as swipe gestures. Using a UDP client-server model, the data is transmitted from the ESP32 to the host machine via Wi-Fi, where it’s integrated into the game mechanics, allowing players to control the game through interactive gestures.
Challenges we ran into
Breadboard integration caused a Windows “Death Screen”. Gyroscope not working. Inconsistency with the object’s speeds. Integrating Software and Hardware.
Accomplishments that we're proud of
What we learned
We learned how to utilize Python's cross-platform Pygame to create a video game that is able to render background graphics, sprites, and basic game functionality such as ball movement and physics. Additionally, we also learned how to control the gameplay movements with a remote gyroscope connection. In terms of hardware and networking, we learned about the UDP protocol, and how to use various filters to reduce noise from sensor data.
What's next for Clean Shot
More Games: We plan to expand our platform with a gaming interface featuring multiple mini-sustainability challenges to enhance engagement and awareness. Voluntary: #TeamSeas and #TeamTrees are major sustainability initiatives. We aim to create our own while inspiring others to join these global movements. VR: Use a VR/AR Glass to display the game providing an immersive experience.
Log in or sign up for Devpost to join the conversation.