Inspiration
We wanted to make fitness more fun and interactive. Inspired by games like Subway Surfers and the rise of AI-powered assistants, we combined physical motion tracking with gamified feedback. Our idea was to create a game where players physically move to control a character — blending exercise, gaming, and AI-generated encouragement.
What it does
Fitness Surfers is a motion-controlled game where players move left, right, or center using PIR sensors connected to an ESP32-S3 board. The character dodges obstacles in 3D-style lanes similar to Subway Surfers. When a player is about to crash, AI gives them custom coaching commands. If they fail to dodge, the game ends with a funny AI-generated joke to lighten the mood.
How we built it
- We used an ESP32-S3 microcontroller with two PIR sensors to detect left and right motion.
- The ESP32 sends serial data to a Python game built with Pygame.
- The game features animated GIFs, 3D-simulated lane switching, obstacles, and background music.
- We integrated Gemini AI (Google genAI) to generate:
- Game-over jokes based on the player's failure.
- We handled serial input parsing, real-time updates, and dynamic UI rendering.
Challenges we ran into
- Accurately detecting motion using PIR sensors and filtering out noise.
- Ensuring serial communication didn't lag or drop packets.
- Keeping the game responsive while making API calls to Gemini.
- Wrapping AI-generated text to fit neatly on the game screen.
- Balancing sound design so that effects didn’t clash or overlap.
Accomplishments that we're proud of
- A fully working motion-controlled game playable in real-time.
- Seamless hardware-software integration between ESP32 and Python.
- Creative use of AI-generated content to enhance player engagement.
- Custom animations, music, and smooth gameplay design.
- Making fitness actually fun through gamification and humor.
What we learned
- How to interface microcontrollers with Python games via serial ports.
- How to work with PIR motion sensors for physical interaction.
- Best practices for AI integration in real-time applications.
- Techniques for handling dynamic text rendering and UI constraints in Pygame.
What's next for Fitness Surfers
- Add voice feedback using text-to-speech for AI directions.
- Implement player avatars and custom skins.
- Introduce a multiplayer mode for fitness competitions.
- Track fitness metrics like reaction time and calories burned.
- Turn it into a classroom-friendly fitness tool for kids and families.
Log in or sign up for Devpost to join the conversation.