Onchain Atlas

Dark Forest

A fully onchain MMO space-conquest RTS that used zkSNARK commitments to create a 'cryptographic fog of war,' proving incomplete-information games can run on public blockchains.

▶ Run interactive simulation animated mechanism with editable parameters

Statuspartial success
Launched2020-08-07
ChainsEthereum (Ropsten testnet, v0.3), Gnosis Chain (xDai, v0.4–v0.6)
Mechanismszk-snark-location-commitments, cryptographic-fog-of-war, hash-based-procedural-universe, lazy-state-updates, whitelisted-competitive-rounds, nft-prizes, open-client-plugin-ecosystem, diamond-proxy-contracts
Official sitehttps://zkga.me/
Project X@darkforest_eth (verified_by_official_website)
FoundersBrian Gu (gubsheep) (@gubsheep), Alan Luo

How it works onchain

Diagram of how Dark Forest's mechanism worksOpen full-size diagram
Original diagram derived from this entry’s researched mechanism description.

Summary

Dark Forest is a decentralized, persistent MMO real-time-strategy game named after Liu Cixin's "dark forest" hypothesis: in a universe of hidden, potentially hostile civilizations, revealing your location is dangerous. Players start with a home planet hidden in a procedurally generated universe, then expand by capturing planets, harvesting energy and silver, and attacking neighbors — all via Ethereum transactions. Its core innovation was using zkSNARKs to give a public blockchain something it natively lacks: hidden information. Announced on August 2, 2020 by a then-pseudonymous team, the first public beta (v0.3) launched on Ethereum's Ropsten testnet on August 7, 2020, where roughly 300 players generated enough transaction load to nearly break the testnet. From v0.4 (October 2020) onward the game ran on xDai/Gnosis Chain, culminating in v0.6 (2021–2022), a series of competitive rounds with NFT prizes. Creator Brian Gu ("gubsheep"), an MIT student who took leave to build the game with collaborator Alan Luo, went on to co-found 0xPARC, the applied-ZK R&D organization. Core development paused after v0.6 Round 5 (April 2022); the community (dfdao, 277DAO, MarrowDAO and others) continued running independent rounds.

Design (Mechanism)

  • zk location commitments ("cryptographic fog of war"). Planet coordinates are never posted onchain. Players submit a hash (MiMC) of their coordinates plus a zkSNARK proving the commitment is valid — e.g., that the planet lies within the universe and that a move's distance is within range — without revealing where it is. The contract verifies proofs and updates state against commitments.
  • Discovery by computation. Because the universe is derived from a hash function, finding other players requires brute-force hashing of coordinate space ("mining" the map client-side). Knowledge itself becomes a resource: faster explorers see more of the map.
  • Lazy state updates. Planet energy grows continuously per a growth function, but state is only materialized onchain when touched by a transaction — a key gas optimization for a persistent world.
  • Rounds, whitelists, and prizes. Each version ran as a time-boxed round with whitelisted entry. v0.3 had a 1,024 DAI prize pool; v0.6 rounds awarded top players planet NFTs in "Valhalla" on mainnet plus POAPs, with discretionary prizes for creative community contributions.
  • Open client and plugin ecosystem. The client was open-source and deliberately moddable; players wrote plugins, bots, and market contracts (e.g., artifact trading), and third parties could deploy custom "lobby" universes via the DFInitialize contract. v0.6 contracts used the EIP-2535 diamond pattern for upgradeability.

Outcome

Technically and culturally, Dark Forest is one of the most influential onchain experiments ever run. It demonstrated the first production use of zkSNARKs for application logic (rather than privacy of transfers or scaling), coined the "fully onchain game" / autonomous-worlds design space, and directly seeded 0xPARC. Concrete markers: v0.3's ~300 players nearly overwhelmed Ropsten in a week; v0.6 Round 5 ("The Junk Wars," ending April 1, 2022) drew nearly 2,000 players and ended in a negotiated first-place tie between orden_gg and dfdao, with the P_DAO coalition taking 7 of the top 10 leaderboard spots through coordinated squads — emergent diplomacy the designers never scripted. As a live product, however, the game did not persist: the team announced a "summer break" in July 2022, a promised next phase never shipped as a new official round, and the persistent universe remains dormant apart from community-run rounds (dfdao's Arenas, 277DAO, MarrowDAO). There was no token, no revenue model, and no attempt at commercialization — by design.

Why it worked

  • A real cryptographic unlock, not a gimmick. Hidden information is essential to strategy games and impossible on a transparent chain without ZK; Dark Forest used zkSNARKs to solve a problem nothing else could, which attracted elite technical players and builders.
  • Scarcity and stakes. Whitelisted, time-boxed rounds with real prizes created urgency and dense competition instead of a sparse, dead world.
  • Open-endedness as content. Because clients, plugins, and even side-contracts were fair game, the meta (bots, DAOs, alliances, betrayals, in-game markets) generated stories that marketed the game for free.
  • The right chain migration at the right time. Moving from Ropsten to xDai after v0.3 gave players near-free transactions, keeping a transaction-heavy RTS playable.

Where the design broke

  • Research project economics. The core team's goals were R&D (culminating in 0xPARC), not live-ops; when the research questions were answered, official development stopped, and no sustainable operating structure existed to carry the game forward.
  • Extreme skill/effort floor. Winning required scripting, plugin use, and near-continuous attention; casual players were structurally outcompeted, capping audience size.
  • Round resets prevented a persistent world. Each round wiped progress, undermining the "persistent universe" promise and long-term attachment.
  • Client-side compute asymmetry. Map "mining" and bot automation favored players with hardware and engineering skill, an unavoidable consequence of knowledge-as-resource design.

Lessons

  • ZK proofs can enforce game rules over private state, not just payments — the commit-and-prove pattern (hash commitment + validity SNARK) generalizes to any hidden-information mechanism.
  • Making information itself a scarce, computable resource creates novel strategic depth, but also converts wealth/hardware advantages into information advantages; designers must budget for this asymmetry.
  • Permissionless clients and interoperable contracts turn players into co-developers; the most memorable "content" (DAO coalitions, negotiated ties, exploits like dfdao's energy farm) was emergent, not authored.
  • A transaction-heavy game will find the limits of its chain fast; design for cheap blockspace and lazy state evaluation from day one.
  • Time-boxed rounds are excellent for research iteration but trade away persistence; a "world" needs an explicit continuity mechanism to retain its community between experiments.

Redesign (EDITORIAL — hypothesis, not fact)

This section is editorial analysis — a hypothesis, not fact. A modern redesign could keep the commit-and-prove core but fix persistence and stewardship. Run a permanent base universe on a cheap L2/appchain with periodic seasonal "shards" for competition, letting seasonal outcomes (artifacts, territory claims) port back into the persistent world so rounds compound rather than reset. Hand live-ops to a minimally endowed foundation or protocol guild funded by cosmetic NFT sales or shard-creation fees — no token speculation — so the game survives its research team. Mitigate the compute/bot asymmetry by tiering: verified-human "manual" leagues (client attestations or proof-of-personhood gates) alongside an open "anything goes" league that celebrates automation. Finally, formalize the plugin economy: an onchain registry with revenue sharing for community developers would institutionalize the emergent builder energy that dfdao and others demonstrated, turning the game's strongest asset — its player-engineers — into its maintenance layer.

Sources

  1. Announcing Dark Forest (official blog, Aug 2, 2020) — primary (docs)
  2. @darkforest_eth/contracts npm package v6.7.29 (deployed addresses, ABIs) — primary (contract)
  3. Dark Forest contracts (GitHub, darkforest-eth/eth) — primary (contract)
  4. Dark Forest v0.4: Recap (official blog) — primary (retrospective)
  5. Announcing Dark Forest v0.6 (official blog) — primary (docs)
  6. Dark Forest v0.6 Round 5 Wrapup (official blog) — primary (retrospective)
  7. Dark Forest Dev Update — Summer Break (official blog, Jul 7, 2022) — primary (retrospective)
  8. MIT Technology Review: This groundbreaking sci-fi blockchain game could help create a metaverse that no one owns (news)
  9. Naavik: Dark Forest — A Beacon of Light for Blockchain Games (analysis)
  10. Zero Knowledge Podcast ep. 225: Dark Forest and 0xPARC with Gubsheep (retrospective)

Related experiments

Last verified: 2026-07-26 · Spot an error? Suggest a correction