Original Author: Snapfingers DAO
Introduction
At the EDCON conference, Vitalik Buterin said that zk-SNARKs will be as important as blockchain in the next 10 years. The blockchain game Dark Forest has utilized this technology and received praise from Vitalik Buterin: "It's really interesting."
Dark Forest is an MMO "cryptographic warfare fog" chain game. Fog of war is a mechanism commonly used in games where players are familiar with, such as "StarCraft" and "Warcraft III". Information hiding is achieved through a "fog of war" on the game map - areas on the map are obscured until discovered by players. This environment and the unpredictability of tactics on both sides are also known as incomplete information games. Almost all popular MMO games are incomplete information games, allowing players to explore more diverse and dramatic strategic spaces.
In blockchain, data is completely open and transparent, making it impossible to achieve incomplete information mechanisms. Dark Forest uses zero-knowledge proofs (zk-SNARKs) technology to allow players to publicly submit verifiable and valid actions while maintaining privacy, thus achieving incomplete information.
Next, we will introduce an overview of the blockchain game Dark Forest and its interesting designs, and through this game, we will see how the Web3 world achieves complete-chain incomplete information game. This article will also explain concepts such as "complete-chain game," "information game," and "encrypted fog of war," to break down terminology barriers. It is hoped that this article will help those who want to understand the overview of Dark Forest and explore the fun of complete-chain games.
* This article is for information sharing purposes only and is not investment advice, so it is not recommended to buy specific tokens or NFTs. Please DYOR.
01 Game Background
Dark Forest is a decentralized RTS (real-time strategy) complete-chain game based on Ethereum and Gnosis (previously known as xDai) chains. The game is an MMO space conquest game adapted from Liu Cixin's renowned novel series "The Three-Body Problem," specifically the second book called "Dark Forest." The main content of the game includes repelling invading players, collecting randomly scattered resources on the star map, and expanding your interstellar empire as much as possible.
* MMO is short for massively multiplayer online games, which refers to online games where 100 to 1000 players can participate simultaneously via the internet.
The earliest proponent and founder of the Dark Forest concept was @Gubsheep. He happened to attend a conference on zero-knowledge proofs and was impressed by Liu Cixin's portrayal of the Dark Forest theory. This inspired the idea of creating an "encrypted world of the Dark Forest" using zero-knowledge proofs. Initially, it was just an experimental and even playful idea, considering that games, as a highly interactive application, faced significant challenges in the blockchain environment at that time and even now. Moreover, applying the nascent zero-knowledge proof to such a complex system seemed unthinkable. However, Dark Forest not only realized this concept but also became a milestone in blockchain history.
Early members of the Dark Forest team
The early members of the Dark Forest team were Gubsheep, Alan, Ivan, and Moe. On August 7, 2020, the team released the first test version of the game (Dark Forest v 0.3) on the Ethereum Ropsten test network. The total prize for the winner was 1024 DAI.
02 Simple Tutorial
What do users need to prepare for gameplay?
1. Official game website: https://zkga.me/
2. Initial website settings
Click on the lock icon to enter the website settings and change the "Pop-ups and redirects" and "Unsafe content" settings from blocked to allowed;
- Pop-ups and redirects: The game will request signature transactions in the form of pop-ups when logging in for the first time;
- Unsafe content: This option needs to be enabled when using remote opening.
3. Prepare xDai
The game runs on the xDai chain, and the account is fully compatible with Ethereum accounts. Each operation in the game requires xDai as gas fees. Alternatively, you can use xDAI to purchase HATs for planets or artifacts sold by players in the marketplace. In previous official game rounds, 0.05 xDai would be sent to the address of the verification key for the initial startup. However, the community rounds may not distribute xDai. In any case, you should prepare a certain amount of xDai for your account.
There are two ways to obtain xDai:
- Purchase from centralized exchanges: AscendEX
- Exchange through cross-chain bridges such as Li.Finance, Hop, xPollinate-V2, xDai Bridge...
4. Prepare an invitation code
Usually, the official will distribute several invitation codes to qualified participants in the previous round of the game through email. You can ask your friends or request them in the community's Discord. However, you should subscribe to the mailing list on the official website before the game, so you also have a chance to receive a key. As for the ways to obtain keys in the community round, you should pay attention to the designated community in advance.
03 "Misty Forest" Mechanism
The concept of war fog began to be introduced and formally proposed in the original real-time strategy game "Dune 2". Warcraft players must be familiar with the system of battle fog, which hides information about opponents' troops and terrain until the player's army explores them. These are all uncertainties in the battlefield.
After "Command & Conquer", the war fog in games gradually split into two layers: the map layer and the unit layer. The map layer includes terrain, which is difficult or impossible to change, and its intelligence remains valid even after units move away. The unit layer mainly refers to the situation of active units in the area, which will be covered again after our intelligence source disappears (such as when a reconnaissance unit moves away). It has become a convention to use different shades of black to distinguish the two layers of fog, with the map layer being darker and the remaining fog of the unit layer being relatively lighter once the map layer is revealed. This form of war fog is considered classic and widely adopted. This classic mode has also been inherited by the majority of subsequent real-time strategy games, and war fog has been applied in RTS games and turn-based strategy games, making it an essential element in 4X game concepts.
In "Misty Forest", the war fog is the part of the map that players cannot see. When creating a new account, only a small area of the starting region is revealed to the player, while the rest of the universe is covered by war fog. The star map will be explored and expanded through CPU calculations, and the speed of exploration depends on the performance of the CPU. Once the star map is explored, this information will be continuously observed, unlike the traditional war fog in web2 games, where it returns to a foggy state after reconnaissance units leave. Therefore, the speed of star map exploration directly determines the amount of intelligence that can be obtained. The more intelligence, the more precise decisions can be made.
Now let's talk about "Misty Forest". The war fog in this web2 game relies on vision, terrain, exploration, weather, etc., as a web3 blockchain game. The use of zero-knowledge proofs cleverly builds a decentralized encrypted dark forest. This gameplay of using digital calculations to explore the universe and broadcast enemy coordinates is unprecedented in previous games.
The biggest difference between a full-chain game and a regular blockchain game is that all game data is on the chain. Combining with the transparent nature of blockchain data, most so-called full-chain games are fully informationized. Therefore, it is generally believed that it is difficult to create a highly playable full-chain MMO game with war fog elements.
The Dark Forest uses zkSNARK technology to accurately verify players' actions while hiding their states from other players. From the player's perspective, the complete state of the universe is not fully revealed, allowing players to enjoy the fun of exploring maps and discovering unknown worlds on the chain. Players can even use the principle of the fog of war to simultaneously develop multiple strategies and expand planets in different regions of the star map. When other players discover you and have the ability to launch attacks, you will not suffer a devastating defeat due to overly concentrated resources. Instead, you can regroup and recover elsewhere.
04 Implementing Incomplete Information Game Using ZK Technology
Zkp (Zero Knowledge Proof) can fully prove that one is the legitimate owner of certain rights without revealing specific information to verifiers. zkSNARK is one of the implementation methods of Zkp. Dark Forest uses zkSNARK to verify the precise details of players' actions while keeping them hidden from other players. Therefore, although it is a blockchain game, it has confidential information, making Dark Forest an incomplete information game.
Complete information games and incomplete information games may sound unfamiliar, but the concepts themselves are simple. Games like chess or Go can be considered complete information games because all information on the board is publicly available to everyone from any perspective. StepN is also a complete information game because each player knows who owns which pair of shoes and what the characteristics of each pair are.
Dark Forest is a blockchain game that is referred to as an incomplete information game. If we use familiar games to describe incomplete information games, they are games with hidden information, such as mahjong or poker. In mahjong, for example, the opponent's hand and tiles are hidden, and in poker, the opponent's hand and deck information are hidden. The innovation of Dark Forest lies in its implementation of this type of incomplete information game on the blockchain. While sending verifiable and effective actions as public information, each player maintains a private state.
Dark Forest uses zkSNARK to hide the positions on the shared map and create a fog of war
Players do not need to send the coordinates of conquered planets to smart contracts. They only need to claim the planet's position (by hashing the planet's coordinates) and provide a valid zero-knowledge proof to ensure the confidentiality of the planet's position.
When players move, they send the hash values of the star they leave and the destination, along with a zero-knowledge proof proving the validity of the action.
It is difficult to reverse the hash value, so checking the Dark Forest contract cannot reveal the real position of other players. You can only find other players through the exploration of the star map. When exploring the star map, due to the lack of information about the destination in advance, players' decisions are only optimized for the current situation. Whenever a new planet or artifact is discovered, players need to analyze and make decisions based on all current information. Are they able to attack the opponent's planet or what is the cost of obtaining this artifact? Questions like these. The essence of incomplete information games lies in constantly choosing the optimal solution based on the current situation.
05 Open plugin system to enhance playability
The primary purpose of Dark Forest is to allow users to have fun in multiple ways. The competitive goal of the game is to score as many points as possible. Even if you are not a competitive player, there are many other ways to have fun. Plugins are an important part of the Dark Forest game and serve as a testing ground for various functions as a pioneering game. Currently, there are 55 open-source plugins approved by the official review and included in the plugin library. They can be mainly classified into three categories:
Visualization: The native interface of the game is relatively simple. Players can develop various functions according to their own needs, such as data visualization (heat maps, mini-maps, map export tools that can calculate transmission time between planets, etc.), highlighting or marking specific targets (essential plugins for grouping, friendly identification and highlighting of friends, highlighting star buffs, etc.).
Trading market: Mainly for players to match the exchange of different resources, providing new motivations for players, including but not limited to: artifact trading market, similar to the equipment trading system in other games, coordinate bounty market, planet bounty market, etc.
Automation: Plugins in this category are usually used more frequently, mainly helping players simplify complex and tedious operations through scripts to improve execution efficiency: resource-related (two-piece set of capturing and managing artifacts, distributing silver mines with one click, centralizing resources with one click, etc.), battle-related (capturing surrounding planets with one click, automatically repeating attacks, simultaneous attacks, and even directly launching wars against players, etc.).
Conclusion
In the Dark Forest, the Fi element is weakened, and more emphasis is placed on gameplay, thus creating a rich gaming experience and diverse gameplay. At the same time, new features are also being experimented with. Excluding bugs that disrupt game balance, deception, bribery, cooperation, and automation are all allowed, because you are in the "Dark Forest".
The novel gaming experience makes the Dark Forest a dark horse in blockchain games. The open guild system better meets the needs of decentralization. The Snap of Fingers Research Institute will continue to pay attention to this full-chain game in the future.