first_page

Beagle Boop


Beagle Boop Game Board

An interactive multiplayer game board loosely based on the “Bop It!” and “Simon Says” game systems. Players are asked to perform a particular action through an audio prompt, e.g. moving the joystick up, pressing a button, tilting the board, etc.

My contributions were:


The Inspiration and Problem

I wanted to learn more about embedded coding aswell as practice the Javascript and networking skills I gained from my previous hackathons.

My team and I were able to use Agile methodologies to create something really fun!


The Solution

The game is configured and started through our web console hosted on GitHub Pages. The web console writes the game settings to our Firebase Realtime Database instance, from which the BBG clients are continually reading. When a value in the database indicates so, the clients begin the game.


A general representation of a board in the database


Game UML:


Button Sequence Wiring Schematic


Video showing game in action.


The System and Technologies

The Game is build in C and utalizes the libasound, libCurl, and JSON-C libraries.

The Web console was build with 85% JQuery and some HTML and CSS.

The Database is in JSON.


Challenges we ran into

While implementing the C code was easy, cross compiling the CURL (lcurl) and JSON-C (ljson) libraries was an increadably hard task. There are no tutorials online how to do this so I spent alot of time debugging, but eventually got it to work!

I created a tutorial on how I did this so I, and hopefully no one else, will ever have to go through that trouble again!


Acknowledgements

The main guides used where for CURL and JSON-C. Most of these guides were used as references and none were directly copied from:


GitHub Game Code Repo

GitHub Web console Repo