From medium by David Amor
I’ve never been particularly drawn to the speculation side of crypto. I can appreciate the excitement of being part of a community where fortunes are won or lost, but the financialisation of products isn’t what brought me here. For me, the promise of web3 was that we could use decentralisation to wrestle control and value from the NASDAQ behemoths who were taking other people’s content and unfairly profiting from them. Feels like we’ve got a bit distracted.
Earlier this year I had to put that sentiment to the test.
At Playmint we’ve been building fully onchain games for the last three years, where every action is computed on a blockchain, meaning (among other things) that there’s no centralised party in control of the game. This creates games where players are in charge, limited by rules defined in the game rather than rules that can be changed by the game maker.
Truthfully, the compromises of running a game on a blockchain are significant: computation is expensive; transaction times are slow; hidden information and game update loops are difficult. I’ve argued that creativity often comes when the design space is constrained, but viable onchain games tend to be slow, turned-based and lean into financialisation. There isn’t too much product-market fit.
In the summer of 2024 we released a primitive autonomous world called Downstream, then a week later we had an offsite to talk about the things we’d want to improve. Top of the list was the fact that the characters moved around the map painfully slowly, meaning that the fluidity of movement players came to expect from games like Minecraft was sorely lacking. Reluctantly I suggested that we introduce some centralisation in order to speed things up, proposing that we replace that component later when a decentralised alternative becomes available. Our lead engineer suggested an alternative.
The birth of Playerchains
Him: “I can solve this problem but you might not like my solution”Me: “Does it introduce centralisation?”Him: “No. It would be more decentralised than we are now.”Me: “How would I not love this solution?”Him: “Because it’s not a public blockchain.”
His solution, which we later called a playerchain, was to turn participating players into nodes in a blockchain. Specifically a DAG-superconsensus peer-to-peer network, technical details and source code of which you can find here and here.
In short, the players themselves becomes nodes on a blockchain, rather than using (and paying for) a separate set of nodes, as is the model for public blockchains.
Decentralisation is a powerful concept, but the decentralisation tool we’ve been using for games has been inherited from DeFi and the attributes of Ethereum or its L2s are not fit for purpose for most games. A bullet-proof consensus is not important for a game of Among Us; a shared global state is not important for Grand Theft Auto; I don’t need my moves in Candy Crush remembered for eternity. You can look at the technology and its unique affordances and then ask what games you can build, or you can think of the game you’d like to make then find the right decentralisation technology for the task.
After some initial discomfort, we admitted that public blockchains were not the right decentralisation technology to power the games we wanted to make and instead created a new kind of technology that was more decentralised but less crypto. To keep ourselves honest we used our new playerchains technology to build a space shooter game that runs at a lick, uses no centralised services and uses a consensus between players. You can play our tech demo here.
Our Space Shooter game, powered by a Playerchain
Common questions I get asked include where the global state is stored, how it handles scaling and how to handle trust. Questions I have answers for but are best served in another blog post.
Decentralisation is one of the powerful ideas in the last decade, but we’ve let the technology dictate the product and then tried to bend the technology to suit our needs by taking approaches that seem increasingly centralised.
There are other ways to get this done.
All Comments