Plague Game Part 1: The Game
A Joepegs hatefic
Disclaimer; although this post is written as (mostly) an objective summary of the events which occurred, the author is a member of the notorious cartel Cynical Hate DAO, which participated in the game.
The Plague Game was an NFT project launched by Joepegs Studios in November 2022. With a mint price of 3 AVAX, aiming to mint 10K pieces, and launching during a bear market, it was quite an ambitious project.
The gimmick was that 70% of the mint amount would be returned to the final 10 NFT’s “alive” at the end of the game, with the remaining 30% as payment to the developers.
Hype train boards here
Joepegs projects have quite a lot of support behind them. The ‘Smol Joes’ and ‘Creeps’ brands have built quite a following, the ‘Peons’ collection is 20x from mint price, and the spin off ‘Beeg Rock’ collection which grants allowlist access to Joepegs projects is one of the more expensive NFTs on AVAX.
The hype man for this project was DevilK, aka @tezukaTez, also in charge of marketing the aforementioned Peons project. He started building interest early for the project by launching a series of cryptic potion-related puzzles on Twitter.
As expected for a project of this size and cost, they were handing out allowlists like candy, but those ended up being unnecessary since even the public mint didn’t fill.
Original Medium post
Two medium posts were released. First, an introduction to the game: https://medium.com/@PlagueGame/plague-game-by-joe-studios-6f4274ce2d05
This article explained the basic mint details, rules of the game, and showed some images of the UI. It immediately spawned discussions on Twitter and Discords about how to best play the game, including the idea of forming guilds by pooling doctors together.
As expected of a Joepegs mint, things went relatively smoothly. The most significant problem was the unfortunate choice to limit the total number of mints per account to 5; this means anyone who wanted to mint a large number of doctors had to split AVAX to a large number of accounts, then send the NFTs back. People who wanted to acquire large amounts of doctors really suffered there.
Approximately 7.5K doctors were minted, and quite a few of those doctors were pooled into guilds. Some were publicly known.
Other guilds (like the secretive Cynical Hate DAO) kept things mostly under wraps. CHD in particularly conducted alternating psyops on Twitter claiming that they weren’t playing at all, or that they were guaranteed to win.
Rules update Medium post
After the mint, they released a post that clarified some of the details of the game, and added a new mechanic: https://medium.com/@PlagueGame/plague-game-in-full-ac994ffbeb37
The new mechanic was called ‘potion resistance’, and it modified the likelihood that a potion would cure a doctor from 100%, to being a sliding scale down to 3% based on the number of potions already consumed.
It’s likely that this rule was changed due to the formation of guilds; if the game was mostly smaller players, with the old rules it would have ended relatively early. With the formation of guilds, it could have run for several months.
Having to deal with this for months would have been a nightmare for everyone involved, so this was mostly a positive change.
Twitter on fire
Changing the rules like this after mint led to anger among the unsophisticated plebs who somehow thought this made a difference to their likelihood to win the game. Maybe they’re just bitching because they like to bitch.
Probably some amount of bitching is understandable, its an awkward thing to be changing rules after you’ve already taken money from people. But the floor price was basically consistently over mint, so most people had an exit if they wanted it.
Either way, I already summarized my thoughts on this topic on Twitter in response to one of these idiotic complaints, which you can read here.
The game started as planned, and things were mostly smooth. Some minor glitches were observed, largely due to the developers’ choice to run the game solely off smart contract interactions instead of creating traditional backend for the game.
Additionally, a few differences from the updated rules medium were found. This included an extra 95% potion resistance tier, and incorrect brew rates in the apothecary.
Although the latter issue was reported almost immediately, and the fact that it was correctable noted, the team elected not to make any changes.
Neither mistake was publicly announced.
General curing strategy
Obviously, the more doctors you have alive, the more doctors that can be sickened, and the more doctors that will need potions. There’s a complicated balance between how many potions you have, the status of your doctors, and the current epoch, which determines how many doctors you should try to save.
There is not (to my knowledge) an easy way to math this out, but it can be simulated, which more sophisticated players were doing. Strategies ranged from spreadsheet estimations of infection rates, to full blown emulations of the game.
Personally I observed that my intuitions about the game were frequently incorrect when tested via simulation, so anyone purely guessing was likely at a severe disadvantage.
One additional meta-strategy was well to conceal your presence as a player in the game. Several strategies were observed:
The obvious ‘put everything in a single wallet’ was used by the Smol Joes guild. They actually had multiple wallets, but the majority were easily identifiable.
Slightly less obvious ‘put everything in multiple wallets’ was used by Cynical Hate DAO. This was compromised by the use of funny names on the wallets, making them quickly identifiable, although several remained in full stealth.
Other players used a main wallet, and a secret and significantly larger potion sweep wallet.
One player pushed all their doctors into a single wallet but left only a small number of potions in there, with the remaining potions (5 each) in the original wallets.
Some players moved dead doctors out of the wallets, making it harder to tell their original size.
As the game ran on, these strategies reduced in effectiveness. But for large portions of the game, it was unclear (to varying degrees based on player sophistication) exactly how many opponents they were facing, and their resources.
To a large player expecting to take a lot of slots, the optimal strategy is to be as secretive as possible. For a fixed number of potions, there’s a direct link between the number of doctors you attempt to keep alive, and the number of epochs you will survive. Encouraging your opponents to target a larger number of doctors reduces their terminal epoch number.
The largest player (Cynical Hate DAO) is chronically unable to keep its fucking mouth shut, and did a somewhat poor job of hiding their activities, so much of its advantage here was lost.
Early game strategy
I’ll mostly discuss strategy from the point of view of larger guilds, since smaller players were basically destined to lose. There were also a few players who opted to buy in partway through the game, and their experiences were likely quite a bit different.
The early game for larger players who minted many doctors was very boring. They were all just basically waiting for unlucky doctors to die down from the larger amounts they had to their target sizes.
The early epochs had significantly higher infection rates than the terminal state of 50%, so the doctor count dropped precipitously. The potion usage at this point was mostly from smaller players.
For most players, this phase ended around the 4th or 5th epoch.
One feature of the game was the ‘apothecary’, where you could have your dead doctors attempt to brew a potion once an epoch at a very low rate. Seems a bit strange that dead doctors get to do this, but that’s how it worked.
As the dead doctor count continued to rise, hypothetically the apothecary should have seen more usage. Generally though, most players did not utilize this function, for several reasons:
Smaller players obviously could not use the apothecary properly, since it required doctors in increments of 5. If you had 4, you couldn’t use it at all. If you had 9, you could only use it once.
The gas costs for the apothecary were shockingly high. It cost 800K units of gas just to attempt (and likely fail) to brew potions. I didn’t spend much time investigating but I believe this is likely due to the internal bookkeeping required by the lack of a backend game API.
The high gas costs meant that you had to execute multiple transactions, if you had a lot of doctors.
The brew rates were incorrect, about 20% of what was advertised in the first few rounds. If you had 1000 dead doctors in the 2nd epoch, you could expect to brew 5 times instead of 25.
Most players quickly learned that it wasn’t worth bothering with. Some players learned how to game the apothecary and only brew for doctors that would succeed, and they acquired most of the available potions.
Only 68 potions were brewed during the game, the majority by a single player - Cynical Hate DAO.
Mid game strategy
At this point, players had approached their ‘high end’ target doctor count, and they began applying potions. The first three potions have a 100% cure rate, so doctor deaths slowed down dramatically.
As the doctor count continues to drop, so does the potion use count; the fewer doctors alive, the fewer doctors sick, the fewer potions that needed using.
Apothecary shut down
At epoch 17, the team made the decision to close down the Apothecary, which still had 70 potions left to brew. The given justifications alternated between “it was prolonging the game” and “it wasn’t serving its intended purpose”.
Both of these justifications are bullshit, obviously. Transparent lies, insulting really.
As you’ll see in the ‘late game’ section, 70 potions has basically no impact in prolonging the game. And the ‘small players late game’ lie is also easily debunked; as originally described in the Medium the Apothecary should have been cleaned out within the first few epochs.
This additional change in rules after the game was already running was met with further derision.
This stage is where the game starts to get extremely frustrating. As doctors accrue potion resistance, curing them fails more frequently. I imagine many players understand the pain of attempting to cure an 80% success rate doctor, and only succeeding 5 potions later.
For this phase, the game is about seeing how good your luck is, and abandoning doctors that get too unlucky. Where you draw the line depends on what your modeling tells you, but the earlier you are in the game, the fewer doctors you’re likely to invest in a doctor before abandoning it.
This stage ended at different times for each player, but once it did players were down to their final doctors, at most 2-5x the amount they hoped to win the game with. At this point, the game is less about statistics and more about many goats you sacrificed to your god for RNG.
This stage is grueling. As potion resistance accrues, it starts taking 10, 20, 30 potions to successfully cure the doctor on average. Doctors very quickly end up under a 2% heal rate, and grind downwards to .5%.
Many players faced the difficult decision to either sacrifice doctors they hoped to win with, expend a large portion of their potion stocks, or sweep the market for additional potions.
One round an unlucky player was observed to have 3 sick doctors (2 above 20% potion resistance), sink 300+ potions into them, yet only save one.
Circling back to the previous point about the apothecary, it becomes obvious why the excuse to shut it down was a lie. Although the analytics on the website were broken and did not display it properly, people were spending in aggregate 300-500 potions per round.
The UX at this point of the game became a nightmare for any player manually feeding potions, for several reasons.
You had to sit there and press the same button 100-200 times.
It takes up to 25s for Chainlink VRF to respond to a potion feed request.
Bugs in the feeding process meant the UI attempted to spend potions that were already used.
Can you imagine having to do this 200 times manually in a row? Pure mental illness, hours spent clicking those buttons, every time burning $40 in AVAX for just a chance to rescue the doctor. The failures in this screenshot are due to the bug mentioned above, but at most you could only feed 2-3 potions per minute.
The last few epochs are an extremely tricky thing to navigate. With so few doctors left alive, the RNG factor becomes enormous. It could take you 100 potions to cure a doctor, you could fail with 200, all your doctors could be sick, or none of them.
If you’re targeting a lot of doctors, your risk becomes enormous because of one additional factor; although it’s described as ‘the final 10 doctors win’, it’s actually implemented as ‘when 10 or fewer doctors survive, they split the jackpot’. So if you target 9 doctors, and you’re facing a single opponent with 1 doctor, you run the risk that terrible luck means you only cure 3 doctors in the final epoch, and your opponent gets 1 doctor.
Rather than take 3/4 winnings, it might be smarter to deliberately let one doctor die, and get 9/10 of the pot. Alternatively, if it looks like there are several epochs remaining, perhaps the remaining players might come up with a deal to split the pot.
In the end though, exactly 10 doctors did end up winning, despite a few players attempting to rescue an additional doctor and send it to another epoch.
Shockingly, a singleton player (Braniac) did end up making it all the way to the end. His strategy was to buy a few doctors from the 3-4 epoch that were untouched but had uncanceled pregame offers on them. And then to get ENORMOUSLY lucky for the remainder of the game. He did end up getting infected in the final epoch and running out of potions, but posted on Twitter asking for potions in exchange for 100 AVAX to the person who’s potion cured his doctor, and ended up successfully curing it.