Quick answer: Version control pushed to a remote covers your project files — but a real backup strategy is 3-2-1 (three copies, two media, one offsite) covering everything Git doesn't: raw art and audio sources, builds, keys and credentials, design docs in cloud apps, and the repo host itself. The step everyone skips is the only one that matters: actually test a restore.

Version control pushed to a remote covers your project files — but a real backup strategy is 3-2-1 (three copies, two media, one offsite) covering everything Git doesn't: raw art and audio sources, builds, keys and credentials, design docs in cloud apps, and the repo host itself. The step everyone skips is the only one that matters: actually test a restore. That's the short version — the sections below get into the how, the why, and the mistakes worth dodging.

Version control is necessary, not sufficient

A pushed Git repo protects committed project files against machine death — genuinely the single highest-value habit. What it silently doesn't cover: the PSDs and DAW sessions that live outside the repo, signing keys and store credentials, the .env files you correctly didn't commit, build archives, and content in SaaS tools (docs, Trello boards, Figma files) that feels backed up because it's 'in the cloud' — until an account problem says otherwise.

Inventory first: list every place project-critical data lives. Most devs find four or five locations they'd never thought of as needing backup until the list forced the question.

3-2-1, implemented lazily enough to survive

Three copies (working + two backups), two different media (your disk + external drive or NAS), one offsite (cloud sync or remote storage). The implementation that actually persists is automated: repo pushed daily by habit, an external drive or NAS snapshot on schedule, and a cloud sync folder for sources and documents — no manual steps, because manual backups stop the month attention moves elsewhere.

Include periodic repo-host export too: the remote is one suspended account or fat-fingered deletion away from being a single point of failure. A quarterly clone-to-cold-storage costs minutes.

A backup is a hypothesis until you restore from it

The backup graveyard is full of archives that turned out empty, encrypted with lost keys, or missing the one folder that mattered — discovered at the only moment discovery is catastrophic. Schedule a restore drill: once a quarter, rebuild the project on a clean machine from backups alone. Time it. Fix what the drill exposes.

That drill doubles as documentation: write down the steps as you go and you've produced the disaster-recovery runbook your future panicked self will follow verbatim at 2am.

Your future self is a stranger — leave notes

Six months from now you will not remember why that magic number is 0.73 or which scene is safe to delete. Project knowledge that lives only in your head evaporates on contact with a break, a jam, or a day job crunch.

Keep one running NOTES file: decisions made, things that look unused but aren't, how to do the fiddly release steps. Five minutes of writing per week buys you days of re-discovery later.

Boring tools are a superpower

Every hour spent fighting your own pipeline is an hour not spent on the game. The goal of tooling isn't sophistication — it's that builds, backups, and versioning become so boring you forget they exist. Set them up once, automate them, and let them run.

The test is simple: if your machine died tonight, how long until you're working again? If the answer is 'an hour', your tooling is good. If it's 'I'd lose a week', fix that before adding any feature.

Close the loop with real players

Advice gets you to a sensible starting point; only real player behavior tells you if it worked. Ship the change, then watch what actually happens — the reports that come in, the errors that spike or vanish, the place sessions end.

Make that loop short. When a player can report a bug in ten seconds and you see it with logs attached, you stop guessing what to fix next. Tight feedback loops are the closest thing indie development has to a cheat code.

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.

If your machine died tonight, you should be working again by morning. Build toward that.