Sunflower Diaries: Part 4

Adam Hannigan
9 min readAug 27, 2022

I am not an expert in Blockchain, protocol design or cryptocurrency. In the eyes of Web3 veterans I am still a freshman and have much to learn. Over the past year I have been fortunate enough to ride the journey of a wildly successful crypto game and community.

The purpose of the Sunflower Diaries are to share the origins of Sunflower Land and explore how an open source project with no funding, no marketing and no employees grew to become the #1 crypto game for a brief period of time. The hope is that others find inspiration to start their own Blockchain project or come contribute to Sunflower Land on our Github and live game development streams.

Nothing expressed is financial advice and all opinions expressed are of my own. Always do your own research around NFTs and cryptocurrency.

Part here 3

The runaway train

Since getting involved in crypto I had quickly joined on the bandwagon of decentralised and permission-less apps. This means that once a project is launched, it cannot be changed or manipulated by the creator. Little did I know that “decentralisation” was just a marketing buzzword and that crypto games were not actually doing this. I was naive enough to build a project this way.

Each feature in Sunflower Farmers was smart contract, ERC20 token or ERC721 token on the blockchain that was immutable. This meant that there was no central API or database that we needed to run. When players wanted to save their progress, gather a resource or craft an item it essentially meant that they communicated directly with the Blockchain, bypassing any game server or central API that we ran. Heck, you didn’t even need to visit the game’s website, you could access the open source code base and run it locally on your machine.

This direct to the blockchain communication meant that players needed to send a “transaction” roughly every 15–20 minutes to save their progress on the blockchain. When you store data on the Blockchain you pay what is called a ‘gas fee’. As traffic increases on the Blockchain, so does this gas fee.

To prevent the issue of paying gas fees, most blockchain games store data on their own servers and only require users to submit a transaction when they wish to move data onto the blockchain. Sunflower Farmers on the other hand, had 50,000 players each submitting 10 transactions every day!

Free marketing

The Polygon network was not optimised for the level of activity that our game’s architecture produced. The gas fee started to skyrocket to astronomical amounts. What would previously cost $0.003 USD to store on the Blockchain was now costing close to $0.30 USD. This meant that not only our players were paying higher gas fees, but everyone else on the Polygon network as well. Someone using a Financial service on Polygon would be paying higher gas, all because of our little game.

People were furious about the high gas fees. However people were also curious. Many of the users on Polygon would investigate the cause of the high gas fee, join the community and end up playing the game. Overall this led to more congestion and more outraged Polygon users.

At the same time we were climbing the DappRadar rankings. This is a 3rd party website which ranks Blockchain games based on on-chain activity. Since all of our game was on the Blockchain, it meant that our DAU (Daily Active Users) and daily transactions quickly outranked other projects that were listed.

As we began to climb the rankings, more and more gamers became aware of Sunflower Farmers.

The recognition from the high gas fees and increasing position in the DappRadar rankings led to a phenomena where the more players and traffic the game had, the more new players would come and join the game.

We had 0 marketing but seemed to have accidentally cracked a new formula for getting decentralised app exposure.

The bots

Remember those concepts around decentralisation and immutability I mentioned earlier. No centralised authority could alter the game or destroy it once it had been launched. This sounds great, right?

What sounded great in theory was a disaster in practice. We could not make improvements or patch security vulnerabilities and this hurt us hard. So why is this a problem?

There are a lot of shady characters in the crypto space that constantly look for weaknesses in systems that they can exploit and gain value for themselves. At this point the Sunflower Farmers Token had began to increase in value as more players joined the game and traded the token. This made the game a prime target for hackers and botters.

Since we had no centralised API or authentication, essentially anyone could hit the smart contracts and play the game (after paying the donation to charity).

Around New Years the community started to notice some suspicious behaviour on the Blockchain. It appeared that tens of thousands of users were sending almost exactly the same data to our smart contracts. They were all planting potatoes, a crop that yields proportional high SFF, with almost exactly the same timestamps. It was clearly robots playing the game.

We had a firm no-botting stance, but unfortunately we could not enforce it due to the decentralised nature of the game. We were assessing the situation but unfortunately we had zero experience with handling large scale dapps and were way over our heads. We quickly sought advice from the core Polygon team, multiple large scale crypto games and consultants. We were extremely grateful for the help they gave us but the news was not looking good. The short answer was that you can’t win a war against bots.

Over the next 7 days this started to escalate and we saw more and more botters hitting the smart contracts and essentially draining SFF from the game and then flooding decentralised exchanges to sell the token. YouTube videos, streamers and open source projects began to appear with “Bots for Sunflower Farmers”. We even had alleged reports of Russian TikTokkers who were running large bot farms and earning close to $50,000 USD a day.

These botters were not stealing from some large corporation. We had zero tokens or revenue coming into the team. They were stealing and undercutting from all of the players in the game. This was devastating. The players, friends and community of Sunflower Farmers were the ones being affected.

We were getting roughly 10,000 new “users” every day. Before we knew it, on January 6th we had 400,000 accounts that had been created. We estimated at this point (based on Discord engagement and website analytics) that we only had roughly 100,000 real players. The rest were bots or people multi-accounting (playing on 2 or more accounts themselves)

Mainstream media

The brakes had been removed from the train and the game was essentially in ‘runaway’ mode. Because of the immense traffic on Polygon network, we had mainstream news agency starting to cover the game.

Bloomberg — Sunflower Farmers Game Is Exposing the Weak Link of Crypto Networks

CoinDesk — Polygon Under Accidental Attack From Swarm of Sunflower Farmers

I’m sure you identified the pattern at this point. The more news coverage we received, the more players that joined and the more congested the network became.

#1 Crypto Game

All of a sudden it happened, we reached the #1 Blockchain game across every network. Even surpassing the likes of Axie Infinity and Alien Worlds.

This is everyone’s dream right?

I was way out of my depth and comfort zone at this point. Myself and the founding engineers (Spencer and Romy) were still trying to comprehend what was happening. We were fuelled by adrenaline at this point as we fought sleep deprivation and stress just trying to keep up with the community and fix as many bugs as possible.

We were learning on the fly and were constantly haunted by doubt and resistance. I felt an impostor in the space. How is a prototype I made being played by hundreds of thousands of people?

The poorest crypto game

There was no business model and up until this point I had no revenue. All I had was a small handful of tokens and NFTs which I earned through playing the game.

Roughly $100,000 USD had been raised for the charities. $0 was raised for the team.

Our business model was so bad that we began losing money each day. The game was never built for scale and as such many shortcuts were made in optimising the website hosting and game assets that were used. I was paying almost $400 USD each day for the operating costs.

I ended up having to sell 2 NFTs that I had crafted in game just to cover these expenses.

It felt like I was funding a project just so others could profit. What was I even doing building this game?

#1 Most hated project

At the same time as the botting situation, the high gas prices began to fuel outrage amongst Polygon users and quickly we became the #1 most hated project across reddit and other social media platforms.

In attempt to take down our project we were labelled as “rug-pullers” and scam artists. I had personal threats and internet users were reaching out to my previous bosses identifying me as a criminal and a scammer. The founding engineers were experiencing panic attacks and overall morale was low. We felt like impostors in the crypto space.

What initially set out as a great idea to build an open source, charity focussed and decentralised game quickly turned into a source of anxiety and depression.

All or nothing

The pressure of the botting situation and demands of a growing player base were non-stop. I was still working a full-time job and my entire body was telling me to give up and return to my normal relaxing life. Enjoy the beaches of the Brazil and enjoy my holiday.

We were on the world stage and all eyes on Crypto were on us.

I remember waking up one day crying in bed, unable to move for an entire hour. I was paralysed with fear, unsure what to do. I felt like I had been thrown into the lion’s den and was fighting for my life.

To be honest, I was ready to give up at this point. It was all too much for me. Luckily, I had the support of the amazing engineers Spencer and Romy and also an extremely supportive community. Many of the open source developers and moderators were giving messages of support — they would follow us whatever direction we take.

I’m very grateful for everyone who were there helping at the time. I leaned into all of the resistance of the task ahead and decided to devote myself to the project — whatever happened to the project I would go with it.

The next day I called up my boss, explained the situation and left the company. I was a full time Sunflower Farmer now.

The death of Sunflower Farmers

Around 5th of January, we had built a strong team from the community that we used for decision making. This included 3 core devs — Romy, Spencer and myself. It also included 3 community members who were early players and were significant contributors in Discord and the community — Steve Woody, TheRoulette and Chicken.

The idea of a complete rebuild was being bounced around but we were indecisive.

  • Players had spent months farming and collecting game items, would this mean all of their hard work went to waste?
  • If we went dark on a rebuild would anyone even come back?
  • Should we just ride out the current game, release new content and try to create an ecosystem where bots and players can work in harmony?
  • Should we deploy a new token?

We were going around in circles for days until every smart contract developer’s nightmare happened. A smart contract vulnerability was found.

The Vulnerability

In early January, a smart contract developer discovered a bug in one of the smart contracts. This essentially meant that you could mint Iron Pickaxes for free. The idea of this vulnerability sounds a bit silly compared to Defi hacks, but to me it undermined the entire security of the game.

This was the straw that broke the camel’s back. We could take no longer with our decision — We needed to rebuild the game.

For more details on the exploit, you can read this reddit post.

Sunflower Land

Now we had the tough task on announcing this to the community? We knew we had discovered a game that players wanted — community driven, transparent and low cost.

However, how long would players be willing to wait for this?

We needed to build an entirely new game, anti-botting solution, tokenomic model, back-end architecture, smart contracts, perform a token migration and much more.

Most of Crypto projects were achieving this by raising funds, hiring a team of 10–20 engineers and then spending 1–3 years to launch a Beta version.

We had struck gold with publicity and had to move fast. We prepared an announcement for Twitter that marked the end of Sunflower Farmers and the path forward for Sunflower Land.

We announced that we would be back up in running... in only 3 months!!!

The odds were against us. We had 1 full-time employee, zero funds and next to no experience in building a Web3 game. However, by this time I had fully devoted myself to the project and I felt a weight lifted off my shoulders. I no longer had any indecision about building the project — I was confident and ready to defy the odds.

It was a mammoth of a task that had never been achieved before. Was this even possible or was I setting the project up for failure?

Part 5 coming next week….