The thick and thin of blockchain gaming architectures

  • Decentralised Monolithic
  • Hybrid (centralised and decentralised)
  • Decentralised Layered

Decentralised Tech Stack

To help frame the discussion I will refer to the different components as layers in a tech stack. The labelling should be familiar to people already following the blockchain space.

Web 3.0 Tech Stack (Image source)

Monolithic — thick blockchain, thin game client

In this architecture the processing of the game logic is done entirely inside the blockchain client software. All actions are stored on-chain and therefore such games are fully decentralised. The user interface (UI), basically the game client, is somewhat superfluous since all it does is render what is recorded on-chain.

Decentralised Montholithic: all game logic is processed at layer 1

Huntercoin

Essentially the first blockchain game was Huntercoin. All of the game logic was coded directly into the chain. All code is open source too.

Video of Huntercoin from Day 1 to Day 32.

CryptoKitties

Most of the game logic of CryptoKitties is done in a smart contract on Ethereum (still processed on-chain at layer 1). Being hosted on a non-dedicated chain doesn’t detract from the architecture type.

Games entirely inside a smart contract can still be monolithic.
A cute cat from CryptoKitties (image source)

Hybrid — thin blockchain, thick game client

The biggest problem with monolithic architectures is that they don’t scale well. I was overly optimistic in thinking that the next generation of blockchains would be able to put a lot of complex game logic directly into a dappchain.

Hybrid Architecture: off-chain game client and UI is minimally coupled to the blockchain

Enjin-powered games

Perhaps the best well-known project in the blockchain gaming space (after CryptoKitties), Enjin provide a way to put gaming assets on to Ethereum. The gaming assets would be NFTs stored in a smart contract, however, as described in the opening lines of this section the game logic is not verified in a decentralised manner.

Age of Rust, an Enjin-powered game (image source)

Hoard-powered games

This team are following a fairly similar approach to Enjin, but their preference is to support games that leverage Plasma (specifically the flavour known as “Minimum Viable Plasma”). Hoard have also created a Unity API which is available on GitHub.

Plasma Dog: An in-game shot I took while playing.

Layered — thin blockchain, thick game client

In this architecture the chain stores all player action but the blockchain client software doesn’t interpret those actions and hence the validity of their meaning. This means that the chain can be minimalistic and fast: it processes ‘transactions’ (the submission and recording of actions). In theory, more data could be put on-chain but that’s an idea for another blog.

Decentralised layered. This time the UI must read the on-chain data to function.

Xaya

The team behind Huntercoin have evolved heir approach to gaming and no longer do monolithic chains. Their chain is a modified version of Namecoin. While the chain stores all player actions next to their registered names, it is lightweight since it doesn’t verify the player actions. The game client is where all player actions are verified: each player verifies the actions of every other player.

Daniel from Xaya explains their architecture with little bit of the team’s history too
One of my screenshots from playing Taurion last night (currently pre-alpha)

Planetarium

The architecture used by the Planetarium team is similar to that used by Xaya. Their first game, Nine Chronicles, is a decentralised MMO and was featured in one of my previous blogs.

An in-game screenshot of combat in 9C (see previous blog).

Concluding note….

The diagrams here are simplifications, but I think they illustrate the idea well enough to explain how different blockchain games work from an architectural point of view.

About me

Currently, I work at the Web3 Foundation (mainly running the grants program). This blog is of a personal nature. It just so happens that my hobby aligns with work.

Questions / Comments?

You can create a reply to me here on Medium, or reach out to me on Twitter: @EAThomson.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store