The Last-Mile Decision: When to Ship Your Indie Game vs. When to Polish
When to ship your indie game: a decision framework. Five binary gates, a polish cut-line worksheet, and the scope-cut call every shipped game makes.

You know the feeling. The build works. Testers don't hate it. But every morning you open the project and fix one more thing that wasn't in yesterday's bug list. That is not finishing. That is the polish loop, and it is the single most common way a near-done indie game stays near-done for another year.
This guide gives you a decision framework for when to ship your indie game. Five binary ship-readiness gates. A cut-line worksheet for the polish pile. A collaborator-pact script that turns "someday soon" into a Steam release date. And a realistic look at the 48 hours after the build goes live, because nobody writes about that part and it is half the reason you are stalling.
What you need before you start:
- A playable build that runs for at least 30 minutes without a hard crash
- A candid bug list, every ticket, no triage yet
- At least one person outside your head who has played the thing
1. Name the pattern: polish that is hiding vs. polish that is shipping

Polish at the end of a project looks productive. It is not always productive. Derek Yu, who shipped Spelunky and then wrote a book about it, has a name for what happens next. He calls it the death loop.
"There is comfort in continuing to work and make improvements, grinding against familiar problems behind-the-scenes."
- Derek Yu, Make Games: Death Loops
The comfort is the tell. When the work stops scaring you, it usually stopped shipping you at the same time. The five signs your last-mile work is avoidance, not finishing:
- The tasks you pick first are the ones you already know how to do.
- The tasks you pick last are the ones you had penciled in for "when the main game is done."
- Your commit messages shrink from "add boss fight" to "tweak particle alpha."
- You have not shown the build to a new person in more than two weeks.
- Nobody outside your head has a date by which they expect to hear from you.
Another way to diagnose this is to look at what is left. From an Indie Game Clinic breakdown of the end-of-project pattern:
"When you're at the end of a project, the things that are left to do are either repetitive, boring things, or they're basically things that you don't know how to do and you've been avoiding."
You are not lazy. You are unsupervised. The comfort of grinding familiar polish thrives when nobody is counting on your work to unlock theirs. Fix the structure and the polish loop ends on its own.
2. Borrow Bungie's move: the scope-cut call every shipped game makes

At E3 2003, Bungie showed a Halo 2 demo so slick it set the expectation for the shipped product. A year and change later, they were not going to hit that expectation. Former Bungie designer Jaime Griesemer, looking back at the E3 demo in an oral history, put it like this:
"We didn't have the target that we were aiming at."
So Bungie cut. A lot. The shipped game does not have what the E3 demo promised. The shipped game exists. The E3 demo does not.
You will see the phrase "stop building, start shipping" attributed to Bungie all over the internet. The aphorism is repeated enough that it is effectively industry folklore, and the scope-cut moment it describes is real and documented. Primary attribution is thin, so treat the phrase as inherited wisdom, not a direct quote. Treat the behavior it points at as non-optional.
Every studio at every size makes this call. Halo 2 made it with 200 people and Microsoft's deadline. Hollow Knight made it after three Kickstarter stretch goals. You will make it alone in a spare room unless you set the structure up ahead of time.
3. Run the five-gate ship-readiness checklist

Here is the decision framework. Five binary gates. If the answer to any one is "no," you do not ship yet. If the answer to all five is "yes," you do not get to invent a sixth.
Gate 1, crash rate. Five outside testers play for 30 minutes each. Fewer than one hard crash total across the 2.5 hours. This is not "zero crashes in my dev build." Fresh machines, fresh installs, real players.
Gate 2, first ten minutes. Four out of five strangers reach the core loop without you explaining anything. Watch them on Discord screen-share if you have to. If they need a hint, that hint is a ship blocker, not a patch note.
Gate 3, core loop endurance. The main activity of your game stays interesting for three times the length of a session you expect a real player to play. If your target session is 20 minutes, you need an hour's worth of core-loop depth. Not content. Depth.
Gate 4, content floor. A 30-minute session ends on a moment the player is proud of. Beat a boss, unlock a thing, see a payoff. "Game works" is not the bar. "Session ends on a peak" is the bar.
Gate 5, remaining list audit. Open your bug tracker. Every remaining item is either cosmetic or structural. Cosmetic goes to patch 1.1. Structural blocks ship. There is no third category. If you catch yourself writing "nice to have," that item is cosmetic.
Tim Ruswick, who ships small games on a regular cadence, put the bar like this:
"You have to learn to go with good enough. You have to move at 80 or 90 percent and you have to just let it exist."
Five gates pass, you ship. You do not get to add a sixth gate called "but I'm not feeling it." That one does not have a threshold.
4. Set the ship date out loud, and in Steam
Internal deadlines do not work. You know this because you have missed all of them. External deadlines work because you cannot quietly move them without somebody noticing. Ruswick, again:
"Deadlines don't seem to work when I have them internally. They only seem to work when I announce them."
Here is the Steam-specific mechanic that forces the call. Valve's own documentation:
- Your Coming Soon page must be live at least two weeks before your release date. (Steam Coming Soon docs, retrieved 2026-04-23)
- The release date locks two weeks out. Inside that window, you cannot change it. (Steam Release Dates docs, retrieved 2026-04-23)
- Steam review submission takes at least seven business days before the page goes up.
Do the math. The moment you submit for Steam review, you are roughly three weeks from a locked ship date, whether your polish list is done or not. That is the point.
What "announcing the date" looks like in practice:
- Submit your Coming Soon page for Steam review.
- Email or DM your testers with the date in the subject line.
- Tell your composer, your marketing partner, anyone who has a job that starts when yours ends.
- Put the date on your own calendar in a color you cannot ignore.
You are not allowed to announce the date privately and pretend that counts. A date that only lives in your Notion does not change your behavior. A date on your Steam store page does.
5. Pick your polish cut line: what ships, what waits for patch 1.1

Open a sheet with three columns: Ships now. Patch 1.1. Sequel or DLC. Move every item on your polish list into exactly one column.
The heuristic that breaks ties: anything that does not change crash rate, tutorial, core loop, or content floor goes to 1.1. Full stop. This is a one-rule filter and it will feel brutal the first time you apply it.
Jason Schreier's Blood, Sweat, and Pixels traces ten shipped games and finds the same thing at the end of each of them: a months-long endgame where scope collapses to what will ship, and the rest waits. That includes Stardew Valley. That includes Destiny. Your game is not the exception where the endgame is different.
Supergiant's Greg Kasavin has a slightly different version of the same point. Hades spent 1.5 years in Early Access because, in his words, the team could not know the issues and opportunities in advance. The community told them when it was done.
Translate that for solo devs: the feedback that tells you you are done does not have to be a million players. It has to be five honest ones who have hit gates 1 through 5 without you in the room.
6. Get a collaborator on the hook: the structural fix

This is the step that makes all the other steps actually happen. Polish becomes hiding when nobody is waiting on your ship date. Accountability is the real deadline engine.
Tim Ruswick runs a collaborative structure called DevPods. Eleven or twelve games shipped in twelve months. 100% on-time delivery. The mechanism is not motivation. It is that somebody else's next move depends on your ship date.
Borrow the mechanism. Three collaborator-pact scripts, pick the ones that fit your project:
- Composer commit. "My mastering session is booked for [date]. I need the final cut by that day or I lose the slot."
- Marketing partner commit. "I'm pitching press the week of [date]. If the build isn't gold by the preceding Friday, the pitch doesn't work."
- Porting partner commit. "I start the Switch build on [date]. My window is fixed. If the PC build slips, the port slips and so does my pay."
Notice what all three have in common. Somebody else's work starts when yours ends. Their dates are not flexible. Yours just became not flexible either.
If you do not have a composer, a marketing partner, or a porting partner, this is the step where you find one. This is also the specific problem Clowdr exists to solve. You do not have to build a studio to get the accountability of one. You just need collaborators whose next move starts when you ship.
7. Handle the last-mile grief: ship, patch, move on

Nobody writes about what happens in the 48 hours after you ship. Here is what happens. You will feel weird. You will probably not feel proud on day one. You might feel, as one indie dev documented on ResetEra after release, drunk and watching a streamer hit a crash you swore was patched.
Derek Yu again:
"The release of a game is also the moment of judgment and of reckoning. Many developers experience a feeling of loss and aimlessness post-release."
Plan for this. Write yourself a patch plan that executes on Day 3, not Day 0, so you are not panic-patching while your fans are playing. The things that happen in the first 48 hours:
- Day 1: monitor crash telemetry and Steam reviews. Do not respond yet. Do not patch yet. Note everything.
- Day 2: sleep. Eat something. Look at the reviews once. The urge to re-open the project file is strongest here. Do not.
- Day 3: triage the real issues. Patch the ones that hit Gate 1 or Gate 2. Leave the rest for the 1.1 list you already built.
The single thing you do not do: start rewriting the code you shipped because "this is messy." A Game Developer postmortem puts that urge sharply:
"'This code is messy, I will code this again and better' is like pointing yourself with a shotgun."
Ship. Patch. Move on. The next game is where your next growth happens, not in the refactor of the one you just launched.
Common pitfalls
- Confusing iteration with polish. Iteration changes what the game is. Polish refines what it already is. If you are still changing what the game is, you are not in the last mile. You are in the middle mile wearing a costume.
- Treating the last 10% as one sprint. It is ten sprints. Budget accordingly. The Ninety-Ninety Rule is not a joke. It is named, dated, and attributed to Tom Cargill at Bell Labs and it applies to your game.
- Announcing internally but not externally. Covered above. This is the single most common failure mode. A date that only you can see is not a date.
- Using wishlist goals as a moving cut line. "I'll ship when I hit 10,000 wishlists" is a decision outsourced to strangers who do not know your burn rate. Set the date on calendar mechanics, not on crowdsourced vibes.
What to do next
Run the five gates this week. If more than one gate fails, that is a real signal about your scope, and our guide to cutting features before they cut you is your next stop. If gates pass but the polish pile still feels infinite, the Ninety-Ninety Rule guide has a weekly cadence built for the last mile. If you are earlier than this and still figuring out how you got to "nearly done," the complete guide to finishing your indie game is the hub you want.
The part this guide cannot do for you is put a collaborator on the hook. That is structural, not motivational. Sign up for Clowdr and get matched with the composer, marketer, or porting partner whose next move starts when you ship. The date on your Steam page is your problem. Finding someone who needs you to hit it is ours.