The UC Funkit is an in-house development board based around the ATmega32u2 microcontroller which housed a 5x7 LED matrix, a combination of buttons and IR send/receive capabilities. We were tasked with developing a game that can be played using these Funkit boards. The game had to enable the LED matrix as a screen, use the buttons as user input and contain some form of multiplayer interaction with the IR interface. Alongside the C files, we also had to develop our own makefile for the compiler. Our final game was paper-scissors-rock, however to add a level of complexity we decided to have display animations for each option, as well as a waiting animation when you opponent had not yet selected their move.
Game selection: As the hardware is limited computationally and through UI, it was important to select a game that was easily understandable/straight forward to play, while still being able to demonstrate our software design skills. We opted to develop a simple game of Paper, Scissors, Rock.
Animations: Rather than having letters or words displayed on the option selection screen, we took on the challenge of developing our own “pixel art” animations for the 3 playable options. Careful considerations we had to make were how often the “display” refreshed, alongside designing the animations to be easy to understand.