edited by vera
For our latest installment of Devs on Devs, which we’re releasing for the Redstone Race to Mainnet, we sat down with Cherry Blue and 9STX6 of the Dark Forest Archon team. The team is building Dark Forest Ares, a community-run deployment of Dark Forest on Redstone. In this interview, the two devs discussed the glory of Dark Forest plugins, their approach to breathing new life into the classic Dark Forest game, and their experiences with Redstone (and plans to port Dark Forest to MUD!).
Redstone launches to users on May 1st! Get ready to play DF Ares and other Redstone games, and don’t forget to check out the Redstone Community page.
Cherry Blue: Dark Forest Ares is a series of Dark Forest community rounds. Our goal is to introduce a fresh game design while integrating exciting new ideas, all while preserving the classic essence of Dark Forest, including its plug-in system and command-line interface.
For the classic Dark Forest game, I believe there are three key elements. Firstly, it operates as a ZK (Zero Knowledge) game, utilizing ZK circuits to establish a fog of war on the public blockchain. Secondly, Dark Forest is a fully onchain game, with all game logic stored directly on the blockchain. This allows players to interact with the smart contracts using various methods. Within the Dark Forest community, a plethora of modified clients and plugins have emerged. Additionally, community members develop smart contracts that directly interact with Dark Forest contracts to introduce various functionalities. This integration of newly developed smart contract systems with the original game contracts enhances the player experience, a concept we refer to as permissionless interoperability.
Thirdly, it is a real-time strategy game, with players from around the globe actively participating in the ever-open universe. Social interaction among players is a fundamental aspect of the gameplay experience.
Certainly, there are numerous aspects that demand careful consideration and trade-offs. For instance, due to the limitations of smart contracts in performing complex computations, the move operation essential for energy transfer between planets in the game cannot be triggered by other smart contracts, thereby somewhat constraining permissionless interoperability. Another instance is the emergence of large-scale automated plugin systems and GPU map mining tools, exacerbating the disparity among players and detracting from efforts to entice more individuals into the community. Our objective is to strike a balance amidst these trade-offs, where we can uphold the distinctive features and advantages of Dark Forest while also drawing in more participants, thereby fostering a thriving community.
9STX6: I think I will speak a little bit from the game mechanics side, not so much from the technical point of view. We’ve kept all of the mechanics from the original Dark Forest. That means players have some energy spawned on their planets, and they’re trying to conquer the most planets against the other players. And of course, they’re trying to establish some strategy for conquering the empires. We have specific types of planets, and some can boost your targets well.
For example, if you want to defend a certain area, you can choose a planet with a defense boost. There are planets in different biomes that change their beautiful appearance and stats. We have different variables inside the game. We’ve been optimizing the time frame of each round; it’s very important to understand how addictive this round can be. If you start playing and the round is for two days, the activity is a little bit different than if you play for 14 days. If you can control an area the size of an empire then you need to start thinking about automation.
The plugins are crucial for that. That's my inspiration behind this, looking at the limit where humans start to be ineffective against semi-automation. I'm not a big fan of the full bots. I think that the basic mechanics is that you're growing your empire, and behind it are a lot of secrets in ZK. We have circuits, we have the fog of war, we have many, many techniques inside the game that we can still reuse.
Cherry Blue: Plug-ins are a fascinating subject. Many community members can craft their own plug-ins to cater to their specific needs. The classic Dark Forest client boasts valuable underlying APIs, which developers leverage to create plug-ins. I've witnessed hardcore gamers devise semi-automated systems to navigate Dark Forest, requiring only simple configurations for plug-ins to execute various in-game tasks. Personally, I've ventured into developing an extensive plug-in designed to autonomously conquer planetary regions, employing recursive algorithms to address similar game scenarios. In my experience, the exceptional design of Dark Forest may render automated plug-ins unable to outperform seasoned human players. I'm eager to share this insight with everyone! I'm aware that this level of programmability often catches players unfamiliar with coding off guard, and they may subjectively perceive it as an added challenge.
From my perspective, programming offers a solution to handling repetitive tasks, empowering players to exercise their subjective initiative. This allows players to focus on more significant matters rather than getting bogged down in trivial operations. As a collective effort, our team aims to release additional open-source tools and comprehensive guides to familiarize players with plug-ins and streamline their interaction with the game.
One crucial point to highlight is that the blockchain platform operates on principles of openness and freedom, and the cost of maintaining such freedom is eternal vigilance. As game developers, we prioritize offering players a wide range of choices rather than imposing restrictions upon them.
9STX6: Basically the plugins are one of the components of automation, but of course plugins can do a lot of different things. In our last game we had this experiment with the Minimap plugin where we let players have some decision as to where they spawned into the game. In the original Dark Forest, this is completely random. We did an experiment to basically switch the random spawning to specific zone spawning using part of Minimap source code. This meant a new member of the community had some kind of decision at the start of the round about where they can spawn.
There are also some plugins we’re building that we want to eventually integrate into the default functionality of the client, like a more high-fidelity map visualizer. Together with the plugins, we also want to do things like marketplaces in the game contracts, where we can start to introduce a native economy into the game. In our round, we're starting to play with artifacts, and basically open the market between the players. Then we can have some other stuff inside the game that can introduce an alternative strategic goal, like how you can lead your empire to be profitable.
We're looking forward to adding more lore-specific content too. With that we could reach more players, and widen the scope of the game. You won’t just play to be a big emperor of everything, you’ll also have other things in the game to achieve. Of course, we like the conquering part of Dark Forest too. But still, there are players who like to just explore. To be honest, my first experience with the game was just rough exploring. And I love it!
Cherry Blue: Fully onchain games resemble protocols, meaning they're just a set of rules, and players can operate freely within those rules. Besides the client and smart contracts, I know players who even run blockchain nodes to gain more stable RPC for certain operations.
I understand the importance of attracting new players. Improving the user-friendliness of the client is crucial. However, we also believe it's essential to educate people about this new gaming concept. They need to become familiar with the fully onchain gaming paradigm.
Here is an analogy: Typically, players navigate the game using their own two feet. But with plugins, they can drive a car, which is faster. However, they must learn how to drive. Once they master driving, they can make more decisions and have more fun. This also explains why hardcore players of Dark Forest are so passionate about the game.
Cherry Blue: I’ve been familiar with the Lattice team for a long time, because we played Dark Forest and we loved to watch videos from 0xPARC. I heard about MUD in the summer of 2022. I saw ludens’ demo at D.E.F.C.O.N on YouTube, and I said “Wow, that's the future of blockchains.” And in the last year, we learned that Redstone would be released. So we chose to develop Dark Forest Ares on Redstone. Actually, we did a wide-range survey among all the EVM compatible blockchains. Among all the choices, Redstone is very fast and the gas price is very low. So it's very fit for the ambitious applications. That's why we picked Redstone.
We're also planning to port Dark Forest to MUD, and our team is currently discussing and formulating specific development plans internally.. We’re still using the Diamond Standard (ERC 2535). The reason for porting Dark Forest to MUD is because the classic Dark Forest codebase and development stack are somewhat outdated. For new developers, grasping the code structure is quite challenging due to the multitude of layers to consider. Developers need to understand ZK circuits, develop the game's smart contracts, and write scripts to deploy and test these contracts. On the client side, developers need to know how to interact with the smart contracts, maintain and update game states, and understand how to utilize WebGL for rendering in the presentation layer.
Additionally, there are numerous fine-grained details to handle. Developers need to grasp many aspects before effectively participating in development. I believe we should attempt to utilize MUD to streamline all of this, enabling us to concentrate on designing and developing the core logic of the game.
During the porting process, we may explore breaking down Dark Forest Ares into various modules tailored to MUD. These modules could also serve for the development of other games, thereby enhancing code reusability.
9STX6: I’ve known about MUD for about 1.5-2 years. After that I opened my console, installed it, and I started with the increment template. I think after three and a half months, four months, I had my first demo game written in MUD; it was a turn-based contract where I started playing with entities. It was very fast. And you can build on top of it. And there’s a great symbiosis between MUD and Redstone.
We were very surprised with the stability of RPCs on Redstone during the first playtest and also tested traffic by making a couple accounts constantly generate ingame transactions during a recent playtest and everything was fine.
Cherry Blue: Porting Dark Forest to MUD will be a massive undertaking. So, perhaps we can start small. Let's think about the key components of Dark Forest. For instance, we could begin by directly porting planets—without levels, just the planets themselves capable of attacking each other. This way, we'd start with a very basic game and a simple structure. Then, we can gradually expand. We might introduce artifacts and develop the client-side API system. It'll be a step-by-step process.
9STX6: The biggest challenge for us, I think, is the time zone alignment between the team and the different languages we all speak. To be sure, that's something that everybody needs to accept if they start contributing worldwide. On the other hand, it's very funny.
The second challenge, I think, is all of the computational complexity of Dark Forest. If you do one thing, you need to verify it. And again, coming back to the plugins, if you develop one bot, and it works well for one round, you never know if the same bot will work for the next round. This is something that a mentor of mine says: if you make a program, you need to also maintain your program.
Cherry Blue: For me, the biggest challenge isn't development, but rather how to promote and shape public perception of blockchain games. From what I know, many people entering Web3 prefer more direct, financially closer applications. As for those in Web2, they simply don't understand what blockchain is; they might have heard of Bitcoin, but see it as distant from their lives. So, a new player might need to understand a lot before they can truly enjoy it. I see this process in three steps. Firstly, understanding Bitcoin. They need to grasp the basics of blockchain, agree with some fundamental philosophical ideas, and have a favorable view of narratives like decentralization based on their values. Secondly, they need to understand Loot, which defines a new paradigm for NFTs. The third step is understanding fully onchain games. Only then can they start thinking, "Wow, Dark Forest is really cool.”
Cherry Blue: By periodically hosting Dark Forest Ares rounds, we aim to attract more players, allowing more people to understand the charm of fully onchain games.
For the philosophy of our application design, I believe there are three very important aspects.
The first point is that we aim to encourage players to engage in deeper strategic thinking. Rather than simply redeploying the code from the previous Dark Forest, we strive to introduce new game concepts and designs in every community round we host. For example, we've introduced artifacts with different functionalities, creating a dynamic strategic environment for players to explore through their interactions. We've also experimented with different ranking rules to assess their impact on player behavior and psychology. Additionally, we've implemented a Bounty Hunter platform, allowing players to issue bounty missions to other players, with assassin players earning rewards by attacking target planets. There will also be several other features introduced in the upcoming Dark Forest Ares v0.1 Round 3 on Redstone mainnet.
The second point is that we encourage players to create. We engage closely with players on Discord, discussing new ideas and providing timely assistance and advice to players developing new plugins and tools.
The third part is that we want to build in a communal way. In 2022, the Dark Forest community saw the emergence of many diverse guilds, some of which remain active in various onchain games today. We hope to foster constructive player groups in the community rounds we advance. We will operate and advance our projects in a community-oriented manner, and actively seek feedback from community members in a timely manner.
9STX6: I think that was a great overview of our philosophy. From my point of view, the biggest change and breakthrough for us should be guild wars. It's something everybody wants to see, to fight a big alliance, each other, with diplomacy, with spying, with that kind of stuff.
I think it's something we've been dreaming about for a lot of years. It's been something that is maybe our biggest dream, but yeah, we need to follow our dreams.