Quick answer: Abandon when the future costs exceed the future value — sunk time is already spent and votes nothing. The legitimate signals: the core loop still isn't fun after real attempts to fix it, the scope can't be cut to fit your life, or you've grown past the idea and only obligation remains. Quitting a doomed project isn't failure; it's reallocating your most finite resource.

Abandon when the future costs exceed the future value — sunk time is already spent and votes nothing. The legitimate signals: the core loop still isn't fun after real attempts to fix it, the scope can't be cut to fit your life, or you've grown past the idea and only obligation remains. Quitting a doomed project isn't failure; it's reallocating your most finite resource. That's the short version — the sections below get into the how, the why, and the mistakes worth dodging.

Run the decision on future numbers only

The question is never 'have I spent too much to quit?' — that's sunk cost arguing for more sinking. The question is: from today, what does finishing cost (months, money, morale), and what's the realistic payoff? Compare that against the same resources spent on a new, smaller, smarter project carrying everything you've learned.

Write both futures down. The doomed-project tell is that you can't describe finishing without the word 'somehow'.

Signals that justify the exit

Quit-worthy: the prototype loop still bores you and testers after several genuine redesign attempts (fun was the hypothesis; it tested false); honest scope math says years you don't have; the genre or market shifted under you in ways your design can't answer; or every session is dread and has been for months — not the normal mid-project trough, but the persistent kind.

Not quit-worthy alone: the boring middle stretch (every project has one), a scary new competitor, or a shinier idea — new ideas always gleam because they haven't been worked on yet. Distinguish the trough from the dead end by asking whether visible progress still changes your mood.

Quit like a professional: harvest everything

Abandonment done well banks the value: write the post-mortem (what the project taught about scope, craft, and yourself — this is the tuition receipt), archive the repo properly, and strip the reusable parts: systems, shaders, tools, pipelines, audio. Many shipped games are built from the organs of abandoned ones.

Tell your community simply and without self-flagellation if you had one. Then start the next thing smaller. Serial finishers usually have an abandoned project or two behind them — the failure mode isn't quitting once; it's the quit-start loop that never ships. One abandonment buys wisdom; a pattern of them is the signal to fix your scoping, not your ideas.

Momentum is a resource — budget it

Progress you can see is fuel. Long stretches of invisible work — refactors, systems with no on-screen result — drain motivation even when they're necessary. Good project plans alternate: one stretch of plumbing, then something you can watch move on screen.

When motivation dips, shrink the loop. Pick the smallest change that makes the game visibly better today. Shipping anything, even a menu fix, restarts the engine.

Decide how you'll know it's working

Every project needs a definition of done that isn't a feeling. Pick the few signals you'll trust — playtesters finishing the demo, crash-free sessions, wishlists per week — and check them on a schedule. Otherwise you'll steer by whichever anxiety is loudest that day.

This is also the honest defence against endless polishing. When the signals say players get through it, enjoy it, and nothing breaks, the feature is done. Move on.

The quiet work that protects all of this

Everything in this post gets undone by an unstable build. A great store page, a clever marketing beat, a perfect jam entry — none of it survives 'crashed twice, refunded'. Stability isn't a feature players praise, but it's the floor everything else stands on.

Give yourself visibility before you need it: crash reports with stack traces, a simple way for players to flag issues from inside the game, and a habit of fixing the top recurring error before adding anything new.

Putting it to work

Don't try to act on all of this at once. Pick the one change that costs you the least and pays the most this week, do it, and see what actually happens before reaching for the next.

Most of this rewards steadiness over intensity. A small improvement made every week, checked against how real players respond, outruns any single burst of effort — in this corner of game development and every other one.

Scope to the hours you really have, then ship the small game that fits them.