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

  1. 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.
  2. 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.
  3. 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
Share this project:

Updates