BrickUsingMultipleModules (short: *BUMM*) is a riddle game themed around bomb defusals. After an evening of playing Keep talking and nobody explodes I was sure that this has to be transferred to hardware. The goal of defusing multiple modules is the same, but the hardware implementation calls for some serious changes. Cutting wires was out of the question, since nobody was found to replace them for a new round.
Each module has its own arduino and is connected to a parallel bus backplane (speaking 5V UART at 19200 baud). Each module contains its own logic and only tells the gamemaster whether it has been defused and if any manipulations (mistakes) were detected.
The gamemaster is a Raspberry Pi running a python script. Apart from the game logic and audio output, it opens a TCP socket which can be used to control the game remotely. The network protocol is based on tree structures serialized to JSON and terminated with NULL.
All lookuptables and manuals are generated completely automatic from config files using python and make.
All material, be it gamemaster scripts, arduino code, *.tex for manuals or svg files for lasercutting are available on github.