Inspiration
Our project, Subway Surfing on Rails, took inspiration from how fascinating it would be to engage in a game with hand gestures. The idea of real-time interaction by only using hand movements began our steam-trains of innovations.
What it does
Subway Surfing on Rails is a gesture-controlled game. The game uses AI-powered hand tracking to detect gestures such as thumps up for left, and opened palm for right. Several players would match up against one another to race across 5 lanes.
How we built it
- The game subway and car race compete are implemented by pygame. Read document to fast familiar with the framework and then ask AI for unfamiliar and confusing features for us.
- The gesture detection is implemented by mediapipe. Use an open source gesture detection tool to fast build a recognition function and then apply it as a controller in our game.
- Implement the back-end server through ruby-on-rails framework and implement the websocket stream connection.
Challenges we ran into
Some challenges our team had faced were:
- Acquiring accurate hand gesture detection.
- Implement a game with pygame which have never used before
- Different design ideas from a local game to a multi-player game
- Providing real-time responsive gaming experience.
- Implementing two-player functionality.
Accomplishments that we're proud of
We successfully implemented gesture recognition and real-time controls, which made it possible to make an engaging gaming experience. Our team collaborated effectively with breaking up tasks, combining our expertise in AI, and software development. We are proud of overcoming technical obstacles to have smooth gameplay.
What we learned
- Gesture recognition technologies and their practical applications.
- Integration of AI
- Building a game by pygame hand by hand
- Design and Implement a product from a basic idea
What's next for Subway Surfing on Rails
- Adding multiplayer
- Add voice controller
- Improve the game performance for stable running
Built With
- mediapipe
- pygame
- python
- ruby-on-rails
- socket.io
Log in or sign up for Devpost to join the conversation.