This is part 2 of a retrospective/postmortem for our game Don't Take My Beans! Read part 1 here. You can download Don't Take My Beans! for free from Google Play.

As I mentioned in part 1, development of Don't Take My Beans! took a few years, due to being our first major game development effort, and being done in our spare time. In my case that spare time was becoming more and more of a luxury, having gotten married in 2019 and then a baby due in fall 2022. Engagement and retention with each early access release were low, a problem I could never solve, and while I wanted our efforts to have the best chance of success as possible and still had ideas I wanted to implement, the time had come to ship.

We had developed DTMB for both Android and iPhone, but Thad and I used Android on our primary devices, so the Android version got a little more love. Plus, releasing a production version on Google Play wasn't much different than releasing a beta version—the store page was already up. So we launched on Google Play first, planning the iPhone launch for shortly after. It went live on July 26, 2022.

Adventures in advertising

One of the main pieces of advice given to indie devs is to build a community around your game during development. But since this was a simple free-to-play mobile game, there wasn't much of a community to be had. Rather, as I learned well after the decision to make a mobile game, user acquisition for mobile games consists mainly of paid advertisement. The process is a ruthlessly efficient machine of spending on ads, tracking ad conversions, calculating how much each acquisition cost versus how much you earn back, and iterating tirelessly on ads and monetization to ensure you make a profit. (See PocketGamer.biz's mobile games industry glossary for a helpful survey of all the terms involved, and this article by Matej Lancaric for a look at how complex and challenging it all is.) Not exactly what I thought I was signing up for.

But we'd come this far, and we were barely getting any organic installs, so I gave paid advertisement a shot—with a firm cap on how much I was willing to spend.

I went with Google Ads, because it seemed to have good reach with people who might like our game, and it integrated well with Google Play for tracking conversions. They also gave an ad credit if you spent a certain amount, doubling how much I could spend. The only creative we had on hand was the trailer Thad had made, and we didn't have the bandwidth to produce any more, so I just ran the trailer.

These were the results:

  • Conversion rate: 11.43%
  • Installs: 1,700
  • Cost-per-install (CPI): USD 0.59

A little expensive, but people were finally playing the game!

So how much did we earn back?

Sigh. USD 6.33. All from the rewarded ads to continue after game over; none from the in-app purchase to remove the ads.

So, not exactly worth it. Once I used up the free ad credit, I ended the ad campaign.

Abandoning Apple

Unlike Google Play, releasing an early access/open beta version on iPhone involves publishing via TestFlight. It's a little more cumbersome for end users, because they need to install the TestFlight app, but they can at least access the app to test via a public link.

TestFlight doesn't have store pages or marketing assets like the App Store does. This is nice during development because you can publish before you have all those assets ready. But when it came time to publish DTMB on the App Store proper, it turned out the screenshots and trailer we'd prepared for the Google Play store page didn't meet the resolution and aspect ratio requirements for the Apple App Store (which mirror the latest iPhone models). Not an insignificant amount of work to redo all those, especially the trailer. By this point, my son had been born, and DTMB was performing poorly on Android. I couldn't justify the time and level of effort, so I postponed the iPhone release indefinitely.

Google gotcha

Meanwhile, in September, I tried to disable the open testing track, to prevent users from accidentally downloading an old version of the app. Google Play rejected that update, saying DTMB had an invalid data safety form. The specific issue they cited was that it collects and transmits apps on the device but that the data safety form doesn't report such. I had done a thorough review of Unity's documentation for Google's data safety form, and none of their frameworks I used said they collected apps on the device. It was also weird I got that notice after just disabling the testing track; the update included no changes to the app. Figuring it must have been a glitch, I submitted an appeal, including Unity's documentation on the matter and asking for clarification on what they saw that got flagged.

Their response? The exact same message, with no additional details.

So I used Charles Proxy to inspect the outbound traffic myself. I found nothing related to other apps on the device. I replied to their message with the logs I collected, and asked again for clarification on what they saw.

Same exact message in reply. I don't think a human being reads these.

So that's yet another impediment to pushing further updates, in addition to what I mentioned in part 1. I'm thankful at least they didn't pull the app outright, at least not yet. I suppose I could update the data safety form to say apps on the device are collected, but as far I as can tell, that just isn't true. So 1.0.7 will probably be the last version of DTMB that Google Play sees.

Where to from here

Thus the tale of Don't Take My Beans! concludes with a disappointing whimper. Would I do it all again? Yes, but differently, haha. There's not much to show for our efforts, but I learned a lot, I had fun, I'm proud of what we made, and we actually released a game, which not many can say.

My main regrets include:

  • Spending so long on development, at the expense of other ideas I want to work on
  • Entering a market (in this case, free-to-play mobile games) before understanding the space and its norms and challenges
  • Not gathering feedback earlier in the process, and not working harder to understand that feedback to make more impactful adjustments
  • Relying on platforms that have zero reason to care about my experience or success, without a contingency plan

I doubt Don't Take My Beans! will see any further development. At one point I got halfway through getting a WebGL build ready; perhaps one day I'll finish that and throw it up on my website and/or itch.io or something, in the name of software preservation.

For future projects, I'll likely target PC/Steam first, which I've been learning a lot about, perhaps with mobile adaptations if things go well. I'll attempt smaller, simpler projects, and get them in front of people as fast as possible. And I've enjoyed my experience so far with Godot, so I'll see how far that takes me.

Now, with this experience gained and lessons learned, it's on to the next game!