June 6, 2026
Building a Production Game with AI, From Scratch · Part 4 of 4
Some Hard Truths About Building a Production-Level Game With AI
This is the closer for this series, and it circles back to where Article 1 started: old-school chops, new-school AI. Four articles in, I can say plainly which half of that equation actually carried the project. AI made a lot of things faster. It did not make software development knowledge optional. Here’s where that showed up in practice.
Typing isn’t the bottleneck — navigating is
There’s an assumption that prompting is automatically faster than writing code by hand, and it’s just not true once you know what you’re doing. If you can jump to a definition, navigate a file structure with intent, and drive your editor with real keyboard macros instead of hunting and clicking, hand-editing a small, well-understood change is often faster than typing out a full description of that same change in chat. Prompting wins on big, fuzzy tasks. It loses on small precise ones, if you’re counting keystrokes and know your way around the codebase.
Best practices still matter — AI won’t stop you from skipping them
Left alone, AI will happily hand you a single 4,000-line component and call it done. It works, in the narrow sense that it runs. It’s also a nightmare to maintain, extend, or debug. You still need to know — independent of the AI — that this is a problem, and that the fix is telling it to refactor into smaller, reusable pieces that follow reasonable architectural conventions. The AI won’t flag this itself. It answered the question you asked, not the question you should have asked. That gap is exactly where software development knowledge has to fill in.
Package management doesn’t care how good your prompts are
This one deserves its own paragraph of pure frustration. I’m building on
Expo with React Native, which is genuinely unforgiving about package
versions and compatibility — and it’s a place where AI tooling struggled the
most. Cursor couldn’t reliably resolve it. Gemini actively gave me bad
answers while I was trying to dig out of a broken dependency tree. In the
end, getting back to a working state took manually removing and
reinstalling packages, and running the right sequence of npm/npx
upgrade and update commands myself. If you’ve never worked with a terminal
before, this is the part of the project that will stop you cold.
Xcode and Android Studio don’t care that you used AI
If you’re shipping to iPhone or Android, there’s no getting around opening Xcode and Android Studio yourself at some point. Full stop — no chat interface signs your app, manages provisioning profiles, or babysits a simulator for you. Android is its own trial by fire on top of that: Gradle. When a Gradle build fails, and it will, you get walls of Java-flavored stack trace that no amount of prompting fully explains away. You need enough baseline knowledge of what Gradle actually is — a build system, not a black box — to start diagnosing it instead of just re-prompting and hoping something changes. Good luck if it fails and you don’t know what the hell that even means.
You still need to know your way around a terminal
Cursor can run terminal commands for you, sure. But you still need to know
when to hit Ctrl-C to kill a stuck process, how to tear down a running
instance that’s holding a port hostage, and — ideally — enough to not
blindly paste npm run start into a terminal and hope. It’s a little wild
to me that a generation of developers may never need to learn sed, or any
real bash at all, to ship something. AI can drive the terminal. It still
can’t tell you why something’s stuck, or what “stuck” even looks like, if
you don’t already have a mental model of what’s supposed to be happening.
Where that leaves things
None of this is an argument against building with AI — this whole project is proof it works. It’s an argument against the idea that it replaces needing to know what you’re doing. The chops from Article 1 — the math background, the years of production software experience, the plain ability to read a codebase and a terminal — didn’t get replaced by AI at any point in this process. They’re what made it possible to actually use AI well instead of just getting stuck faster.
The goal is still to ship by December 31, 2026. Follow the blog for what comes next.