Game dev · Post 01

How a one-person studio ships a polished mobile puzzle game.

Polish isn't a phase at the end. It's a set of constraints you pick at the start so a solo developer can still ship something that doesn't feel solo.

"Polished" is a word that gets used as if it were a stage of production — the thing you do in the last two weeks, after the game works. For a one-person studio that definition is fatal. If polish is the last thing on the list, it's the thing that gets cut, because the last two weeks are always the two weeks where the store submission, the privacy manifest and a crash on older devices all arrive at once.

The version that actually works is less romantic: polish is a set of constraints you accept at the start so that the finished thing can't easily be rough. You don't add polish. You remove the opportunities to be unpolished.

Pick a shape you can finish

Puzzle games are one of the few genres where a single developer can genuinely compete on quality, and the reason is scope shape. A puzzle game is one core interaction repeated across many configurations. A narrative adventure is many interactions repeated once each. The first one rewards depth on a small surface; the second one punishes you for every corner you don't have time to finish.

So the first decision is a subtraction. Before writing anything, we write down what the game is not: no multiplayer, no live economy, no procedural narrative, no cosmetics store, no daily-login meta. Every one of those is a system that has to be designed, built, balanced, supported and — the part people forget — kept alive after launch. A solo dev's real budget isn't development hours. It's maintenance hours, forever.

The one-sentence test

If you can't describe the core loop in one sentence that a stranger could act out with their hands, the scope is wrong. "Fill the grid so no colour repeats in a row, column or box" passes. "A relaxing puzzle experience with meaningful progression" does not — that's a marketing sentence wearing a design sentence's coat.

Build the boring layer first

The instinct is to build the fun part first, because it's the fun part. The problem is that the fun part is also the part you'll rebuild three times, and rebuilding is cheap only if the scaffolding around it is stable.

We build in this order:

  • State and persistence. Can a puzzle be saved mid-solve, killed by the OS, and restored exactly? Get this wrong late and it infects everything.
  • Navigation shell. Menu, level select, settings, pause. Ugly is fine. Existing is not optional.
  • The core interaction. Now the fun part, on top of a floor that doesn't move.
  • Content generation or authoring. How puzzles get made, verified and graded.
  • Feel. Animation, haptics, sound, transitions.
  • Store and compliance. Icons, screenshots, privacy, ratings.

Notice that "feel" comes fifth, not last. That's deliberate — it's second-to-last, and the last slot belongs to store work, which is the one thing with a hard external deadline. If feel is genuinely last, it competes with submission, and submission always wins.

Polish is mostly three things

When people say a small game feels professional, they're almost never talking about art budget. They're reacting to three specific things, all of which are cheap if you plan for them and expensive if you don't.

1. Nothing happens without feedback

Every input gets an immediate, visible response — even an invalid one. A tap that does nothing reads as a bug even when it's correct behaviour. A tap that produces a small shake, a dimmed cell, or a short haptic reads as a rule. The gap between "broken" and "designed" is often 120 milliseconds of animation.

2. Transitions are continuous

Screens that cut hard between states feel like a prototype. Screens where the thing you tapped visibly becomes the next screen feel built. This is a systems decision, not an art one: if your navigation layer can't animate between states, no amount of later effort fixes it without a rewrite.

3. The game respects a player who leaves

Mobile players get interrupted constantly. Auto-save on every meaningful state change, restore to the exact cell, never punish a backgrounded app. A solo dev who nails this beats a funded team that didn't.

Cut lists, written in advance

The single most useful artefact we keep is a document with two columns: ship blockers and nice to have. It's written before development starts and it's the only place scope decisions are allowed to happen.

The rule is that things move from column two to column one only by deleting something else from column one. That sounds bureaucratic for a team of one. It is exactly why it works — a solo developer has nobody to say no to them, so the document has to do it.

A representative cut list for a puzzle title looks like: ship blockers are the core loop, puzzle generation with verified unique solutions, save/restore, accessibility basics, sound with a mute that persists, and store compliance. Nice to have is themes, statistics, achievements, daily puzzles, iPad layout. Every one of those "nice to have" items is a real feature people ask for. Every one of them is also a reason a game spends its second year unreleased.

Test on the device you're embarrassed by

Solo devs test on the phone in their pocket, which is usually the newest one they own. The players who leave one-star reviews are on a five-year-old device with 12% battery and a cracked screen protector.

Keep one deliberately old test device, and run the whole first-launch experience on it before every submission: cold start, first puzzle, background, return, rotate, kill, relaunch. It takes fifteen minutes and it catches the category of bug that generates reviews you can't reply to.

The last mile is the store, and it is not small

Store work reliably takes longer than a first-timer budgets for. Icon variants, screenshots for every required display size, a subtitle, a description, keywords, an age rating questionnaire, a privacy manifest describing what the app collects, and — if you show ads or use any third-party SDK — a chain of disclosures about what those SDKs collect too.

None of that is creative work, all of it is required, and it is much easier to do in a calm week than in the week you wanted to launch. We schedule store assets as a first-class task with its own block of time, not as a chore appended to the end of development.

What "one person" actually means

It rarely means one person does everything. It means one person is accountable for everything and contracts the parts where the quality gap is widest — usually audio, sometimes icon and store art, occasionally a localisation pass. A few hundred dollars of contracted sound design will do more for perceived polish than a month of solo tweaking, because sound is the thing solo developers most consistently under-serve.

The judgement call is knowing which gaps are worth paying to close. A good rule: pay for the things a player notices in the first ten seconds and you can't iterate on cheaply. Do the rest yourself.

The short version

Shipping polished as a team of one isn't about working harder in the last month. It's about choosing a genre whose scope has a natural floor, building the unglamorous systems before the fun ones, deciding in advance what you're allowed to cut, and treating feedback, transitions and interruption-handling as core features rather than finishing touches.

Do that and the game ships. The polish is already in it, because you never gave yourself room to leave it out.

Building a mobile game and want a second pair of hands?

Send a paragraph about what you're making and where it's stuck.