This is the fourth in a series of casual writings on web3 game design. In a former life, I was an academic in the field of game studies, today I help accelerate web3 companies. For shorter-form content, you can follow me on Twitter @DangerWillRobin 🧵
Open-Source Savvy Players
Round v0.6.2 has started and almost the entirety of our newly formed seven-person team, dfdao is primed to win. The rules are slightly different, as the discovery of artifacts now contributes to score. Doing some paper napkin calculations, all other things being equal, they stand to represent half of a winner player’s points. While people have generally hand-waived at how artifact rarity is determined, I actually bother to go deep into the Solidity contracts to understand their randomization. This is actually pretty darn cool in itself, as you can imagine almost all web2 games will hide some facets of their design from players in their proprietary code. Already we are lesson 1: web3 games will necessarily incentivize players to learn to read code, even if they won’t write any.
Manan works overtime to pre-mine the map so that we can try to spawn near level 8 and 9 foundries (which are where I discovered those mythic artifacts spawn with certainty). Building on some public tools and using several of the whitelisted keys we received for participating in the previous round, we start empires in about four locations, with almost all of us piloting. By half-way through the round, our strategy appears to be working, we’ve discovered three mythic artifacts and have just barely overtaken some stranger named @ghst_gg. Our lead is short lived however, as my back-of-the-napkin calculations did not anticipate a sharp increase in leading players’ score efficiency between rounds. It looks like scoring clearly favors extracting silver (which was the only scoring mechanism of Round v0.6.1. We only have a few more mythic artifacts to chase, so our empire is on track to take second place at best.
Ownership Means Ability to Sell
Desperate to win, I start making “deals” for score. Something like: “give me your empire and I will give you a mythic artifact NFT”. After all, we’ve shifted focus from getting mythics as collectibles to seeking out Valhalla planets, which are the NFT rewards for winning rounds. Luckily, I am brilliant salesman, land a couple juicy empires and we begin to edge closer to the lead! In order to seal the deal, I try to buy the third place player, ghst_gg’s, empire. Herein lies lesson 2: in web3 games, you can own everything, which means you can sell it too. Victory can be purchased.
Unfortunately, through some miscommunication and miscalculation, I fail to capture ghst_gg’s empire. In fact, I give him the idea to start buying empires himself, but not before he launches a smear campaign against us for trying to do it ourselves. I have upset the mores of the community. And later Ghost has begun to pay more for points than I am willing to win. Meanwhile, I have run out of mythic artifacts to trade and have no leverage to acquire more points.
Memes Win Wars
And then it hits me, we should play off people’s hope, loneliness and greed. I begin telling people that they can give us their empires in exchange for “being remembered”. We create a Discord channel called “The Remembered” and let strangers into a newly formed public part of our community. When people ask what it means to “be remembered”, I tell them that we have grand, but undetermined, plans and that we will remember them for the help they offered. It is clear that players are intrigued about joining something bigger than themselves. They are also curious about potentially reaping significant rewards (after all, we are in the age of reverse air drops where people are unexpectedly rewarded for having barely done anything).
Right away, the demand to “be remembered” is overwhelming. A few people give us their empires, but the client and our computers are having a hard time keeping up. The size of our empire is becoming too unwieldy to handle and only David can still pilot. We end up creating a plugin so that they just give us their valuable planets (turns out beggars can be choosers). We also create a plugin to help them better share their maps (because we cannot pilots empires in the regions of space we cannot see). Once again, we are on pace to win! With Lindsay ramping herself up to head a web3 community, we are able to corral everyone into our Discord to build more hype.
The smear campaign escalates. We are called whiny beggars. Seventh and third place players stop scoring points and ghst_gg begins to grow at three times its previous speed. While we were rustling up average and below average players, anger amongst the better players had them coalesce into a galactic superpower. We watched in despair as our lead was eroded. We scrambled to recruit more members, but it felt like bailing water out of a sinking boat. With only a couple hours left in the round, I go to bed exhausted as the rest of the team throw a hail Mary’s into a loss.
Looking back, we accomplished so much. We were the first DAO to ever reach first place in Dark Forest. Ghst_GG, it turns out, was a guild that was previously focused on Aavegotchi (another composable web3 game with cute ghosts). They’ve since renamed themselves to orden_gg and now focus on both of those games. I feel like we came for the king and missed. Not only did we not get first place, we caused such outcry that our opponents doubled down, and by making the round such an incredible nail-biter with people working overtime in concert to win, the perceived value of the stakes escalated. Our opponents going forward, were to become full-time Dark Forest players, while each of our DAO members had real lives and jobs to return to. Dreams of ever winning were fading fast.
The only thing we had going for us was our creativity. And in keeping with Cixin Liu’s axioms of cosmic sociology, the opportunity to one day make some kind of technological leap. From my perspective, our only chance at beating Orden was to make the “remembered” meme more powerful and to scaling our tooling to take in more player contributions. Anthony begins working on improving our plugins to create an automated system of receiving and tracking contributions for the following round. Yitong works on creating a commemorative NFT for “the remembered” depending on how much they sacrificed to us. Lesson 3: all talents are useful in web3 gaming because playing here looks nothing like playing in web2.
As our plugins for donations are improving, the prospects of winning Round v0.6.3 are looking somewhat reasonable. Except, when the rules are released, a new objective is announced (closest to the centre of the universe wins) and the “gifting” of planets is removed from the game. Essentially, all of the tools we built are useless because they all depended on other players donating their planets to us. It is probably for the best, as I am on a beach vacation at the time.
Interestingly, the DAO is taking on a life of its own without me. The core team decide to recruit Scott and Velorum from “the remembered.” They take time during the round to build something new, an artifact market which lets players sell artifacts they have found during the round. This is a pretty astounding achievement, because through third-party development on a composable game, we organically turn Dark Forest into a play-to-earn opportunity. Whereas previously players could only safely trade artifacts through trusted middle-men, the market not only removed counterparty risk, but 100x improved discovery of buyers and sellers. Lesson 4: in composable game design, you only need a small core team to kickstart the game loop, the community can build the rest.
Although I think removing gifting is an inspired game design choice, I let Gubsheep know that we built cool things we cannot use anymore. He ends up giving us some assurance from the core team that round 4 will bring back gifting, enabling us to try out our new tools. With that great news, Anthony and Scott end up connecting with Ansgar to improve the security of the gifting plugins by creating a smart contract player. Basically, we whitelist the smart contract to act as a player in Dark Forest Round v0.6.4 and call it “The Astral Colossus”. The contract itself cannot play the game except for execute the point-scoring function. We end up creating a plugin whereby players gift the Astral Colossus their score-able planets, it claims the points and returns to the donors.
The Astral Colossus ends up coming 34th in the round. While that is a far cry from second place, the technological achievement is remarkable. We believe this might be the first time a smart contract played any web3 game, let alone created a permissionless method for over 50 people to participate. The Astral Colossus also kept track of people’s point donations in order to later reward them pro-rata. You’ll notice that the sixth greatest contributor was our sworn nemesis, @orden_gg, who ultimately came in first place with over 10 times our score. Interestingly, Orden won the round by over 150m points over second place. Had they donated that excess to the Astral Colossus, they would have gotten 2/3 of 9th place. Meanwhile, Orden has already thanked us for our service and plans on deploying the smart contract itself in the future. We are really good at taking missed shots at this king.
OMFG. We made a smart contract, as a public good, that coordinates players (who would never be able to win alone) to win permissionlessly together. While it might seem trivial in the context of a videogame, there is no reason to believe that this kind of complex human-motivating protocol cannot exist in the real world.
Quick recap on our collectivism:
The next steps towards decentralization are in removing counter-party risk where the points scored in the smart contract are the votes required to use assets that smart contract wins. Lesson 5: decentralization is a progressive process, as each step is complicated to predict, understand and build.