After fourteen years I'm throwing in the towel as an indie game developer.
Now that I am quitting as an indie I can make blogging more of a priority. I've been feeling that itch to write, to communicate with other devs rather than just players, and in more than just the sporadic tweet.
For the past three-plus years I've been doing something very unusual for an indie dev my age: developing games on Roblox. I was lucky enough, a few years ago, to meet an investor who had seen how much money some kids were making on Roblox and interested in seeing what would happen if he funded professional developers to make games for it. We came at the whole thing very arrogantly! We were sure we would be able to beat the best game they had on offer--after all, we were professionals!--and while we did beat most of them as far as production values go, we failed to make anything popular. Our games would have had to do at least a hundred times better than they did to be profitable.
In hindsight we discovered that there were actually plenty of games that have high production values on the platform but for whatever reason very few of those games became very popular. Perhaps Roblox is a platform where that je ne sais quois is truly what matters?
But just because we weren't able to figure out the market doesn't mean other devs should ignore it. While there are many reasons to not make games for Roblox that in turn means that there isn't that much competition on the platform. Unlike most entrenched platforms these days it's fairly easy to get noticed. So there are a lot of young, inexperienced developers who are making enough money with Roblox to fund small teams. Making a game on any platform is a highly risky proposition; it may be less risky on Roblox, with both smaller budgets and larger chances of success.
For me, possibly the most interesting thing about Roblox is that the costs of advertising on the platform are supernaturally low. On Roblox you can buy a click for your game for about two cents. I'd love to be corrected if I'm wrong but as far as I know that's unheard of anywhere else. This has allowed me to use Roblox as a petri dish for studying player behavior.
Roblox is therefore a pretty great place to apply some new product science, in particular the idea of going from a handful of prototypes / pilots / proofs of concept and winnowing them down until you have one product that has the best shot. After making Castleheart and Legend of You, products that we spent several months on before unveiling them to the public, I wanted to fail earlier. So I made several prototypes (most of which are still available on my Roblox profile page if you can find someone to play them with you) and launched them all before test audiences.
These prototypes all took around one to four weeks to make; the average was about two. They had no monetization component: they were not viable products in that sense. I also tried to keep extrinsic motivation out of them: I wanted to find activities that were intrinsically fun, that players wanted to play and come back to simply for the joy of playing. The prototype that became Dungeon Life, for example, was permadeath. Later, once I decided that it was the most promising prototype, I added its leveling system.
You can never be sure if a pilot program does poorly because it's a bad idea or because of poor execution, but by trying several prototypes and looking at their retention I was able to make decisions about which product to pursue which didn't just rely on gut feelings.
I wish I could report to you that thanks to that careful strategy I was able to create a game that was financially successful. As things built up to launch the signs were very promising: Dungeon Life was earning more than I was spending on advertising; it was getting over 80% thumbs up for its ratings; and it had longer average session lengths and more retention than any game I'd worked on yet: about 15 minutes and 10%. Roblox agreed to feature the game--note: currently I'm pretty sure that any experienced developer who puts in an honest few months of work can get their game featured--and my game was on the front page with my hopes high.
And then the game tanked. The ratings fell to 65%, the retention dropped to 5%, the average session length fell under 10 minutes. I spent the next month feverishly trying to improve it but to no avail; my changes were marginal improvements at best. The game earned a few hardcore fans who had lots of ideas for improvement but those were generally ideas that did not cater to the new players who were giving it low ratings and not coming back.
One of the best things I did that month was implement a method to provide feedback directly within the game; people's feedback would be turned into an event that was posted to Google Analytics, so I could simply read the analytics events page to see what the most popular complaints were. Movement speed was one of the main ones at the time--characters in Dungeon Life moved slow by Roblox standards--and bringing it back up to normal was an easy fix that noticeably improved engagement but not enough to save the game.
So this may make it sound like my attempts to apply new product science were pointless, but here's the thing: although Dungeon Life was a financial failure I know that none of the other ideas I had were necessarily any better. If I hadn't done that process of testing prototypes I might be swayed to go back and try to give another one of my game ideas a go; instead, I know that they're just as likely to flop as Dungeon Life. It makes more sense for me to tweak Dungeon Life and see if I can get to a tipping point with it than to try and breathe life into one of the less promising prototypes.
Unfortunately I'm at a point where I feel it's foolish to continue to pay the opportunity cost of being an indie game developer and plan to be back doing full-time employed work soon. (Honestly, I don't exactly remember why I wanted to be an indie game dev in the first place. At one point I thought it would be my dream job but aside from the actual development part it hasn't brought me much joy.)
In the meantime though I continue to noodle with Dungeon Life as a testbed for learning: it's given me the opportunity to learn typescript (thanks to https://roblox-ts.github.io/), backend coding (I've made my own analytics system where I get to actually look at the data I gather, unlike with, say, Google Analytics or Game Analytics. Crazy, I know!), and some machine learning and data science. (I use my analytics data for a test set.) I hope to write more about this stuff in the near future.
I don't regret the time I spent as an indie, or the time I spent working on Roblox. The creative part has always been a joy and I've made some games that I think are really cool even if they weren't financially successful. You might give Dungeon Life a go: it's a dungeon crawler where you take turns playing the heroes and the monsters, a bit like Crawl, but it's a third-person action RPG with persistent levels and loot and online multiplayer. (https://www.roblox.com/games/2184151436/Dungeon-Life)
If you have questions about developing for Roblox fire away; hopefully I'll make a habit of blogging again and be able to use your questions for future articles.