2 min read

Progressive decentralization (part 3)

In case you missed it, here's part 1 (TL;DR - start by bridging your game assets to crypto, then use blockchain instead of an inventory database) and part 2 (TL;DR - mint tokens for your players and transfer them, then let your players mint directly).


In order for your players to mint (create) your game's cryptocurrency and NFTs directly, your smart contracts need to prevent unlimited access to minting. Typically, game assets are inflationary. There will always be enough to go around as more players join the game. You don't impose some artificial cap on how much in-game gold can exist. For inflationary assets, you're going to want to impose restrictions on when/how much players can mint.

The most reasonable approach is going to depend on your specific game. Open world MMOs, for example, require a much different method (I'll address this in future). If your game is played in matches with player collections that persist between matches, then your matchmaking system is a great place to control token minting.

Decentralized matchmaking

Your game probably already runs its matches in a peer-to-peer fashion. You certainly can host matches from your dedicated servers, but that brings on additional cost. Before a match can be initiated between 2+ people on their computers, those players need to connect with each other. Typically, this matchmaking is done on your servers.

With blockchain, you can store your players' inventories, but you can also store the data needed to match players: skill rating, leaderboard ranking, etc. Then, players invoke your smart contract to create a new match. Other players join in and when the match is over, rewards are distributed by the smart contract based on the game results. No servers needed.

This does introduce a challenge, though...

Decentralized cheat prevention

One of the most common reasons to host game matches on your servers is to identify and prevent cheating. If you let go of your centralized control of matches and matchmaking, you need another way to ensure honest players have a good experience.

You should track the trustworthiness of players with soulbound tokens (SBTs) in their wallets. Their reputation is built by playing legitimate games. If other players start reporting them for bad behavior, the best approach is to connect honest players to their matches to spectate. These referees aren't (necessarily) people who work for your company, but they care about keeping the game fun, enjoy watching people play, and want to earn tokens for their efforts.

Reward people who take on this role within the community and give them tools to talk to each other and take votes on how to deal with cheaters.

-Luke

P.S. In general, decentralization is about giving away control. If you do this right, your game studio should be able to run very light (headcount-wise) and have a more engaged playerbase that takes ownership for the success or failure of your game.