Why you should build your game on a Subnet.
A short and sweet explanation on subnets capabilities for web3 games.
What is a subnet ser?
A subnet is very simple yet powerful design choice. Blockchains can either:
- Scale vertically: Be optimized to be faster and cheaper.
- Scale horizontally: Clone the blockchain indefinitely to not get congested (slow and expensive).
The smart thing about subnets is that you can only improve your blockchain efficiency (scale vertically) so much, but being virtual resource that can be cloned, scaling horizontally is much simpler.
So, you can build your game in your own blockchain. This of course isn’t the best decision for every game, small games will do just fine launching on Avalanche as most dapps do. But if you are bullish on yours, you should definitely consider a subnet. Let’s see why:
Performance
Games are interactive and in 2022 you expect interactive things to be responsive. Avalanche subnets have less than one second transaction finality. That is not only extremely fast, it’s also final, so after your transaction is confirmed it won’t ever be reverted. That’s extremely valuable for both the player (from a ux perspective) and for you (coding that backend will be much easier).
Also, you get a maximum of 750 transactions per second, just for your game. For reference, Visa has an average of 2,000 tps worldwide, so you have plenty of room to accommodate engaged players.
Lastly but not less important, being a Proof of Stake network, Avalanche is exceedingly energy efficient. It’s about 35,000 times more efficient than Ethereum, and it’s also far more efficient than L2 solutions like Polygon, since it does not have to interact with any inefficient network.
Cost Reduction
Besides the fact that you can choose any virtual machine (Like AVM) maybe your team already is proficient in Solidity and prefers to use EVM. Then go! It’s compatible, you don’t have to train them into a new language or tech.
Also, stateful precompiles will save you a lot of time making your smart contracts more performant or gas efficient.
Simpler UX
Let’s say your players come to play your game and need to make transactions. Would you rather:
L2 typical flow for non crypto native players:
- Go to exchange to buy ETH.
- Create metamask account.
- Send ETH to metamask.
- Configure a layer 2 RPC to avoid high fees.
- Bridge ETH to that new L2.
- Swap ETH for your own token.
- Use your token to play your game.
Subnet flow for non crypto native players on a new game:
- Create metamask account.
- Configure your subnet RPC.
- Get a little of your gas token from a faucet and start playing.
If you are unconvinced yet by the amount of steps of each experience, just let me remind you in an L2 you need two gas tokens to avoid high fees, and a third token just to play the game. Also, Ethereum fees are unavoidable making the game a 20 or 30 dollar 7 step process just to spend money on it.
If you care about conversion funnels, this is a no brainer.
Isolation
Here is where things start to get really interesting: The reason why most blockchains get slow and fees skyrocket is no other than heavy usage (controlling for consensus quality).
So, if a new mint of a hyper popular NFT collection goes live, your players suffer. If a new token launches and investors FOMO in, your players suffer. And if thousands of projects build every year on your blockchain… it gets crowded.
Getting a subnet means having not only a high throughput blockchain, but a high throughput blockchain only for your players. I can’t stress this enough, you’ll need the most mainstream adoption to bloat it, but let’s suppose for the sake of the argument that you do: Your game may have a DEX to transact in game assets, a market where to buy NFTs for the game and the normal in game transactions players need to perform. Well, you can create a new blockchain for every one of these use cases, and then validate them with your subnet. Scaling is not only easy, it’s really cost effective.
Finally, isolation means you can decide who gets to validate your network. If you want to bring decentralisation to your game, you can bootstrap a lot of validators incentivizing them to verify your network. But also, you may want to run your network privately because you don’t want any external agent having that kind of responsibility. It’s up to you!
Final thoughts
As I said before, gaming is an interactive experience, clunky UX caused by long transaction times, high fees, steep learning curves, fractured liquidity kill interaction flow and fun. Don’t believe me? Just remember how you feel everytime you play a “game” on back seat screen while flying. Yeah, don’t give your players that kind of experience, they deserve better!