WS2812B and FastLED
The arcade cabinet is lit up by a series of WS2812B individually addressable LEDs that I wanted to reflect the player’s in-game color. Because I had decided to go with a color profile in HSB (Hue, Saturation, and Brightness), I needed to find an Arduino library that was compatible with converting HSB values to cRGB values (which are what the LEDs understand). Using the fastLED library, I was able to send the value of the player’s hue (both saturation and brightness are set to always be 255 for vibrant colors) over serial communication every time the player catches a shape and absorbs its color.
This is more of a fun little addition than anything else. There is space on the cabinet for four SG90 MicroServo motors that are all controlled using low power from the Arduino directly. They are used to control spinning shapes that are mapped to players movements with the dials.
EL Wire and USB AC Inverter
To complete the aesthetic look of the cabinet, I added two 1 meter lengths of EL wire to the outer edges with high adhesive automotive foam tape. This gave the cabinet an additional layer of definition, and a glow in low light environments. They were connected to power by using the USB port of the Raspberry Pi running the game.
The final version of Shape Arcade is built to be running on a Raspberry Pi 3 B+. This recent version of the Raspberry Pi does not support versions of the Raspbian operating system that, at the time of this writing, are compatible with openFrameworks. This led to a pretty significant challenge where I needed to find a way to get it up and running on Raspbian Stretch. A forum post by bakercp on compiling openFrameworks for Raspberry Pi was instrumental in helping me build a stable version of Shape Arcade for release.