I developed this interactive Unreal Engine project for Prototype Museum in Columbus, Ohio. The project combines several exhibits together across the museum, allowing guests to design a rocket, send it to a real-time queue, and then watch the rocket's attempted launch later in the museum's theater. I was responsible for development of the rocket designer and queue portions of the exhibit, while my Roto coworker Liv Teleha was responsible for the functionality of the launch scene.
The primary point of complexity for this series of exhibits was synchronizing the network communications. First, a user designed a rocket at one of the Rocket Designer kiosks. The rocket data was sent as JSON data over MQTT to the Queue scenes. There were several Queue scenes running across multiple machines, requiring queue functionality to be split into authoritative and non-authoritative variants. The authoritative Queue also needed to synchronize with the overall museum theater schedule to determine when to send stored rocket data over MQTT to the theater's Rocket Launch scene. The results of the Rocket Launch scene then needed to be sent to the Rocket Results scenes also running in the theater to update each rocket's result as it fails or succeeds to launch. Though Liv and I were working on our individual scene functionality independently, we needed to ensure that our rocket data was properly aligned and could be processed across all of these scenes.