Google Cloud has modernized a classic pinball machine by adding cloud connectivity. They created Backlogged Pinball, a physical pinball machine that connects to the cloud for services such as tracking data about current and completed games, and updating leaderboards. The challenge they faced was that the machine's software environment was limited, running on a sandboxed version of .NET Framework 3.5. This meant they couldn't use any of the modern Google Cloud SDKs available for C#, and they couldn’t install tools like gcloud to communicate with the cloud. To overcome this challenge, they designed a custom Pub/Sub messaging system. They wrote their own lightweight Pub/Sub library for the pinball machine to handle authentication and message sending over the REST API. On the cloud side, their team used multiple Cloud Run subscribers to process these events in real time. They also used Firestore to store data and drive visualizations. They found that pushing the complexity of integration into the cloud brought numerous advantages, such as a single interface, real-time updates, and rich data insights. They are already planning the next iteration of Backlogged Pinball with features they hadn’t originally considered, such as adding AI-powered game analysis and advice based on the player’s style. Thanks to this flexible cloud-based architecture, almost all the work will be in a modern cloud environment rather than fighting with dependencies on a legacy system.
Flipping Out: Modernizing a Classic Pinball Machine with Cloud Connectivity
Google Cloud