In last week’s article, I talked about the areas where decentralization breaks down.
Namely, implementing any feature in a decentralized manner adds complexity. The cost of that complexity may not be worth the benefit in the early stages of a DApp.
The goal becomes to strike a balance between keeping the key elements trustless (your money, the rules of the game), and delegating trust for efficiency in areas where the risk is minimal to none.
In short, mix and match the best of both worlds.
Twelve Shining Stars
Today, let’s look at the potential issues of centralization.
The European Central Bank has announced they would resume their quantitative easing measures, injecting €20 billions per month to repurchase assets. Basically, this means Mario Draghi wants nice growth numbers for the next year so his resume looks good, while the negative effects of his decision will be felt 10 years from now. The European Union will go down in flames and agony, and we will soon be done to eating each other for survival. Stack those sats, boys.
…Wait, that wasn’t the topic, was it.
Refocus
OK, so we’re actually talking about centralization in the context of DApps. Zoom in further: snail/egg DApps.
When I started the first SnailFarm last year, building the smart contract was simple — because, let’s be honest: it was a clone of shrimpfarm. I wanted to fix the flaws I saw. The changes amounted to a couple extra features, and some number tweaks. Nothing too hard, even for this non-coder.
If you’re into video games, you might guess what happens next. We all have our own ideas to improve the games we like.
DApps are especially fun in that they provide you with the incentive to attract people to your crazy ideas: money, and the guarantee that money will be distributed according to set rules.
So I set out to make SnailFarm 2, building on the previous one. Keep what works, tweak what doesn’t, add new twists. Test, test, test.
Rewriting the whole thing from scratch was quite a challenge (again: no programming background!), but we’re still talking about a small-sized game. It was harder, but manageable.
I followed that same pattern thorough 2018 and early 2019: make a small DApp, release it into the wild, take in the feedback from the community, try new things for the next game.
From Snails To Eggs
With Eggforce, the stakes were raised. Despite still having as much programming ability as a snail, I had an ambitious vision for the game. Moving from Ethereum to POA/xDai would allow for previously impossible dynamics, thanks to low gas fees and faster confirmations.
Just in the planning stage, an endless stream of ideas kept coming to me.
…This is where centralization starts to fail us.
Idle Games Are No Joke
When you’re making a competitive game, you want the balance to be right. Doubly so when the competition involves money.
Each feature you add is extra complexity.
It’s not just additive complexity either, but rather, multiplicative. Because each new feature is going to interact with every other feature you’ve got.
Largely hypothetical figures: say I move from 8 features in SnailFarm 3 to 20 features in Eggforce. I end up increasing my workload by 20² / 8² = 400 / 64 = more than 6 times.
(And merely using the squares is optimistic, here.)
Error: Out Of Memory
The sheer complexity of the systems I wanted to build was overwhelming me before I even wrote a line of code.
Mind you, I’m not talking about *technical* complexity. It would all be simple stuff from a programmer’s perspective. Here we’re talking about the balance of the game. How to make it fun. How to make it accessible for non-paying players, but not let an entreprising botter create hundreds of accounts to drain the pot. How to let players make meaningful strategic choices. How to set up an upgrade system that would involve tradeoffs and not just getting every upgrade in a mindless rotation. How to fund the pot. What split to allocate between bankroll investors and the bankroll itself. How to prevent people from dropping a lot of money into the game and win nothing.
I’m sitting here, with excel sheets, pages of notes on my computer and pages of scribbled notes on paper, thinking of solutions, tweaking them to fit the model, throwing them away when a fatal flaw is found.
The design method for previous SnailFarm games didn’t cut it for the Eggforce I envisioned.
Ironically, just like Ethereum, I couldn’t scale.
No Man Is An Island
Just like Ethereum has scaling solutions in PoS and sharding, there’s ways to solve my problem.
The first step is to admit this idea of the game as an immaculate creation made in one go by one mind simply can’t work. Feedback is essential.
So, think smaller. Start smaller. Get a first version of the game out.
Look at what players do, listen to the community, adapt, improve, and repeat.
Essentially: decentralize the thinking process.
The Part Where SnailKing Rants For Too Long About Startups
This isn’t an original idea.
For the past decade, the motto of tech startups has been: speed wins. Fail fast. Iterate, iterate, iterate. Ship early, ship often.
But then there’s also a lot of dumb stuff tech startups do, from a moral/ethical perspective. The very creator of this “Lean Startup” movement, Eric Ries, co-founded IMVU. He frequently references the startup in his book, as an example of things done wrong and then things done right. Where he doesn’t get into detail is in the business model of IMVU.
Go look up IMVU on Google Images. I’ll wait.
Guessed the business model yet?
IMVU is basically a softcore porn platform for teenagers. They make money by pushing young girls to buy virtual items for their avatars. Essentially, the exploitative mobile freemium model, before mobile was a thing.
Then there’s Uber, Lyft and Doordash pledging $90M to avoid paying their drivers minimum wage. Not even to fight the legislation as the linked article’s title suggest, mind you. No, what they want is to negociate an exemption applying to them and them only, using the legislation to increase their monopolistic position on the market.
To be clear: I’m not grandstanding over morality here. It’s just my opinion selling at all cost is not the best way to make a great product, simply because there’s many more efficient ways to sell something than to make a great product. Catch 22.
Given that my own goal, nay - my great life mission is to make fun games about snails and eggs, I try to keep some healthy skepticism towards the people who claim to want to change the world when they only want to change the state of their bank accounts. Profit isn’t bad, but it’s not the point here.
But hey, sometimes the Empire of Evil is correct (they did build the Death Star, which was pretty badass). There’s certain lessons you can learn only when you meet the roadblock yourself; and so it turns out smaller releases and faster cycles is actually good advice.
Wow, This Is Getting Long
At this point I meant to go on with the plan for the actual game. Starting to type it out, it makes for a lengthy article — especially coupled with the previous parts.
In the interest of smaller releases and faster cycles, let’s cut the article short here. See you in part 2!
JOIN DISCORD = https://discordapp.com/invite/JU8P4Ru
FOLLOW TWITTER = https://twitter.com/eskaroy
PRAISE THE ELDER GODS = https://lovecraft.fandom.com/wiki/Elder_God