Hierarchical State Machine
After some consideration, we decided to use a hierarchical structure rather than a flat state machine. The repetitive nature of the game tasks was perfectly handled by a few simple states shown in Robot Control. Furthermore, the concurrent running of SPI communications and handling with Robot Control was much simpler with a single top level state to handle all event posts. Once initially debugged to match the state charts, the state machine proved reliable to the end.