For this deconstruction, we asked our subscribers to vote on the next topic they wanted to see. A bit to our surprise, the top vote-getter was not Crabada, with its 50k Twitter followers and eye-watering play-to-earn entry fee of over 3,000 USD. Neither was it CyBall, with its $1.8M seed round and 90k Discord members. Nor even Sunflower Farmers — the relaunch of a game that effectively crashed the Polygon chain with nearly half a million users in one week.

Instead, the top vote-getter was a game whose recent 14-day round had fewer total active players than Axie Infinity had every second. A game that lacks any play-to-earn elements and that has no currency tokens, no land sales, NFTs of only minimal importance, and no real monetization. A game that doesn’t even have any investors, instead raising money only through grants and donations.

The game that piqued our readership’s curiosity was Dark Forest, a fully on-chain massively-multiplayer 4X strategy game that is pushing limits and exploring the boundaries of blockchain gaming.

The Team

Dark Forest is a result of what started as an undergraduate project for MIT student Brian Gu, who eventually took a leave to work on it. It was envisioned as a way to explore a new set of “zero-knowledge” technologies. The earliest version from 2019 had a playfield shaped like a one-dimensional ring, which was eventually expanded out into a two-dimensional map, gradually transforming into the game we see today.

Also important for Dark Forest is the 0xPARC Foundation (pronounced “zero-eks park”, a play on the famous Xerox PARC), created by tech pioneer Justin Glibert to help support and grow innovation on decentralized platforms. 0xPARC, which is a Public Benefit Corporation entirely funded by grants and donations, is now the owner of the Dark Forest IP and manages the game’s production.

Lattice, an entity related to 0xPARC, is a gaming-focused group that is run by Ludens, with whom we spoke to in order to learn more about the project. One of the big questions we had for him was what their goal in creating this game is. His answer was intriguing: to change the narrative from thinking that “Ethereum is a computer in service of a digital currency” to “Ethereum is a digital currency in service of a world computer.”

The Dark Forest team looks at blockchain technology in a different way than other blockchain gaming teams, seeing it as a vast, distributed computer that has the ability to create “credible commitments.” In other words, it is a machine that has verifiable and predictable behavior and is not dependent on any private entity to continue to function. Dark Forest is the team’s first exploration into what such a computer might be able to do.

Game Overview

Named for the second book in the Remembrance of Earth’s Past trilogy by Liu Cixin (more commonly known as The Three-Body Problem Trilogy), Dark Forest is, at its core, a multiplayer version of the classic Flash strategy game Galcon (originally an entry in 2006’s Ludum Dare 8 with a theme of “swarms”). After winning LD8, developer Phil Hassey fleshed it out into a full-scale game and even followed up with some sequels.

In Galcon, each level is a map full of planets of various sizes. Some are owned by factions (AI and player), and many are neutral. The goal is to capture/conquer the map. To do this, the player sends ships to capture other planets. Capturing planets allows you to produce more ships with which you can eventually conquer the map. It’s sort of like Risk but real-time and in space.

Whenever a faction owns a planet, that planet produces new ships at a regular rate. Larger planets typically produce ships faster and/or allow more ships to be stored. Factions can send units to other planets, and if they send more units than are currently on that planet, the faction claims it and gains control over its production. This repeats until only one faction remains.

There have been a number of “Galcon-likes” over the years; the two core mechanics (sending units and capturing nodes) are very simple and easy to pick up, generalize well to a variety of settings, and lead to some interesting tactical situations.

Mushroom Wars 2

Auralux: Constellations


Tentacle Wars HD

While Galcon was a fast-paced tactical game, Dark Forest recasts those mechanics as a large-scale massively-multiplayer 4X strategy game. Players start with a home planet in a huge shared universe. They will expand out from there, claiming neutral planets, collecting materials, upgrading their infrastructure, and attempting to become the dominant faction on their Dark Forest universe instance.

The Dark Forest team occasionally creates an official instance and calls it a “round.” Much like a sporting season, each round has a limited number of whitelisted slots, a start date, and an end date at which they will calculate the winners. They will also vary the rules a bit, with scoring being calculated perhaps based on resources one time and exploration another time, to keep things fresh.

Players can create their own instances as well, so there are other Dark Forest universes outside of the “official” rounds.

The Tech Behind Dark Forest

There are two primary technical achievements in Dark Forest: first, it’s an entirely on-chain game, and second, as an on-chain game, it has secret information.

When one says a game is entirely “on-chain”, it means that it is a trustless system in which all actions in the game are submitted, verified, and recorded by the smart contract, with no centralized server processing game actions and no centralized database storing the information. There are very few truly on-chain games.

One of the fundamental truths of permissionless blockchains is that all transactions are public knowledge. This is great for proving ownership, looking at chain of custody, doing data analysis, and so on. It’s not so great, though, for having hidden information, like the contents of a player’s CCG deck or of areas of the world a player hasn’t explored yet. For most games, this has meant that much of the logic is performed “off-chain” by a client or server, with the end results eventually recorded to the chain.

As an example, let’s look at the card-based auto-battler Splinterlands. In it, two players select a set of cards to be their “teams,” and with the use of a paper-rock-scissors sort of system, correctly guessing what team an opponent will choose would give players a significant advantage. Originally, Splinterlands wrote each player’s team to the chain as soon as they locked it. This ended up being a significant problem for the game, however. Players would exploit this by waiting for the opponent to lock in their hand and then checking the chain to choose the right counters and win relatively easily. Splinterlands eventually changed it so that this was no longer possible, but it illustrates how open information can be challenging in game situations.

Dark Forest is most notably one of the first blockchain game implementations of zk-SNARKs, which stands for ‘zero-knowledge succinct non-interactive argument of knowledge’. Since this is central to where the game came from and much of the interest in it, let’s take a relatively high-level look at what a zk-SNARK is and why it’s so interesting.

zk-SNARK is a proof protocol, the goal of which is for a verifier (Victor) to be able to verify that a prover (Peggy) has a piece of knowledge (like a password). This is easy if Peggy just tells Victor the answer, but that’s where we get to the ‘zk-’ bit. So let’s break this apart.

  • Zero-Knowledge. Peggy wants to be able to prove to Victor that she has a piece of information but without revealing the information itself. And this has to work for any verifier, so Victor having previous knowledge (like the hash of a password, which is how many passwords are verified) isn’t allowed.
  • Succinct. It can generally be done quickly (measured in milliseconds) and with minimal amounts of data transfer (measured in bytes). Some zk-protocols, for example, would require dozens of back-and-forth verifications for a sufficient degree of confidence (for example, to prove you can always predict a coin flip, even 8 correct guesses in a row would only give 99.7% confidence, which is way too low for financial transactions).
  • Non-interactive. This is where it gets fun. Non-interactive means that you don’t need Peggy (the prover) to do anything; her knowledge can be verified without a response. Victor is able to challenge and verify Peggy’s knowledge without Peggy’s interaction. This is where it becomes especially useful for public chain implementations - one can verify without needing to communicate with the prover.
  • Argument of Knowledge. An “argument” is not technically the same thing as a “proof,” but it’s close enough from a lay person’s perspective. For those interested, an “argument” is considered “computationally sound”, meaning that it cannot be faked within reasonable computational limits — similar to most cryptography. A “proof”, on the other hand, cannot be faked even with unbounded, infinite computational power.

So that’s neat and all, but what does it give us? In the case of Dark Forest, it enables the concept of on-chain “fog of war.” That is, players are able to exist in a shared world and make moves that are verified on the blockchain yet remain hidden from other players who cannot “see” them. This is a pretty surprising capability — a player can commit a verifiably legitimate move to a public chain without revealing what the move specifically was.

For open-information games like chess, there is no need for secret information, so it could be done on-chain without zk-SNARKs. But what about Rock Paper Scissors? Since we can’t enforce simultaneous commitments, how could we play in a way that a player doesn’t have to reveal their choice but can also prove that they didn’t cheat?

Rock Paper Scissors on a standard blockchain with open information

With traditional methods, even the simplest of games would be impossible, but ZK techniques remove that barrier.

It is worth noting that there are some other ways of handling hidden information in on-chain games. For example, a commit-reveal scheme enables something like a digital coin flip, or a choice in Rock Paper Scissors, to be verifiable. This may work well in a number of places, but it’s an interactive proof — players must first commit and then later reveal the hidden information. Another space strategy game, conquest.eth, does use the commit-reveal method, but this is a tradeoff that requires players to check back later to perform the reveal step.

Rock Paper Scissors using a commit-reveal scheme

Game Mechanics

Dark Forest runs entirely in-browser, using a true “thin” client, with all game calculations being done by smart contracts on-chain. This is in stark contrast to a game like Axie Infinity, which requires a large download and installation of a custom client and then trusts a Sky Mavis server to calculate battle outcomes that are later written to the chain.

User onboarding for Dark Forest is fairly easy, at least by blockchain game standards. First, one needs some xDAI (the Gnosis chain native token) to get started. While Metamask is supported, a player doesn’t actually have to connect a wallet to the game. If a player prefers, they can have Dark Forest create a “burner wallet” that exists only in local storage. The player can then send a small amount of xDAI (about 1 USD will be plenty to play for quite a while) to that burner address and immediately begin playing.

From the very start, one can tell the game is a bit different from most blockchain games, with its 90s hacker aesthetic login screen.

While there is currently no “official” active round of Dark Forest — and the official rounds are whitelist-only anyway — anyone can easily create a custom lobby and allow others to join by sharing the link.

Once the game starts, things get a little higher fidelity and begin to show some polish.

The scale of the game is impressive. At a full zoomed-out view, the player can see the entire universe and smoothly zoom in to see individual details of planets, complete with parallax clouds and an orbiting moon. To clarify, this is all visual flair — there aren’t any simulations of planetary movement happening on-chain here — but it really adds a lot to the immersion of the game.

While Galcon uses swarms of little triangular ships, Dark Forest opts for a more generic “energy” (referred to as “population” in earlier versions of the game). An innovation here is that energy is used not just for conquest but also for travel, meaning that the farther you send energy, the less actually arrives. This helps control rapid expansion, encouraging building out a stronghold and slowly expanding capabilities.

This is a big and complex game, so we won’t be able to touch on all of the mechanics, but we’ll take a look at some of the major elements in broad strokes.

Players will use their energy to expand out and claim a variety of celestial bodies, from standard planets to mineral-rich asteroid fields, and even the occasional rip in spacetime. Energy is the currency of movement and capture, but players will also be vying for silver — a special resource which allows them to upgrade their planets’ stats.

Players will also attempt to collect the limited artifacts in each universe before other players can. These artifacts, which are ERC-721 NFTs, come in a variety of types, strengths, and rarities. Some artifacts can be attached to a celestial body and give it persistent stat modifiers, while others are one-time-use boosts. We’ll look closer at artifacts in the Tokenomics section.

The game’s universe is populated by celestial bodies, each of which has a type and a level that determine its overall stats, with higher-level ones being rarer and more desirable. A celestial body can be among any of the following types:

  • Planets - The basic celestial body and the only type that can be upgraded (which costs silver). While other celestial bodies typically have similar stats as planets, planets become much more powerful once they are upgraded.
  • Quasars - These rare celestial bodies don’t produce energy, but they have a much higher storage capacity for energy and silver than that of planets.
  • Asteroid Fields - The only source of silver in the game; they are important to control in order to start upgrading planets.
  • Foundries - Exploring foundries is the only way to find (and mint) Artifacts. Each foundry can mint only one artifact.
  • Spacetime Rips - These anomalies allow a player to extract an Artifact from, or insert an Artifact into, the game with a Gnosis Chain (xDAI) wallet.

There are a number of additional gameplay mechanics — including five special ships that each player has, the planetary upgrade system, capture zones, random modifiers, and space junk — but they’re less important for a general understanding of how Dark Forest works, so we’ll leave that as an exercise for the reader.

We do, however, want to look at the zk-SNARKs implementation in the game, since that’s really the game’s raison d'être (indeed, their website URL is As mentioned earlier, the initial motivation of using zk-SNARKs was to enable a fog of war within the game.

When a player first starts a game, they can only see the area right around them — the rest is blocked by the “fog of war” that prevents the player from seeing what exists outside of that small area. In order to expand through the universe, players need to “explore” the undiscovered space to find new planets, asteroid fields, enemies, and so on.

The exploration itself is somewhat like proof-of-work mining. Exploring a particular pair of coordinates requires computing a hash of that location, which can then be compared against the hashed values of the contents of the universe. If there is a matching hash, then the corresponding asset is located there. If there are no matches, then that location is just empty space.

Because of the computational nature of exploration, the speed at which a player can reveal space is bounded by their computing power. The game even lets the player select how many cores of their processor they want to dedicate to exploration, and we can attest to the fact that setting all cores to the task quickly results in the fans whirring to life. Players can also choose from a few different search patterns based on how they would like to explore.

“TowardsCenter” search pattern
“SwissCheese” search pattern

This exploration model also comes with an important benefit: the world generation itself is crowd-sourced and on-demand, rather than needing to be pre-calculated. This works due to the mathemagical properties of Perlin Noise.

Perlin Noise generated by the PerlinNoise library.

Perlin Noise is an algorithm often used to procedurally generate textures, like terrain, in a way that seems more likely to have occurred in nature. Even better, one can calculate the noise value at any particular point without knowing about the rest of the map. This is actually how Minecraft creates a world that is eight times bigger than the actual Earth.

One might have wondered how Minecraft stores such a tremendous universe, and the answer is, it doesn’t! It uses Perlin Noise to generate a pattern of infinite size from a given initialization seed, and then the game can calculate the properties of any arbitrary coordinate just by doing a little math.

In the case of Dark Forest, the different types of space (space, deep space, dead space, and nebulas) are distributed across the universe with Perlin Noise. When a new game universe is created, it is given the necessary Perlin Noise seeds, but the smart contract has minimal need to do any calculation of actual values. Instead, that calculation is done in real time by players and only on the specific areas they are exploring at present.

Perlin Noise distribution of space types (shades of blue)

One last note before we move on is that since the game is entirely on-chain, every action must be uploaded to the chain, which means every move a player makes has an associated gas cost. Fortunately, the Gnosis Chain gas fees are very low, so individual moves cost only fractions of a penny. It also means that each move has a delay of a few seconds while it gets added to the chain.

This is an important consideration when designing a fully decentralized game. Beyond choosing a chain with minimal gas fees, the game should be designed to keep a reasonable bound on the number of player inputs needed, as well as avoid anything that requires careful timing or quick reactions due to the nontrivial and sometimes unpredictable delay.

Digital Physics and Emergent Gameplay

One question we often ask when evaluating a blockchain game is, “could this exist without the blockchain?” With blockchains being the hot technology right now, it often feels like a game is strapped onto a chain just to say it uses blockchain technology, but in fact it could exist just fine without it. So we asked Ludens whether being on-chain was actually necessary for Dark Forest. zk-SNARKs make it possible to be on-chain with hidden knowledge, but why do that in the first place?

He conceded that at first they put it on-chain “because it was cool”, which is a great summary of Dark Forest’s origin story as a whole. But over time they discovered that being on-chain created some very interesting emergent behavior that could only happen with an on-chain game.

As one example, there is The Astral Colossus — a smart contract written to play Dark Forest (since anything with an address, including a contract, can be a player). The goal was to give players a way to work together and share a victory in the game. The Astral Colossus itself does not make strategic decisions and expand, but instead automates certain scoring activities (like withdrawing silver and discovering artifacts). It can only do this with resources and planets contributed to The Astral Colossus by players. It then tracks the contributions from each player and creates its own leaderboard, allowing players to feel that they were part of the success of The Astral Colossus (though it in fact only placed #34 that round).

Leaderboard plugin showing contributors to The Astral Colossus -

Perhaps a controversial example is that of bribing validators to not accept requests from rivals. While it’s not known if this has actually happened yet, Ludens cited it as an idea that had been floated around. There are only 100 validators in the Gnosis Chain, and unlike proof-of-work, in proof-of-stake one cannot interact with the chain without a validator permitting it. It would not be hard to provide an incentive to validators to reject requests from certain addresses. And as far as Ludens is concerned, that’s all just part of the game. (It’s no surprise that the team cites EVE Online, famous for its “anything goes” inter-player conflicts, as an inspiration).

A more functional example is that a few different marketplaces, including Dark Sea and, were created as layers on top of the game. These marketplaces are quite different from third party marketplaces for traditional games, where two players might agree to exchange accounts for money. Instead, the smart contracts behind these marketplaces are able to directly manage the transaction, swapping ownership of resources automatically without players needing to trust each other to follow through on the transaction.’s in-game interface

Very importantly, Dark Forest did not write a specific API to enable a market plugin to manage assets. Instead, this was possible because of the openness and composability of the game. It’s relatively easy to extend the game’s functionality, even in ways the designers never intended.

Rather than resist the fact that players can modify the game, the Dark Forest team has embraced it. As of v0.5, the game has built-in support for plugins and has heavily encouraged the community to build extensions for the game. Over time, these plugins have improved the UI, simplified tedious tasks, and even allowed waging automated wars.

Plugin Feature in Dark Forest

Additionally, the team has added support for plugin-able renderers, allowing players to build new shaders and effects, empowering their players to make the game look even better. They’ve fostered a modding-style community, leaning into the creativity and talent of their player base.

The very useful PlanetOverview plugin makes the tedious task of finding a particular planet trivial.

This extensibility is where the idea for “digital physics” came from. A phrase coined by the Dark Forest team, “digital physics” refers to the fact that game design of an on-chain game is quite different from traditional game design. There is a concept in game design called the magic circle — an area within which the game’s rules and content exist and outside of which the real world exists. With an on-chain game though, there is no magic circle. The game cannot prevent people from making plugins or extending the rules even if it wanted to.

So when designing for on-chain worlds, Ludens says that they think of it more like designing “digital physics” — rules that govern how assets in the game interact with one another but can’t limit what else participates within those rules. The distinction is a bit subtle, so let’s imagine designing our own game.

The game, BlockChainMaze, has only a few simple rules:

  • The object is to get to the end of the maze
  • Mazes are randomly generated via a number of parameters
  • Players can submit a move to shift up, down, left, or right
  • Multiple players can exist within a single maze instance
  • No two players can be in the same location at the same time

A simple client renders the 2D maze and the position of any players in it. And that’s it; that makes up our “digital physics.” We release it to the public, entirely on-chain, and watch what happens.

First, someone creates an app that polls the number of maze completions from players and creates a global leaderboard. This doesn't change the core gameplay, but it's a nice new feature that players want, and we didn't have time to make one ourselves. This isn't so different from what other blockchain games are doing already though, and it's something we've seen before in centralized games.

A little later we see someone starting to create some new opt-in rules. Someone has released a BlockChainRACE smart contract that gives players a score based on the least amount of moves they can get through the maze with. They’ve created a new game mechanic by only writing a small addition to the existing one. Plus, that leaderboard developer has now added BlockChainRACE scores to the global leaderboard as well. We've seen stuff like this with existing games where players create self-imposed challenges, particularly in speedrunning communities. The difference here is that the infrastructure for it is immediately available to the entire player community, should they choose to opt-in.

Then, a player adds treasures to the maze. If a player moves onto the same location where a treasure is hidden in, they are awarded said treasure. This happens regardless of whether the player has opted into receiving it or not, because the smart contract just looks at the locations of all players in the game. Players can send treasures between each other freely through this same contract.

Next, we see BlockCHASEMaze—a new smart contract that puts a minotaur in the maze that will chase players if they get too close.

The thing to understand about "digital physics" is that anyone is allowed to deploy new rules to the game, including rules that cannot be opted out of, but only so long as they do not violate the established rules of "digital physics" within the layers they depend on. But anything that is "physically" possible is by definition permitted.

Here's how it cashes out. Player location exists on the base layer of the game. The minotaur cannot force a ‘game over’ condition because the base layer has not provided for this; all it can do is chase the player around. But since players cannot exist in the same place at the same time, if the minotaur is implemented as just another player, one thing it CAN do is corner a player in a dead end. The Minotaur likewise does not have the ability to, say, steal a treasure from the player on its own authority, because treasures are governed by a lower layer. However, the minotaur can use its ability to corner a player in a dead end and ‘demand’ them to hand over all their treasures, after which it will leave the player alone (and the player can inspect the minotaur's smart contract code to know it will keep its word).

What's interesting about this is that the minotaur layer, which depends on the base layer and the treasure layer, can be added to the experience of everyone playing on that layer, with nobody able to opt-out of it. Now the game features a monster that will run around and try to corner you so it can rob you of all your treasures, even though nothing in the two layers you are opted into explicitly provides for this.

Of course, many players might object to such a "wild west" approach, and game designers should be careful to design their "digital physics" in such a way that the game won't be ruined by players building new functionality on top of it that are perfectly legal within the confines of that world.


The tokenomics here are pretty limited in scope. There is no fungible game token, so there’s not much to look at there.

Since v0.4 (October 2020), Dark Forest has been on the Gnosis Chain (previously know as xDAI Chain), an Ethereum-based proof-of-stake sidechain. The Dark Forest team selected Gnosis because they felt that the team behind it best represented the ideals of blockchain technology, and have said that the Gnosis staff were very helpful with setting Dark Forest up.

The game itself would work on any Ethereum-compatible chain, previously being on Ropsten (an Ethereum testnet), but after scaling issues, including crashing the entire Ropsten network, they switched to Gnosis. The game uses Gnosis Chain’s stablecoin, xDAI, for a few in-game transactions:

  • Gas fees
  • Buying HATs

HATs are cosmetic items that can decorate planets. A HAT always costs 1 xDAI (i.e. 1 USD) and is only tracked as a game variable; it does not mint a NFT and it is “owned” by the planet, not the player. A player can continue to spend xDAI on a HAT, each time growing the HAT a bit larger.

HAT income is effectively a donation that helps support the developers and is partially recycled back into prize pools for the winners of each round. It is unclear how much money has been spent on HATs; the developers reported that one anonymous player purchased 2,000 xDAI in HATs for the v0.5 round, but we see only about 600 purchases on the chain during that time. Either way, the scale is very small.

“Fascinated Manager” - Largest Hat of v0.5

Starting with v0.6r1, the top 63 players of each official round are manually awarded a planet ERC-721 NFT and given a spot in Dark Forest’s Valhalla. These NFTs are tradeable on Open Sea, but they are just “trophies” and are not in any way connected to the actual game. These trophy planets have a strong floor price of 0.68 ETH and a top sale of 8.88 ETH, but this is very low volume and there have not been any transactions since March 14, 2022.

The only tokens that exist within the game are artifacts, which are also ERC-721 NFTs. A player can use their “Gear” ship to explore a Foundry and mint an artifact. Artifacts can then be removed from the game, using a Spacetime Rip, and deposited into a Gnosis wallet. They can be transferred between wallets and then imported back into the game. So far, artifacts have not been forward compatible to be usable in future rounds, or even between instances, which likely substantially reduces their desirability on the market. Also, the team has not made promises that artifacts would be key to their metaverse or be usable later to stake for coins. The decision to make artifacts NFTs was purely a gameplay one: it enables players to trade them around and make the game more interesting.

Pyramid artifact orbiting a foundry

As discussed earlier, there have been a few player-created plugins that were designed to facilitate trade, including artifacts, among players. lists a total of about 600 transactions, with only 45 involving xDAI (the rest were free), for a total of 107 xDAI. These are not numbers that will shake up the venture capital world, but then again, they were never intended to be.

What Zero-Knowledge Means for Blockchain Gaming

Dark Forest has a number of innovations, but the clear standout is the one it set out to explore: zero-knowledge blockchain interactions. zk-SNARKs themselves are not new, with the term being coined in a 2011 paper, and zero-knowledge proofs in general being developed as early as the 1980s.

What Dark Forest did, though, is implement zk-SNARKs in a blockchain-based game to create gameplay mechanics that could not have been done without zero-knowledge protocols. One then must ask, what sort of functionality could this technology enable in other games?

In a talk given by Gu and Luo, Brian suggests that collectible card games, as well as inventories in MMORPGs, would be good applications of zk-SNARKs. Let’s look again at the earlier example of the trouble Splinterlands ran into when they submitted a player’s locked cards to the publicly-readable blockchain.

The intent of submitting the selection as soon as a player locked it was so that the player could get credit for the content of the team (needed for some achievements) if the opponent bailed before the match began. This convenience feature had to be removed entirely to prevent cheating. What if they used a zero-knowledge commitment scheme instead? In this case, commit-reveal would probably be a better fit than zk-SNARKs, but regardless, the result would be that players could safely commit their choices to the blockchain and then reveal that choice once both players have committed (or if the other player has abandoned).

Even something as simple as poker would be extremely difficult to play on-chain without ZK technologies. With ZK, a whole host of games and game mechanics are suddenly feasible for on-chain games. It isn’t something that necessarily innovates gaming, but rather it enables blockchain games to have better parity with off-chain games.

zk-SNARKs do have their own problems, though. Verifying a proof is computationally trivial; it has a complexity of O(1), meaning that the amount of computation doesn’t change, regardless of how complex the proof is. However, generating a proof is very expensive. It can take a couple of seconds on a computer, which would be ages in a smart client. So, smart contracts can only verify; they cannot create proofs.

In the case of Dark Forest, this means that smart contracts cannot do the most fundamental action in the game — sending energy — because doing so requires generating a zk-SNARK proof. This significantly limits the capabilities of smart contracts to automate or self-play the game. That may be considered an advantage, avoiding AI players, but it definitely limits the extendibility of the game. This is likely the main reason that aforementioned Astral Colossus didn’t move at all; it actually couldn’t have due to the computational complexity of doing so!

What On-Chain Games Means for Blockchain Gaming

Separate from zero-knowledge functionality, just having a game run entirely on-chain is a significant technical achievement. The blockchain might be thought of as a computer, but it’s not a very powerful one yet. So is it worth the effort to stuff an entire game on the chain?

One advantage is that on-chain games exist independently of their creators. This means that even if the Dark Forest team abandons the game, the game itself would keep going. It doesn’t depend on any company-owned servers, instead being truly community-run.

But the real advantage is related to composability and extensibility. Dark Forest, despite being a small project with relatively few players, has already seen an incredible amount of creativity and development from its community. The game’s capabilities have grown and emergent gameplay is everywhere.

And beyond following some of the promises of the openness of Web3 and open-source software, this approach can lead to extremely favorable business results. It is from communities of modders that we got some of the most influential gaming innovations that in turn led to some of the most financially successful games of all time:

In fact, Dark Forest is already seeing similar levels of modding. dfdao, the collective behind Astral Colossus, is currently developing Dark Forest Arena. This mod of the game aims to create a MOBA-style experience, using the Dark Forest base game. Matches are played by 2 or 4 players and last under an hour. There’s even a single-player mode that is a race to see how fast the player can capture the target planet. Dark Forest Arena is actually on a different chain as well; it’s on the Gnosis Optimism chain rather than the standard Gnosis Chain that Dark Forest operates on.

And that’s really incredible. On-chain games are a breeding ground for new ideas, enabling creators and developers to iterate and innovate. It is in many ways similar to traditional open-source software but with even more portability and flexibility. This is what many of the early blockchain promises of composability and collaboration were really about.


Dark Forest is a passion project of three college students — a tech demo that grew into an impressive and technologically-innovative massively-multiplayer blockchain game. Following this success, the team is now working on “MUD”, a game engine that Dark Forest will be ported to that will enable faster development and easier extensibility. They are also working on a new game called “Ember”. Not much is known about the project yet, except that it is a Civilization/Dwarf Fortress hybrid, and of course that it is entirely on-chain. It’s hard to say where they will go from there, but with a mission of changing the narrative of blockchains, it’s likely that the team will continue to explore the capabilities of these distributed computers.

One can tell that Dark Forest has an idealistic vision of Web3 deep in its DNA. What exactly that means is up for endless debate, but the game was not created to become a billion dollar sensation for investors to swoon over. Instead, it was built on a foundation of curiosity, discovery, exploration, and collaboration. Games like Dark Forest aren’t making headlines, but it is likely that some of the most important, influential, and yes, even profitable, innovations in blockchain gaming will come out of projects like this.

A big thanks to Anthony Pecorella for writing this report! If Naavik can be of help as you build or fund games, please reach out.

Don’t miss our next issue!

Sign up to receive the #1 games industry newsletter, straight in your inbox.