Starting over: what three days taught me
After three days and about forty thousand lines of code, I am putting this codebase aside and starting the game again from the foundations. This post is the why, what I am keeping, and how the next attempt will be different.

What went wrong
I moved too fast. In three days this project grew streets, interiors, a build-and-review loop with its own critic, a wind system, a sky, a character pipeline and a street editor. Each of those is real and most of them work. But they were built on top of each other before the ground floor existed: there is no proven core loop, no clear model of what a day in the game is, and the systems that should sit under everything (time, movement, interaction, saving) were written quickly to support whatever I was building that hour.
The result is bloat. Tools that exist because a previous tool was awkward. Tests that guard geometry in exquisite detail while nothing tests that the game is fun to play for ten minutes. Three ways to place a building. Guardrails for an unattended run that I now spend more time maintaining than the run saves me. I am more experienced now than I was on Sunday, and with that experience I can see that the foundation is not there, and that it is harder to recover a foundation under a building than to pour a new one.
What I learned
- Speed is not progress. A six-thousand-line street editor in one afternoon is not a feat if the next week is spent working around it. The question to ask before every system is what it is standing on.
- Use the engine. I did not take enough advantage of what Unity already offers. I only recently learned how far its physics goes: floating objects can simply be rigid bodies with buoyancy and gravity doing the work, instead of scripts that bob a transform. The terrain tools would have given me ground, slopes and a riverbank in an hour. I rolled my own where a built-in existed, often without knowing it did.
- Physics I am happy with is possible inside the low-polygon look. Simple colliders, a stable character controller and the engine's own gravity are not at odds with a stylized world; I had treated them as a budget problem when they are a design choice.
- Study the patterns first. Life sims, cozy games and walking sims have solved the same problems many times: how a day is structured, how a world streams, how interaction prompts work, how saves are shaped. The next version starts by reading how those are typically resolved and reaching for the standard answer, and only reinventing a wheel when there is a reason I can write down.
- Supervise more. Unattended runs produced a lot, and a lot of it was in the wrong direction. The agent work that held up best was the work I was watching and steering.
What I am keeping
Not everything goes. The art kit and its export pipeline, the sign-atlas approach, the lighting and time-of-day work, the camera rules, the reference research, and the habit of writing decisions down with their reasons all carry over. So does the dev log; the first three days stay up as a record of what was tried. The Unity project itself is archived rather than deleted; parts of it will be read, not reused.
The next approach
- Foundations firstA clean project with the core systems written on purpose: time, the player, movement, interaction, scenes, saving. Each one small, tested at the level it matters, and finished before the next begins.Weeks 1 to 2
- Systems and mechanics before artA day in the game playable end to end with placeholder boxes: wake, walk, talk, do a thing, sleep. If it is not fun with boxes, no amount of shopfront detail will fix it.Low-fidelity prototype
- Incremental, supervisedShort sessions with a visible goal, reviewed as they happen, instead of fifteen-hour runs reviewed afterward. Agents build; I decide what gets built and watch it being built.Process
- The engine's way firstPhysics, terrain, navigation, animation, addressables and the input system as Unity ships them, learned properly, before any custom replacement.Unity 6
- Patterns over inventionFor every system, a short note on how the genre usually solves it and why I am following or departing from it.Design notes
- Fidelity lastStudio quality is the goal; it is reached by raising the fidelity of something that already plays well, not by polishing streets nobody can walk through yet.The target
The game is the same game. The town, the era, the tone and the people in it have not changed. What changes is the order I build it in.
Day 1 of the second attempt follows.