A wall-mounted reaction game built for public venues. Players hit lit buttons as fast as they can; the wall scores and ranks them. Software, scene design, and installation logic by me. Physical button hardware co-developed with an embedded engineer.
Batak is one of the oldest and most reliable interactive formats in event activation: lights blink in a sequence, players race to slap them out, the wall reports their time and accuracy. Simple in concept, brutally demanding in execution because the system has to be fast, latency between light-out and hit-detected is the difference between a fair game and a frustrating one.
I built the software stack: game logic, scoring, sequencing, score display, lighting patterns, the round timer, and the operator interface for resetting between players. The buttons themselves, the physical light-up domes, the microcontroller integration, the wiring, were co-developed with an embedded engineer with hardware specialization.
The interface between the two layers is where I did most of the integration work: a small serial protocol between the Unity-side game and the Arduino-side button controller that handles button-press events, light state, and recovery from disconnects.
┌────────────────────────────┐
│ Unity game (my work) │
│ - round timing │
│ - sequence generation │
│ - scoring, display │
│ - operator UI │
└─────────────┬──────────────┘
│ serial protocol
│
┌─────────────┴──────────────┐
│ Arduino / microcontroller│
│ (co-developed) │
│ - light state │
│ - button polling │
│ - debouncing │
└─────────────┬──────────────┘
│
┌─────────────┴──────────────┐
│ Physical buttons (HW) │
└────────────────────────────┘