Tonk is committed to restoring the magic of open networks, and we’re starting in gaming for a whole bunch of reasons.
However, as an industry creating a new category of media, we face enormous ambiguity in both game design and cryptographic design. To resolve this ambiguity and move towards a high-resolution conception of fully onchain games, we need to run a lot of experiments. To that end, in March 2023 we prototyped a trustless Pokémon-style game where players:
Are forced to discover the digital physics over time in their quest for mastery,
Enjoy twitchy gameplay thanks to subsecond state transitions.
Results from the experiment bode well for fully onchain game design and autonomous worlds at large. Read on:
Two critical research projects
For fully onchain games to proliferate (as they surely will), we need to answer two very basic questions that as yet, remain open:
What does our “Farmville Moment” look like?
When it happens, what will the trustless gaming console look like?
Farmville Moment
A Farmville Moment is that moment when the game development community collectively discovers the specific game design that is uniquely suited to a particular medium. It’s really important, because until we reach our Farmville Moment, all other game design will be a skeumorphic mismatch.
Over history, games are constantly switching medium - from tabletop to arcade, home console, early internet, PC, smartphone, Facebook games and so on. Different types of game are uniquely enabled by, and uniquely suited to, each medium, but there’s a lag in discovering what that killer game is. You may find it helpful to think about game design cycles in three steps:
Dominance. A given medium has well-known patterns for optimal game design and distribution. For example, yearly releases of $60 discs containing first person shooters were a great fit for the home console market in the early 2000s. Players enjoyed aiming with controllers and saving up to buy yearly releases from respected AAA studios such as Activision.
Disorientation. A new medium is discovered - the iPhone - and developers skeuomorphically identify the opportunity to create an FPS that you can take with you in your pocket. But nobody wants to pay more than $20 for a game that requires complex motor skill on a fudgy touchscreen and long, continuous periods of time to complete atmospheric missions.
Discovery. Instead, lateral thinkers discover new game design - Angry Birds - that leans into the swipeable touchscreen affordances of the new medium and the opportunities for short, 2 minute bursts of asynchronous gameplay. Engagement soars, publishers discover the new optimal pricing models and the game development community learns to love the new medium.
Part of why fully onchain games are so exciting right now, is that we are firmly stuck in the Disorientation phase. In other words, we are on the verge of discovering radically new game design, unprecedented in the industry! To get there we need to iteratively test game design at speed, avoid skeuomorphism and open up our nascent community to the right combination of experienced game designers and lateral thinkers.
Trustless gaming console
I tell a lie - to say that we’re in the Disorientation phase is an oversimplification, because we don’t actually know, in high resolution, what the new medium is yet. Designing a fully onchain game in 2023 maps to a unique set of design constraints - expensive gas fees, slow block finality, clunky transaction UX - that won’t last for long, given the speed of infrastructure innovation.
The trustless gaming console is the stack of trustless primitives that uniquely enable the Farmville Moment for fully onchain games. It will probably include Ethereum as an L1, and potentially Optimism or Starknet for scaling, and probably MUD or Dojo (or both) for indexing, but this leaves many questions unanswered.
Should we design onchain games in anticipation of subsecond state transitions? For how many concurrent players? Can those players be geographically distributed? What is the throughput? The latency? Can players access the game from the iOS App Store? How much will Apple charge?
The Herculean efforts of blockchain scaling are mightily impressive but only quasi-useful for onchain game developers because, until recently, all efforts were focussed on (1) financial applications or (2) generalisable compute.
Part of why fully onchain games are so exciting right now, is that we are on the verge of discovering radically new cryptographic design, uniquely tailored for games! To get there we need to iteratively test cryptographic primitives and architecture patterns at speed, potentially revisiting old ideas in blockchain scaling that were unsuitable for DEXs and stablecoins - but perfect for games.
Enter Snarky Monsters!
At Tonk we were particularly interested in answering the following questions about game design and the trustless gaming console:
What does it feel like to play a game and discover the digital physics through trial and error, rather than looking directly at some smart contracts that codify the laws transparently?
Can we even implement hidden information mechanics that conceal the digital physics in the first place?
Is it possible to create artificial agents - NPCs - that can live autonomously onchain? What would that even look like?
Can we implement subsecond state transitions for twitchy gameplay while preserving trustlessness?
To answer those questions as fast as possible, we took a skeumorphic game design idea (Pokémon) and ran with it - the results were informative and encouraging.
You can see a video demo of the game here.
Results - the thrill of discovery and twitchy play
When you play Snarky Monsters, you pick a character, such as Venture Capitalist, Regulator or Degen. There’s a type system, so some characters are uniquely vulnerable or effective against other particular characters (hint, the cryptographer is OP). Different moves have different stats for accuracy, damage and likelihood of a critical hit. NPCs have idiosyncratic move logic and tactics. Call these the “digital physics” of the game.
Starting out, you don’t know any of the physics. Since the NPC exists on a zk-SNARKed battle server with private state, you can’t peer into their move logic or move stats - though you can verify that they aren’t cheating.
At Tonk we’ve taken to calling this the hidden biology and psychology of the NPC. Partial information mechanics such as this were incredibly engaging in playtests. When you play Snarky Monsters, you gather data, pattern-match and gradually build a mental model of the NPC’s behaviour over time in a way that feels like an intuition - a gut feel - for what the NPC will do next. Using your gut feel in combination with bold, calculated risks led to massively engaging gameplay. This also creates a skill curve for the game that gestures towards questions of balance.
One of the common refrains we hear in onchain gaming circles is that they need to contain “ultimate mysteries” to ensure that gameplay isn’t trivial and instantly breakable, and that ultimate mysteries can only come from other human beings. NPCs with hidden biology and psychology are a promising alternative route, opening up new design space for engaging onchain games.
This also beckons towards questions of complexity - how complex an NPC could we codify in a SNARKed battle server? Could we hop aboard the ZKML train and attempt to represent a rudimentary neural network? What about something more complex, like an LLM?
One of the biggest problems with fully onchain games is that button feedback is incredibly slow and usually frustrating. To overcome this, we experimented with “battle servers” - a combination of state channels, verifiable randomness and validity proofs - to achieve twitchy battles. Twitchy they were - having experienced it, we struggle to see how onchain games can be successful without that kind of instant feedback included somewhere in the design. Subsecond state transitions were a useful technique for feature parity with offchain games but also point towards new questions, such as the possibility of PvP state channels and the integration of battle servers with the wider RPG-style Pokémon world map.
Next steps
We’re seeing state channels, or battle servers, crop up across the community as a solution to twitchy gameplay. Could battle servers periodically settle to a “world map” multiplayer game state with stronger multiplayer and weaker latency affordances? We’d also like to build battle session servers that are programmable and forkable so as to minimise trust assumptions and promote composability, so that anyone can launch their own NPCs. There are so many directions to explore; the experiments are ongoing.
Want to help build it out and expand on some of these threads? Get in touch on Twitter or our Discord! Or check out the Github repo.