Blockchain Gaming: What you need to know
Blockchain technology has been able to change the way we live, in more ways than one. The biggest of companies are beginning to adopt it, while even governments are now studying how they can leverage on it to become more effective.
But there’s a multibillion dollar industry that’s ripe for disruption. Video games.
Blockchain gaming promises many benefits for the gaming industry, but most of all it benefits the players themselves.
True ownership, decentralized games, provably fair gameplay, acquiring crypto through gameplay (play-to-earn), global leaderboards, censorship resistance, and no infrastructure to manage for the developers, are just a few of the touted advantages.
While all of that is great, the evolution of blockchain gaming hasn’t been so pretty. Several issues that weren’t anticipated have affected the growth of blockchain games, and they threaten to stifle the evolution of this important aspect of the blockchain space as a whole. In short Blockchain Games have just not lived up to their mainstream cousins so far, but there is hope.
When it comes to blockchain for gaming, perhaps one of the most significant problems so far has been speed. These days, everyone wants a quality, state of the art gaming experience that doesn’t lag or provide any issues with speed and pacing. However, blockchain games that we have today are usually restricted to activities such as trading and creating assets.
Take CryptoKitties, the most popular blockchain game, for example. The game makes it possible for players to grow and trade virtual cats on the Ethereum blockchain. While it shows a great deal of minimalism, the issue of speed still exists. The Ethereum blockchain is quite fast, but with a block time of 17 seconds, games built on the blockchain are essentially restricted to progressing at least three times per minute and that is assuming the blocks are not full causing even more delay.
When you take game formats that require consistent interaction between players into consideration, you will find that operating with the Ethereum blockchain as an interface just won’t be possible.
User experience (UX)
Onboarding mainstream gamers into a blockchain game and then actually playing the games is certainly not a smooth process.
In the majority of cases players must download the Metamask Chrome extension wallet, generate an address, sign up with an exchange, buy ETH, send ETH to their wallet, and then they are about ready to play, after they have backed up their wallet.
To a crypto savvy person this might not sound too complex, but for the average Joe this is a complete turn off.
Next, there is the issue of maintaining blockchain gaming systems. Transactions on blockchains (especially Bitcoin and Ethereum) are inherently expensive, and they could cost dollars per each transaction at times. Even when you consider the simplest blockchain games that have minimal interactions, these costs could balloon regardless.
Think about it like this, if you have to pay a single cent for every move you make, you will still end up paying quite a lot at the end of the day.
There are solutions like DPoS that allow gamers to play for free and this is essentially paid for by the developers themselves. This process is used by EOS and the Ethereum layer 2 solution Loom. By holding large amounts of coins, the staking of them pays for the fees. Although this solves the problem for the player, it creates more issues for the developer.
A researched estimated that for a simple game like CryptoKitties to run on EOS would cost over $300,000.
Scaling in time
Then we move to the issue of scalability, the most significant and potentially crippling problem that blockchain games face up to this point.
When a blockchain game becomes popular (such as CryptoKitties has), maintaining its operation could require hundreds of thousands (and in some cases, even millions) of transactions.
To put it simply, there isn’t an existing blockchain that is able to maintain that type of load on-chain.
When CryptoKitties first launched, it occupied a significant portion of the total transactions on the Ethereum blockchain. Due to this, transaction costs continued to rise, and when the game reached its peak of popularity, it pretty much rendered the entire Ethereum blockchain unusable.
It is important for blockchain gaming systems to continue scaling along with the evolution of the games that are built on them.
Sacrificing decentralization for performance
It’s possible to partially overcome the limits of block times and increase performance by using a consensus mechanism like DPoS (delegated proof-of-stake) which was first introduced with Bitshares many moons ago.
Projects such as EOS, TRON and Ethereum side-chains like Loom use this approach. Games are still restricted by block times although these can be very fast and in some cases less than 1 second. However this comes at a loss of decentralization, such as with EOS for example here or here.
The advent of smart contracts was revolutionary. Code could be run on the blockchain. This has massive implications for many industries, not the least of which is finance.
However, code complexity is a bigger issue for games. Where financial smart contracts can be relatively small, video games are far more complex. As it turns out, calculating checkmate in a smart contract on the Ethereum blockchain is too complex and impractical. The gas fees would be astronomical just for a simple game of chess, much less MMORPGs. From the researcher of the “On Chain Chess” project:
However, there is one huge problem with Chess: Verifying a game’s end is incredibly costly. For checkmate (king is in check and player cannot make any move to escape) and stalemate (same, except that king is not in check), to verify the condition all possible moves have to be calculated and verified, which is unfeasible on the blockchain. We actually implemented the logic in Solidity, only to find out it exceeds the current limits of a transaction.
First lesson: Computationally expensive calculations are usually not suitable to be run on-chain.
Chess is a relatively simple game, so the prospects for games running as smart contracts seem dismal.
The core of the problem is that everyone running Ethereum must compute the state of every smart contract in the network. This demands a huge amount of computing resources, which is why gas fees get so high.
Consequently, what we’ve seen for many “blockchain games” is that they are very simple, such as breeding and collecting games like CryptoKitties.
Projects using side chains on Ethereum, such as Loom and Matic, are able to alleviate some of this by taking the computation away from the main chain while sacrificing decentralization.
Assets only implementations
Many projects, such as Enjin, sacrifice decentralisation entirely and solely use the blockchain for assets. While having the private keys that control in-game assets does afford a certain level of ownership, it’s contingent upon the developer supporting that ownership. This is essentially the same issue as with a centralized game.
An issue with this approach is that when the game is centralized, it’s possible for the game developer to declare the game’s end-of-life and retire it for whatever reason. In this case, gamers are left with private keys to assets that cannot be used. Or in other words, the assets immediately lose all utility and value.
Enjin has a solution to this though through the process of minting assets with ENJ coins fused into them. The Asset can later be melted by the user as he wishes. However this is usually done with a very minimal amount of ENJ as the funds that are fused into the assets are added by the developers of the games themselves, usually indie developers with small capital.
Another solution up Enjin’s sleeve is the function of the Multiverse where game developers collaborate to have items work across multiple centralized games. This way if 1 game is retired, collaborative items can still have utility (and value) in another game. Whether this will work in practice is yet to be tested.
But there is also a more insidious side to asset-only games: how assets are acquired.
There are 3 ways assets are acquired in Blockchain Games:
These are generally assets of low value or low power within games. They serve as a way to get players to take part in the games once they are released and help promote it beforehand.
2. Purchasing in a Presale or on a Market Place from the developers.
Probably the most popular way to distribute crypto assets is through a presale (also referred to as crowdfunding). Reminiscent of an ICO this helps developers raise capital for game development before the game is released.
This has a number of drawbacks just like ICOs.
You buy something, the project fails to materialize, and you end up with nothing.
Or just like an ICO, the developers can purchase their own assets and thus get them for free making it unfair for the people who paid for them and decreasing their value or scarcity as there are more in circulation.
There is also the point that the value of the item and/or its utility in the game is unknown, at least until it’s released.
However, presales are a great way for indie teams to raise capital for their projects.
3. Through Gameplay
The fairest way to distribute assets that have value is that of the original designs of MMORPGs: through gameplay using teamwork, time, and skill. Items in games such as WoW and Eve Online have been known to sell in the 10s of thousands of dollars.
However in a centralised game you actually have the same issues as those with regards to purchasing them in a presale or from a developers marketplace. You don’t know if those assets have been given for free to friends and colleagues, making it unfair. However, there is a solution that could significantly change all of this.
Enter Xaya, the solution
Xaya and its team actually date back to Huntercoin, the very first blockchain game in 2013. As opposed to other blockchains that provide a platform for developers to build different tools, Xaya is a permissionless specialized blockchain that aims to serve the needs of game developers and foremost, players themselves.
According to the team, Xaya provides a scalable, robust gaming platform with a unique approach that allows game developers to build complex fully decentralized game worlds.
Computational complexity is solved by the Xaya architecture. In contrast to the Ethereum smart contract model where all nodes must compute the state of all smart contracts, in Xaya only the interested parties need to compute the state of a gameworld. This off-loads the computations to only those interested parties and therefore eliminates high gas fees. Xaya blockchain transactions are not related to the game (or dapps) complexity; they are just standard transaction fees as if you are sending them to an exchange.
By using this innovative technique, games can be as complex as non-blockchain based games yet still be completely decentralised, which solves some of the issues mentioned earlier, including “how assets are acquired” and “fair gameplay”.
Although assets in a fully decentralized world could also be purchased from the developers, it does open up the possibility for there to be a fair distribution of the in-game crypto assets in a fully player driven economy, like that of mining cryptocurrency. The Xaya team calls this Human Mining and this can be seen in their upcoming MMORPG called Taurion that even goes as far as to call itself a cryptocurrency as well. In effect, humans as miners use their time and teamwork to acquire crypto assets. This concept was taken from their experiment with Huntercoin several years ago.
All that being said, according Xaya’s documentation, the time between blocks, i.e. “blocktimes”, are targeted at 30 seconds and the number of transactions per second (TPS) seems quite low in comparison to the other gaming blockchains and side chains.
However this seems to be the rationality of the team to keep it as decentralized as possible. That is, putting as many transactions per second on a chain is possibly not a good long term solution for scaling if you want to keep projects decentralized. The Bitcoin Core and Bitcoin Cash debate illustrates this. Big blocks mean that running a full node becomes harder over time for normal users and eventually only data centers would be able to store a full node and thus it then becomes centralized. If increasing TPS was the end all solution then Bitcoin Core could easily increase this from 1/2MBs to 10MBs with a simple hardfork.
Xaya seems to be following the same path as the Bitcoin Core development team, which is understandable as Daniel Kraft, the lead blockchain developer for Xaya, is also a major Bitcoin Core contributor on GitHub.
So how will Bitcoin Core solve scalability issues? Payment Channels.
Xaya has more tricks up its sleeve. Daniel Kraft wrote a paper on a new technology dubbed Game Channels in 2015 that has been peer reviewed and published. You can read the paper at https://www.ledgerjournal.org/ojs/index.php/ledger/article/view/15.
Essentially, Game Channels make it possible for gamers to enjoy a trustless, decentralized gaming experience that runs in real time. A tech demo of this technology is available for download in the form of Xayaships, a real-time turn-based game in which transactions speeds are only limited by network latency between players.
Moreover, Game Channels are fully independent and in reality allow an unlimited amount of transactions because it is possible to have an unlimited number of channels open at any one time.
The combination of Game Channels and the Xaya platform could potentially revolutionize the way blockchain gaming is meant to be. Gamers are able to enjoy the type of speeds that they’ve come to expect from the best games, and they will submit far fewer transactions on-chain which reduces transaction fees and blockchain bloat.
However, there is still a downside to work on, UX. To play any game on the Xaya platform, you need a wallet and you need CHI (the native cryptocurrency of the blockchain) in order to play games. Although these amounts are miniscule, it will still discourage 90% of the potential players for the game. There is no Metamask and the blockchain is invisible to the user once in the game, but is this enough?
I’m really excited for the future of blockchain gaming and the many projects that are now emerging with their own solutions.