Classifying web3 games: NFT vs. On-Chain games

Game studios are embracing web3 from different angles. Some focus on NFT ownership, to allow their players ultimate control of in-game assets. Others are launching fully on-chain games that offer complete decentralisation. The core difference is whether their servers are private or blockchain-based.

Should we care? Let’s dive in.

The paradigm of NFT games

NFT games launched gaming into the blockchain space. With the key premise of asset ownership, players are enabled to purchase & own in-game items as NFTs. These can be employed inside the game to win games and accrue awards. Generally, rewards are paid out in the platform currency, which sparked the hype around play-to-earn, led by popular games such as Axie Infinity. As a gamer, you now have the option to sell your items & tokens to other players. Ultimately, the in-game item with gameplay utility transforms into a digital asset. And with that, the player transforms into a trader.

From this category of games, we have seen the most development in blockchain gaming so far. With juggernauts such as Illuvium, Star Atlas or Big Time, we got a glimpse into actual gameplay. While some haven’t been fully released it can objectively be stated that the gameplay is comparable to some of the great web2 games that we have seen.

While asset ownership is recorded on-chain, the gameplay, however, is still on a private server. Illuvium has its entire back-end infrastructure built using Amazon Web Services (AWS) serverless architecture. If the server is taken down, the game goes down. While your assets are left untouched, their usability and value dramatically decrease. You are not only unable to play the game, but you also potentially lose a lot of money.

With this, let’s dive into the potential of fully on-chain games.

On-chain games as an alternative

On-chain games are games that not only record their assets on-chain but also program their game logic and game objects inside a smart contract. Every time the player makes an action interacting with any game object, it is recorded as a transaction on-chain. The entire code is transparent, and anyone could launch their own replica, and even make changes by adding game objects to the smart contract (in this article I dived deeper into examples of on-chain games, their potentials & limitations).

Let’s discuss why a separation of the two types might be necessary:

  1. In-Game Items: In both cases, unique in-game items such as Characters or Lands are typically upholding the ERC721 Standard. In-game resources such as wood, cotton or iron (depending on the type of game) are normally denoted as semi-fungible ERC1155 tokens. Lastly, the in-game currency is an ERC20 token. This makes all of them “ownable” as their ownership can be tracked on the blockchain.

  2. Gameplay: The game logic containing its rules, physics and game objects are what makes the game unique. It defines the possible actions a player can take. A web2 game as well as an NFT game utilize a game engine such as Unity or Unreal Engine to develop all components off-chain. In the case of an on-chain game, all game objects that exist in the game as well as the possible actions a player can take to influence them are programmed in solidity inside a smart contract. In the example of Dark Forest, their game logic developed in solidity can be seen here.

  3. Front-End: The gamer interface is accessed through the game client (browser, console or mobile) to connect with the game server. As long as the code is available anyone could run the game client to play the game. This usually is the case for fully on-chain games, as their whole purpose is to be accessible by anyone, but most likely impossible for NFT games, as open-sourcing the entire code would allow anyone to instantly copy their game.

The blockchain as a gaming server

While I might have put forward favourable arguments for fully on-chain games, it must be emphasised that it’s virtually impossible to create a triple-A that is fully on-chain. This is mainly because the blockchain as a gaming server sucks. Why?

  • It is slow, as the block time (average time needed to mine a new block) generally dictates the pace of the game, as each player's action needs to be processed as a transaction.

  • On-chain game engines need more time to develop and have not yet come close to providing the performance that unity and unreal engine are offering.

  • It can be costly, and further innovations in blockchain scaling solutions are needed to process the required amount of transactions quickly and cheaply.

  • Solidity is probably not a programming language suited to develop entire games.

Nevertheless, it is also important to recognise that NFT games are not to gaming, what DeFi is to Finance. A more appropriate Finance-Gaming comparison for an NFT game would be a centralised exchange.

Conclusion

My goal with this article was to highlight the core differences between NFT and on-chain games and illustrate potential risks. Not to criticise on or the other. I am a big supporter of many NFT & on-chain games and will continue to do my part to push the industry forward.

Article written by me. With SeaCows we build infrastructure for both NFT games and on-chain games in form of an AMM for in-game NFT items.

Subscribe to seacows.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.