Vibe Coding Bugs: 6 Game Bugs Your AI Will Not See
The typical vibe coding bugs in games only appear on someone else's screen, after a reload or with unusual timing. Your AI rarely plays under those conditions, so you need to know the usual suspects and name them.
Why did the pigeon get so fast?
Say you are making Pigeon Relay, an invented game about flying letters across a town. You tune the pigeon on your laptop until it feels right. Your screen shows 60 pictures a second, and each picture moves the pigeon 4 pixels.
Then a friend plays on a gaming monitor that shows 144 pictures a second. The game moves the pigeon 4 pixels per picture there too, so it flies 2.4 times as fast and crashes into the first chimney. Mozilla's web documentation warns about exactly this: if you do not work out movement from the time that passed, an animation runs faster on high refresh-rate screens.
Most game bugs from vibe coding look like this: nothing turns red, and the game only misbehaves under conditions nobody tried.
Which six bugs should you look for?
| What you see | What is usually behind it | What to say |
|---|---|---|
| The game runs faster on some screens | Speed is counted per picture, not per second | "Make every speed depend on the real time that passed." |
| No sound until you click | Browsers generally block sound until the player clicks, taps or presses a key | "Start sound on the first click or key press." |
| After switching tabs, everything jumps | Most browsers pause hidden tabs, then the game counts the whole gap at once | "Pause when the tab is hidden, and limit how much time one step can cover." |
| Progress is gone after a reload | It was only ever in the browser's short-term memory | "Save after each level and load it on start." |
| Fast things fly through walls | Between two pictures, the object jumps past the wall | "Check the whole path of fast objects, not just where they land." |
| A double click buys something twice | The button still listens while the first buy is running | "Ignore repeat presses until the first one has finished." |
Those rows are a checklist, not a verdict, so the prompt below asks your AI to point at the real place in your project.
For red error messages, see what the red messages mean. If a bug comes back after every fix, read why AI breaks working code.
Paste this to your AI
Look at my game for these six bugs. Do not assume any of them is there.
1. Movement or timers that depend on how many pictures per second the screen shows.
2. Sound that tries to start before the player has clicked or pressed anything.
3. A big jump in the game after the tab was hidden for a while.
4. Progress that is not saved over a page reload.
5. Fast objects that can skip past walls.
6. Buttons that can fire twice from a double click.
For each one, answer "found", "not found" or "could not tell". For "found", quote the line and say where it is. For "not found", tell me what you looked at, because "looks fine" is not enough. For "could not tell", tell me what I should try in the game.
Before you change anything, take each "found" in turn. Draw what is supposed to happen as a small Mermaid diagram, for the double click perhaps waiting, buying, done. Then show me the step where the game's real behaviour leaves that drawing.
Fix only that step, one bug at a time. After each fix, tell me what you tried and what happened.
Or skip this and connect the MCP: your AI then finds all of this by itself.Connect the MCP
How to check it worked
- Read the drawing for one bug. Does it describe what you want to happen? If not, correct the drawing before anything gets fixed.
- Borrow another screen. Play on a different computer or phone. Does the main character move at the same speed?
- Listen on a fresh load. Reload the game, then click. Does sound start?
- Hide the tab. Switch away for a full minute, then come back. The game should wait for you, not jump ahead.
- Reload in the middle of a level. Your progress should still be there, as far as your game promises.
- Double-click everything that costs something. The price should only be taken once.
- Throw your fastest thing at your thinnest wall. Try it twenty times. Bugs like this one only show up now and then.