Empowering the Next Generation of Gaming
In 2017, CryptoKitties launched as the first game built on Ethereum. The game allows users to buy, sell, and breed virtual cats using ETH. The success of CryptoKitties sparked interest in the potential of blockchain technology for use in gaming and opened the floodgates for the development of blockchain-based games. These games are connected to a blockchain and use tokens to represent in-game items and assets. These tokens can be bought, sold, and traded on decentralized marketplaces, giving players true ownership of their in-game assets.
The blockchain-based gaming market has continued to grow and evolve, with more games and platforms being developed to take advantage of the unique features of blockchain technology. Some blockchain-based games offer decentralized, player-driven economies and allow players to earn cryptocurrency through in-game activities. Other games are using blockchain technology to provide a fair and transparent gaming experience by using smart contracts to enforce the rules of the game.
But despite its growth in popularity and speed of innovation, blockchain-based gaming is still a relatively new field with many challenges to overcome. One of the main challenges facing the industry is how to incorporate sophisticated logic based on in-game activities to facilitate more complex earning schemes on-chain. Let’s break down what that means.
Types of data in Web3 games
Because they’re connected to the blockchain, Web3 games deal with two different classifications of data:
On-chain data is data that lives on the blockchain. Typically, this is only the most important information that a game generates, like who won the round and who’s getting paid out, or which game character is associated with which wallet. This data is stored on-chain because the blockchain acts as an immutable ledger that ensures the transparent and fair execution of transactions, such as a token payout.
Web2 games have all of this data too, but instead of leveraging the blockchain, they store it in centralized internal systems, which means that every transaction is brokered directly by them.
Off-chain data is, you guessed it, data that lives off the blockchain. Games generate massive amounts of data around what’s happening in the game, known as telemetry. This telemetry includes things like in-game movement logs (player A went here, and then there, and then there) and accuracy percentage (player B hits her target 30% of the time on average).
And when it comes to game telemetry, every single game in the world—both Web2 and Web3—is leveraging databases and data warehouses. Databases, like PostgreSQL and MongoDB, process the quick lookups that facilitate the game play. A game needs to know in real time how player A is moving around, for example. Data warehouses, like Snowflake, process the analytics—the larger questions that the game is asking to generate a more complete picture of the game, its players, and the outcomes.
What’s the problem?
So, what do PostgreSQL, MongoDB, and Snowflake all have in common? They’re centralized. And, equally worth noting, they don’t natively read from or write to the blockchain. If you’re working with a purely Web2 game, neither of those things are necessarily an issue. The database is centralized, the data warehouse is centralized, and the game is centralized. All your data is stored in these centralized systems that have had decades to build infrastructure that allows them to communicate with each other.
But if you’re building a Web3 game, it’s not so easy. For one, your game is built on a decentralized blockchain, but it’s pulling data from centralized databases. How do you assure your players that the immutable on-chain reward they’re receiving for winning your game is rewarded correctly if it’s based on data that’s processed in a corruptible database?
Even if you trust that these centralized databases and data warehouses will never be tampered with (you shouldn’t), there’s still the issue of integrating blockchain data. PostgreSQL isn’t indexing Ethereum or Sui to stay up-to-date on what’s happening on-chain. So what do you, the game developer, do? Maybe you leverage an indexing solution to read blockchain data and write it to your database and data warehouse. You could spend lots of money to piece together a blockchain indexing tool, a transactional database, an analytic data warehouse, an oracle network to write your results back to a smart contract, ETL tools to move the data around, and engineers to manage the pipeline. And for all this time and money spent, one single point of failure in the centralized architecture could ruin it all.
What’s the solution?
Or, you could just use Space and Time. Space and Time is a decentralized hybrid transactional database and analytic data warehouse that sits behind the gaming servers to manage all of that data—both on-chain and off-chain. When a gamer makes a transaction on the blockchain, the gaming servers know. When a gamer does something in the game, the game knows exactly how to reward them on the blockchain.
Imagine an esports game where spectators can stake on players or teams. This game is storing transactions on the blockchain and facilitating payouts with smart contracts, but it’s also generating a large number of in-game events. Space and Time can join this in-game data with the blockchain transaction data to tell a smart contract who to reward when someone wins a round and relay back to the gaming servers when a transaction has occurred.
Space and Time uniquely solves the data problem for Web3 gaming, because it brings together four key elements:
- A native read/write integration with the blockchain that the game is built on. Space and Time indexes all the major blockchains in real time and stores the data in relational tables that are easily queried for transactions and analytics. Space and Time also connects query results directly back to smart contracts on the blockchain.
- Integration with the gaming servers where the game is played. Space and Time also supports off-chain data, which can be loaded automatically from a game.
- Joining on-chain and off-chain data. Space and Time can join off-chain game data with on-chain transactional data in a single query.
- HTAP. Space and Time is a hybrid transactional database and analytic data warehouse with the ability to aggregate and load data very quickly, but also to process complex analytics about the game.
Space and Time is building critical infrastructure for the Web3 gaming stack, allowing blockchain-based games to easily join large volumes of off-chain game telemetry with on-chain ownership data in one request, then send that answer back on-chain. If you’re building for the next generation of gaming and looking for new ways to facilitate complex earning schemes for your players, come build with Space and Time.
This article is also available to read on Medium.