Inspiration

Mekamon are lots of fun, but quite expensive, so I want to be able to play with my Mekamon with my friends without them all needing to own one.

What it does

Mekamon Tank Crew allows three players to control a Mekamon at the same time - one controlling movement, one controlling rotation, and one commander coordinating their movements. Each player can see all players' controls, but only control their own.

How we built it

We wrote an Android app that connects to the Mekamon over Bluetooth Low Energy and exposes an interface to it over PubNub - both acting on commands and reading and reporting its status. Separately, we wrote an HTML5/Javascript client (used by the players) that sends commands over PubNub and displays the Mekamon's status and other players' commands.

Challenges we ran into

The main challenge was getting Android talking to the Mekamon. There isn't yet an Android API for Mekamon, so we wrote one ourselves. We found some sample code for UART over Bluetooth Low Energy (MIT-licensed, from Adafruit) but this was not compatible with the Mekamon, as it required function that the Mekamon doesn't support (and doesn't need to). We modified the code to get this working and wrote a Mekamon API using it, but then hit a few issues with Mekamon Bluetooth protocol documentation.

Accomplishments that we're proud of

Getting Android talking to the Mekamon!

This was also the first time Yin Yee had written any Android or much Javascript code, which is an impressive accomplishment!

What we learned

A lot about Android and Bluetooth Low Energy and Javascript.

...and that it's fun to work as a team to control a Mekamon!

What's next for Mekamon Tank Crew

The current code is reasonably stable, but quite locked to the current configuration - the main things that are required before we release are allowing the Android app user to select which Mekamon to connect to, and allowing players to select which game to join... and making it looking a bit prettier!

The original idea was to allow each player to control separate Mekamon legs so that, for example, player 1 controls the front-left leg, player 2 controls the front-right leg, etc.. This isn't possible with the current Mekamon firmware, but might be in future.

It could also be interesting building the control UI into a VR environment. As well as making the gameplay more immersive, it would mean that the non-commander players would not be able to look at the Mekamon themselves, and would be more dependent on the commander's guidance.

Built With

Share this project:

Updates