Inspiration

Like most of the hackathons, we were initially thinking of making another Software Hack using some cool APIs. But our team came to a mutual conclusion that we need to step outside our comfort zone and make a Hardware Hack this time. While browsing through the hardware made available to us, courtesy of MLH, we came across the Myo Gesture Control Armband and decided to use it for our hack. While playing around with it and observing the motion control it gives us, we thought nothing would be cooler than recreating a classic endless runner video game, but with motion control! And here we have the final result - Neon

What it does

Its a classic endless runner video game based on the 80s retro theme with some twists. The player puts the Myo Armband and controls a bike with their arm gestures. The controls are as following -

1) Double Tap Gesture - Unlock the armband

2) Spread Fingers - Start the game

3) Hover Arm Right - Move the biker towards right

4) Hover Arm Left - Move the biker towards left

5) Rock your Arm Up - Shoot bullets

How we built it

We use an abstraction of WebGL called three.js to code our game. For integrating Myo Armband gestures we used a nice javascript binding made available on GitHub by thalmiclabs called myo.js. We also used NodeJS, ExpressJS and python HTTPServer to serve off our static files.

Challenges we ran into

Integrating the game logic with Myo gestures was one of the hardest challenges. Putting together two completely different APIs and making them work is always challenging but fun. Mapping even the slightest gestures to add precise control took us hours but it was necessary for good user experience.

Accomplishments that we're proud of

We have a working in-browser video game!

What we learned

None of us had ever done a hardware hack before. So we are proud that we have a working hardware hack this time. We also learned WebGL for the first time so that was definitely challenging and fun at the same time.

What's next for Neon

We would like to make it a multiplayer game that users can play with friends. Eventually, we would add more arenas, difficulty levels and an option to choose your avatar.

TO-DO

  • Offline caching for highscores
  • Online multiplayer over WebRTC
  • Keyboard + mouse support
  • Language support
  • Audio/sound effects
Share this project:
×

Updates