Inspiration
Students and developers frequently find themselves sitting for more than 10 hours a day, which can adversely affect their posture, energy levels, and creativity. We aimed to combat this sedentary lifestyle with something enjoyable and engaging. Thus, Questathon was created — a side-scrolling adventure that harnesses your body’s movements, encouraging people to rise from their chairs and get active without the need for any special equipment.
What it does
Questathon is a side-scrolling game where your character runs, jumps, and survives as long as you keep moving. It utilizes your webcam and MediaPipe pose detection to monitor your movements — the more active you are, the quicker your character dashes and dodges incoming threats. There’s no requirement for VR gear or sensors: all you need is your body, your webcam, and your determination to succeed. It transforms screen time into active time.
How we built it
We developed Questathon using:
- Python & PyQt5 for the game interface and user experience
- MediaPipe for real-time pose detection through the webcam
- UDP broadcasting to enable the local leaderboard system
- Multithreading to handle webcam input without causing lag in the game loop
- Basic game physics for enemy spawning, collision detection, and character control
Additionally, we implemented a point system based on movement energy and optimized sprite management, event timers, and pose-to-action mapping.
Challenges we ran into
- Achieving real-time pose data without causing lag in the game was challenging, particularly due to MediaPipe’s processing demands.
- Occasionally, energy values would spike or crash the game due to misinterpreted movements — we had to develop validation logic to smooth out erratic behavior.
- Threading bugs and issues with PyQt signal/slot mechanisms slowed our progress.
- Balancing visual updates while maintaining a steady FPS and keeping pose detection active proved to be tricky.
Accomplishments that we're proud of
- We successfully created a complete game with custom physics and live camera tracking in a short timeframe.
- The pose-based control system operates solely with a webcam, eliminating the need for sensors.
- We made it fun — users can run, jump, and dodge simply by moving their bodies.
- The leaderboard system functions across multiple devices on the same network.
What we learned
- Real-time camera input must be managed by background threads to ensure smooth performance.
- Pose estimation models like MediaPipe are incredibly effective but require careful tuning and validation.
- At times, visual feedback (such as character movements and enemies) needs to amplify physical input to create a satisfying experience.
- Working under tight deadlines with creative limitations fosters rapid innovation.
What's next for Questathon
- Multiplayer Mode: Challenge friends in real-time using synchronized movement data.
- Character Unlocks: Reward consistent movement with skins, speed boosts, or pets.
- Mobile Version: Transform your phone into both a camera and a screen — no laptop required.
- Health Dashboard: Display calories burned, session duration, and progress over time.
- School Integration: Develop a teacher dashboard for group movement sessions in the classroom.
(CHATGPT WAS USED TO CONVERT TO MARKDOWN)
Log in or sign up for Devpost to join the conversation.