A decentralized network - in my opinion - is much like a well-functioning community. It's governed and ran by its participants. There are fundamental rules that no single actor can ignore or avoid. Everyone involved in this community has an innate responsibility to keep its overall outlook healthy and positive. In exchange it provides an ecosystem that rewards all of its actors throughout its lifecycle.
The notion of a decentralized network is nothing new. It's been a noble idea since the dawn of the internet, but only recently, in the last one or two decades or so, has it gained a newfound traction through the invention of blockchain technologies.
Blockchains & Games
One of the newest trends in game development has become the so-called Play to Earn (P2E) scheme. Basically video game studios are building products that supposedly run on the blockchain. The premise of such games is that if you invest time into playing, you should be able to reap the rewards and make money off of them. Alongside this, you will usually hear about true ownership, which means if you buy an item, it will live on the blockchain and you can do whatever you want with it; keep it, sell it or bring it to another game - it really is up to you. Even if the game shuts down for some reason, you get to keep your items.
While I appreciate the fundamental concepts behind this, I can't help but question its validity and practicality given the currently available blockchains one can develop on. Here's why -
- If we look at the existing big players, such as Bitcoin, Ethereum, Cardano or even Solana, they all require you to purchase their coins in order to participate in the network. This coin is directly tied to functionalities on the network; i.e. you must spend some of this token to use the network. However, due to the space being so new and well-marketed with promises on defeating the rich and giving power to the poor, it promotes a speculative environment. This drives the price up, which makes it harder for actual developers to participate in the network and build utility on top of it as they get priced out by investors and day traders.
- Cryptos are touted as deflationary assets - though in reality, most tokenomics are now designed to include artificial inflation - we still hear this narrative about how crypto price is only going to go up and how good it is for us. Deflation, however, is not a good marker for an economy; it punishes purchases, as most items one can buy lose value over time. Why would someone spend a deflationary asset on something that loses value instead of just holding onto the asset in the first place?
- Volatility makes it super risky to develop on this digital economy. Without having a massive reserve of fiat lying around, it's impossible to give a consistent salary to your employees. Who would want to have only 50% of their spending power from one month to another? Unless cryptocurrencies become universally accepted as means of payment, I don't think a lot of companies will be fully able to buy into building on this tech.
- Shared economies, Bring Your Own Items, Item Cross-Overs, or whatever you want to call them is fake news. Unless the game is built on a Layer 2 solution like Enjiin, the concept of truly owning an item on the blockchain becomes irrelevant. For one, unless there's direct cooperation between two developer teams, there's 0 chance you'll be able to use one item in another studio's game. The developers have to make explicit efforts for this to become possible and they aren't incentivized to do so; they don't get any monetary benefit if a user brings their items over from another game. Plus, if they decide to shut down their servers, your items value will quickly drop to 0; who would want to buy an item they can never use again? Current blockchains don't natively adhere to such an ecosystem. And why would they? They weren't specifically built for digital economies in video games. They were built as a decentralized financial system to replace banks and other entities.
- Lastly, if a player wishes to participate in a P2E game, they'll generally have to “buy in” by purchasing a token that was minted on the blockchain. Unfortunately, for reasons mentioned above, we usually end up seeing the price of such tokens skyrocket, increasing the barrier of entry to hundreds of dollars in some cases. This creates this wall, where the less fortunate simply cannot get into the game. In fact, Axie Infinity, one of the most well-known P2E games created the concept of a scholarship, where someone else can front you an account in exchange for a hefty split in the profits you make along the way. Naturally, this created a digital mob that preys on the poor and exploits them to the fullest extent by handing out these scholarships and then threatening to revoke access from players who don't work their asses off. How fun.
And if that wasn't enough, “dApps” or “decentralized apps”, - in other words, things that supposedly run on the blockchain - are in fact, mostly not decentralized and they don't actually run on the blockchain. Most dApps are very much centralized with only a portion of their code actually getting executed on the blockchain. They are hosted on-prem or in the cloud and follow very typical system architectures. The only differences is that parts of the domain logic is implemented in smart contracts; and these are the bits that are served by the chain. There are multiple reasons for this:
- Any write operation on the chain costs actual money
- To run something fully on chain, its code should be open-source; since anyone can join the network and grab hold of its contents, having a private codebase doesn't come with a benefit. This, of course, can be disadvantageous in a highly competitive market.
- The network simply cannot handle all the transactions and assets included in the app, so the devs need another way to surface certain actions and files.
As you can see, in my opinion, there are quite a few issues surrounding blockchain game development. So what can we do better? In all honesty, I don't yet know. Hence why I decided to start building a network myself and see first-hand the forks in the road that lead to different answers. I have some ideas in my head, but I don't yet know if all of them can be reached on walkable paths.
The way I see it, building utility on a financial system has very limited use-cases. Yet, we see different blockchains being developed based on the same old paradigm with perhaps a few changes and caveats along the way. At the moment I don't believe such systems should represent the cornerstones of Web3. To draw a parallel, the way I think about it, building on top of any existing chain whose foundation starts with Tokenomics is much like building on top of a banking API on steroids; sure it's a great place to start if your goal is to move money around, but does that really serve a generic purpose? My hunch is that over the coming years we will be seeing more and more specific purpose decentralized networks popping up, providing tools and incentives for developers to build on them. Then, much like a centralized app would use something like Stripe as its payment backend, these networks could use one of the existing blockchains as payment provider.
My rudimentary vision, specifically one for a decentralized network that specializes in video games, is a multi-role space, where each participant has a key function in the well-being of the ecosystem. Naturally, one can assume multiple roles at the same time.
- Developers build games that run on the network. Their goal is to provide entertainment and make money.
- Server hosts provide compute power for developers. They run game servers and backend services in a virtualized environment. I'm thinking unikernels, but I still need to explore this further. Server hosts have the option of excluding or including game servers they want to host.
- Data providers offer up storage in exchange for rewards on the network. These providers store the game server builds and offer them up for Server hosts through a P2P file transfer (bittorrent) mechanism.
- Validators read and write to the underlying global database - perhaps a blockchain. This database keeps track of the fundamental state of the network, including user accounts, credits, etc.
- Merchants (perhaps not the best name) provide stalls where people can put up auctions to trade certain items. They have the option to exclude/include items from specific Developers.
- Etc - I'm sure this list will change as I work through the project.
A shared economy
There is a native virtual currency called Terinium that is detached from network fees. E.g. transactions on the chain won't cost Terinium. Instead, there's a credit system in place that protects the network from abuse. More on this later. Ideally the value of Terinium is pegged to a decentralized stablecoin - best candidate for this at the time of writing is UST.
Developers must purchase some amount of Terinium to be able to participate in the shared econ. They can forge Terinium into items - e.g. skins for F2P games or stronger items for P2W games. Any transaction that happens with the forged item is going to net some profits to the developer. Let's see a few examples:
- Bob has an Armor of Goo in the game Gooland and he wants to trade it for Alice's Helmet of Gloop in the same game. Both Alice and Bob would have to spend some Terinium as tax that would go directly to the developer and the merchant. This is the best case scenario for the devs, because they make money off of each trade. Tradeoff is that it costs Terinium for the players.
- If the developers opted into this feature, Bob might decide to melt his item into Terinium instead. In this case, Bob receives a portion of the Terinium it cost the developers to forge the item and the rest of the Terinium goes back to the developers. In this scenario Bob made some Terinium and the developers likely lost some Terinium. The trade off here is that by providing this option to their players, developers have a greater chance of acquiring users at the cost of some Terinium. Assumption here is that players are more likely to play a game that rewards them.
- The third - and I think least likely - scenario is when two developers form a cooperation and allow inter-game trading for their players. So the devs of Gooland here partnered with the developers of The Secrets of Ire. Bob is a player of Gooland and Alice is a player of The Secrets of Ire. Both of them own an item that the other wants, so they decide to trade. The workings of this is going to be similar to that of scenario #1, except in this case the tax profit is divided up between the two developers. There's no change in how item melting works, however. So even if Bob now has an item from The Secrets of Ire, the developers of this game are going to get their Terinium back.
A system like this creates incentives for developers to opt into a shared economy, might that be by making actual profit or by acquiring new users.
Developers who don't want to participate in the shared economy can create their own virtual economies much like they would in a traditional development process. They lose out on some of the features, but they still get to run their game servers in a “serverless” manner by sharing it with the network - that is if a game server host chooses to host it for them.
Transitioning from centralized to decentralized
Evidently at the start of the project everything is going to be centralized; I'm the only person working on this platform and until there's enough participation, there is no getting around making executive decisions. Once we hit a threshold where the community is comfortable with basing decisions on a consensus, we can switch over to a fully decentralized system.
Joining the network
I believe in full transparency - hence this blog series as well - and while I disagree with big corporations owning user data, full privacy has its drawbacks as well. We already see how anonymous teams can easily get away with scams in the crypto space. This is why I believe that joining the network - especially for developers - should be decided through a consensus. To get credits - which are required for participating in the network - one has to submit their game (idea) to a catalog that's a native feature of this platform. The idea then has to be accepted by a majority of eligible participants. Voting eligibility is something that's going to be based on one's role; e.g. developers will be eligible to vote, players who have been part of the network for X amount of time will be eligible to vote, etc. The exact rules are still something I'm working through and I will elaborate on them once I have more of the platform flashed out.
In the next part of this series we're going to explore the rewards system for more in-depth examples on how one can make money by joining the network. We will also talk more about detaching the value of the native token from directly impacting the usability of the network and the implications of this choice.
There's a good chance that some or much of my thinking is going to change as I dive deeper into building this network. If you want to be a part of this adventure, feel free to follow and share your thoughts on the matter. I'm always open for a discussion - just keep it civil, please!