How to Fix One AI Game Bug Without Rewriting Working Code
A change-isolation workflow for asking an AI coder to repair one game bug without destabilizing unrelated systems.

Describe one reproducible bug, the expected behavior and an explicit do-not-change boundary. Ask for the smallest patch, then test both the original bug and neighboring behavior that could regress.
Why broad bug prompts are risky
“Fix the game” gives an AI coder permission to reinterpret architecture, state and timing. It may solve the visible symptom by rewriting a larger area than necessary, which creates regressions that appear later.
Write a bug ticket
BUG: After restart, score stays at the previous value. EXPECTED: Restart sets score to 0 and lives to 3. REPRO: Finish a run → tap Restart → observe score. CHANGE LIMIT: modify only restart/reset state handling. DO NOT CHANGE: controls, collision, enemy speed, UI layout. Explain exactly what changed.
Freeze known-good behavior
List a few tests that already pass. If jump input, collision and game-over behavior work before the patch, they should still work afterward. This creates a tiny regression suite around the change.
Prefer the smallest patch
A local change is easier to review, reason about and reverse. If the AI proposes a broad refactor, ask why it is necessary for this specific defect. Refactoring can be valid, but it should be a separate decision.
Decision rules
- One bug per prompt when possible.
- State the expected result in measurable terms.
- Freeze unrelated systems explicitly.
- After the fix, test one layer beyond the symptom—for reset bugs, test repeated restarts, wins and losses.
Use a minimal bug report instead of a rewrite request
Describe the smallest observable failure: what you did, what should have happened, what happened instead, and which system must remain unchanged. Avoid prompts such as “clean up the whole game while fixing this.” That combines repair with refactoring and makes regressions harder to attribute.
Give the AI boundaries
A good repair instruction names the file, function or mechanic if known and explicitly protects unrelated behavior. For example: “Fix the double-jump counter resetting on landing. Do not change horizontal movement, animation timing or scoring.” If you can provide the relevant code section, do that instead of sending the entire project.
Verify the fix with three tests
- Reproduce the original bug and confirm it is gone.
- Run the nearest neighboring behavior that could have been affected.
- Repeat the action several times to catch state that only breaks on the second or third cycle.
Only after those tests pass should you combine the fix with other changes. This makes AI-assisted debugging much less chaotic.
Keep a known-good checkpoint
Before asking for a repair, save the last version that reproduces the bug but still has all unrelated systems working. If the proposed fix causes a regression, return to that checkpoint instead of stacking another repair on top of a broken state. This habit is especially important with generated code because a model may solve the visible symptom by changing more of the implementation than necessary.