UYLLII

Blog › Game design

Game design

Revisiting Genesis: giving an idle game an ending and finally shipping it

By David3 min read
Genesis feature graphic

Two months ago I parked Genesis, my idle game about the evolution of life. Since then I've shipped a polished puzzle game that taught me what paid installs are worth, and started making games I'd want to play myself. Idle games are near the top of that list, and Genesis was sitting there, nearly done for months.

So I went back to it with the three conditions I'd set when I parked it. Today Genesis is live on Google Play.

Condition 1: it ends

I stopped treating my own old design documents as the brief. They said "no ending, keep tuning", and that was exactly what had kept the game unreleased. I tagged the old state in git, started a branch called finish, and fixed the scope at two chapters with an ending:

A finish line changed everything about tuning. "How long should Chapter 2 take?" finally had an answer: about a week and a half for a player who checks in a few times a day.

Condition 2: simulate humans, not a bot

The simulator's bot had always played 24 hours a day. When I built a model of a human player instead (open the game every few hours, spend everything, leave), the problem was obvious within minutes. It reached ring 14 of Chapter 2 on day one, then crawled. After 30 days it was stuck at ring 20 of 30. Chapter 2 got slow fast, and Chapter 1 was tuned for a player nobody is.

The fixes:

Now the edge of Chapter 2 arrives around day 8 for an hourly player, day 10 at four-hourly check-ins and day 13 at eight-hourly. New checks run on every change:

The rule I've taken into every game since: simulate like a human, not like a bot. The pace a person feels needs its own measurement.

Condition 3: no new features

Everything that wasn't needed to finish was left alone. The unreachable screens stay unreachable. A third chapter stays an idea. The only additions were the things a released game needs that Genesis had never had: consent for ads, analytics, cloud save, and a proper deal for rewarded ads, which gets its own post.

The engine from my word games paid off here. Consent and analytics were copied straight across, and the build now refuses to produce a release without them.

Release day: rejected

The first submission was rejected: "Invalid Privacy policy". Months ago, I'd set the privacy policy and data-deletion links in Play Console to a subdomain that no longer existed. The fields weren't empty, so nothing had looked wrong. I moved both to this site and resubmitted the same day, and the release checks now insist the URL is the expected one and actually returns a page.

The same submission had also picked up a stale version, older than the one in the repo. That's checked now too.

What happens next

Now it's up to players. The thing I'm watching most closely isn't revenue, it's whether people who start keep going. An idle game lives or dies on its first few minutes and its first wall.

Genesis screenshot 1Genesis screenshot 2Genesis screenshot 3
Genesis on Android.