Libove Blog

Personal Blog about anything - mostly programming, cooking and random thoughts

NFTs in Games Are Bad! Here Is an Alternative.

NFTs in gaming are just a bad idea. They create artificial scarcity in order to create a pure manifestation of capitalism in the gaming world. This is not fun! Games should allow you to escape from reality, not bring the problems of real life into virtual life.

Do gamers want this? Ask any gamer about pay-to-win, or in-game purchases, and you got your answer.

Alternative Financing

What are the alternatives? Let’s imagine the manifestation of another ideology: Communism.

Everybody pays as much as they can spare to game developers. The game developers use this money to pay artists and developers, which create the content of the former NFTs. Every player can use these new skins and items, no matter how much they paid. There is no special treatment for paying more. Your sole motivation for paying is liking the games and wanting to see it grow.

This is certainly better than NFTs, but still does not enhance the game. A game where you cannot progress or achieve anything is boring. So let’s mix in meritocracy.

We still finance the content as above, however it’s not given to the players directly. Instead, the items/skins are tied to achievements in the game in a deterministic way. Want that new sword skin? Win 100 fights in the Arena of Doom. This gives players a goal and rewards skill in the game.

I think these two principles create a system which most gamers will like. You don’t have to pay for new skins/items, but you can still brag about your new skin because everyone knows how hard it is to obtain. This would also be an improvement over the current system of micro transactions and in-game purchases.

Now you may ask: “But what about sharing items between games? That’s the whole reason for using blockchain and NFT.”

Decentralization and Ownership

Blockchain will not solve the problem of sharing items between games.

Tracking ownership is the smallest of problems. The more hard questions are: How do you translate item stats from one game to the other? How do you exchange assets in a unified way? How do you convince large publishers to open up their ecosystems?

So here is my solution: Federation.

First, we need to find a common way to connect game account with each other. An established method is OAuth2. This would allow players to connect accounts of different games. Once connected, your game can retrieve the list of items a player unlocked in the other game.

Another possibility, and a more decentralized method, is the Solid Project, where your data is stored in a place you control. This would have the added benefit that your game assets still exist when the publisher of the stops maintaining the game.

Additionally to authentication, we need an API to exchange information about the in-game assets between games. The API needs to present items in a standardized way, which is still flexible enough to cover “all” items in games. One possibility would be to use RDF and define a standard vocabulary for game items. RDF uses three-part structure to describe properties of subjects. With in-game items, this would be equivalent to: “sword is green”, “sword has +3 strength”. By defining a standard vocabulary (e.g. how to represent colors), games could easily translate from the common description to in-game attributes.

You might also want to include assets in the API. Again, we need heavy standardized representation (e.g. glTF or obj for 3D assets, PNG for images, ...). These assets would mostly only serve as references for designers to create their own assets. Games are art pieces, and it is almost impossible to share assets between them in an automated way.

Once our authentication flows and APIs are defined, we can integrate them into games. This still requires work from artists and programmers. The game developers decide which game they want to support for exchanging items with. Connecting two shooters is easier than connecting a fantasy RPG to a sci-fi strategy game. Using the assets API the designers change or recreate the assets to be used in their game and adjust the stats to be balanced. When the players connect their game accounts, the information about ownership is exchanged, and the modified items awarded to the player.

Most games will probably only support game connections with similar settings where the translation is straightforward. But over time, more and more games will build connections between varying genres. At this point the true power of a federated system starts.

The connections of games build a graph. This allows you to support many game connections without explicitly connecting them. A player earns an item in Game A. This item is translated to another item in Game B. If your game supports a connection to Game B, it can automatically supports all items which are also supported by Game B. This way, your game will automatically accept more and more items from different games without more work for the designers.

Conclusion

I think this creates a system that is beneficial to all participants. New games will use connection to popular, similar games to attract players to their game. Players that get a bit tired of a game can swap to new games and take (some) of their assets over. Large publishers might use this system to cross promote their games.