Skip to content

Welcome to the Scorbit SDK Documentation!

Scorbit is a connected gaming platform that connects new and old arcade games to the Internet, allowing the layering of modern features on games of all eras. This includes games ranging from 1977 until today, using a combination of proprietary hardware, specialized software, and direct integrations.

The purpose of the Scorbit SDK is to provide game developers with the ability to directly integration Scorbit into their own game code, thus making it incredible simple to offer their players automated scoring, leaderboards, challenges, achievements, and many other modern features.

Philosophy and Architecture

Scorbit focuses on doing one thing extremely well: Operating a globally distributed cloud platform. This means that Scorbit does the heavy lifting to ensure a robust, fast, and deeply integrated experience while allowing game developers to focus on the games themselves. Using the Scorbit platform gives developers the flexibility to go as deep as they choose with the level of integration or competitive features they wish to implement.

The SDK provides libraries and examples for games written in C, C++, Python, and other languages in order to make connecting as simple as possible. The game integration libraries are open source, designed to interact seamlessly with custom-built network libraries that are maintained by Scorbit for stability and continuity between platforms.

Under the Hood

The Scorbit SDK contains two important components: The game code integration and the network libraries. The goal is to remove the complexity of the network layer from the game code, allowing the developer to focus on the game itself. The game code libraries allow you to include Scorbit functions in your own code, such as updating a score, displaying leaderboards, and more. Behind the scenes, these functions interact with the network layer which handles all communication with the Scorbit API. As network conditions change, and the complexity of managing the network layer to remain performant ans secure increases over time, Scorbit can update the network layer without any changes required to the game code.

The documentation is broken down into four sections:

Setup, Machine Profile, Game Menu and Provisioning

These are the building blocks to allowing a machine owner to register, provision, pair and authenticate with Scorbit. Pairing refers to the attaching of an unique physical network entity, such as a MPU or a VPIN, to its digital, virtual representation in the Scorbit system. When a player pairs a virtual machine to their physical one, the virtual one will mirror "live state" of whatever is happening to that machine - in real time - in the cloud. This generally requires activation and pairing steps from within a game menu with assistance of the Scorbit mobile application.

Game Code Integration and Session Management

Once a machine is paired, handling the establishing of a new game (when the player hits start) is just the beginning. Regular score, mode, target and other game state updates allow real-time spectators, achievements, and leaderboarding to happen as the game progresses. The SDK provides a way to send Scorbit all this information on a frequency that makes sense for the game code. This also handles the "claiming" of players to assigned player slots, or positions, which gives them the identity required for leaderboarding and achievements. Finally, this section allows for closing sessions and passing along all the detailed session logs and analytics for post-game analysis.

Attract Mode and Features In Between Games

Scorbit has value both during games as well as in between. The attract mode features are designed to allow the developer to display local leaderboards, global leaderboards, QR codes for the app, tournament information, promotions, and much more, all managed via the cloud interface.

Network Management and Updates

Finally, the SDK network library takes care of all the load balancing, socket connections and heartbeats to the cloud infrastructure, updating itself when required for security or performance reasons. By separating the network management from the game integration, this allows for patching the network library to be decoupled from game code updates.