Eliminate instability. A shipped game must not break during normal play.

Bugs aren't mistakes to be ashamed of — they're mysteries to be solved. Every professional developer spends more time debugging than writing new code. Watch how the pros track down problems:

Video: 21+ Browser DevTools Tips You Need to Know (10 min)

Fireship walks through the browser's built-in debugging tools — the same tools you'll use today to hunt down bugs in your game. Pay attention to the console tricks and breakpoints.

Discussion after watching: If debugging is like being a detective, what are your "clues"? (Error messages, unexpected behavior, console output.) What's the difference between a clue and a guess?

Today is about finding and fixing bugs — not adding features. Each child plays their game for 10 minutes and writes down every bug they find. Then they fix them.

Types of bugs to look for:

  • Numbers not updating
  • Zones misfiring
  • Tiers not unlocking
  • Reset logic incorrect
  • HUD not reflecting state
Ami — Stability Checklist

Verify each of these works correctly under all conditions:

  • Boss encounter triggers correctly — fires at the right threshold, not early or late
  • Banking always resets risk — returning to Camp clears unbanked XP and resets risk level
  • Respawn never keeps unbanked XP — dying means losing what wasn't banked
  • Tier progression is stable — tiers advance at correct thresholds and never regress
  • Zone detection doesn't miss transitions — moving between zones always registers
Ida — Stability Checklist

Verify each of these works correctly under all conditions:

  • Debt cap enforces reset at -50 — bankruptcy triggers reliably at the cap
  • Car unlock persists across refresh — localStorage saves and restores correctly
  • Second block locked until Car unlock — gating logic prevents premature access
  • Only one active job at a time — cannot stack or overlap jobs
  • Interest applies correctly — debt grows at the right rate, not compounding incorrectly

You need: Paper and a pencil (or print/draw a 3×3 grid).

Create a Bug Bingo card. Fill each square with one of these common bug types:

Typo in variable name Wrong comparison operator Missing function call
Undefined variable FREE SPACE
(you always find at least one bug)
Wrong zone check
State not updating NaN appearing Event not firing

How to play:

  1. Each person gets their own bingo card.
  2. Play your game and try to find real bugs that match each square.
  3. When you find a bug, write what it was in that square and cross it off.
  4. Try to get at least 5 bugs found. First to a full row/column/diagonal wins!
  5. Bonus: Fix each bug as you find it. A crossed-off AND fixed square counts double.

Can't find a bug type? Try intentionally triggering it — mash keys rapidly, refresh mid-action, click where you shouldn't. Good testers break things on purpose.

  • Play for 10 minutes — write down every bug
  • Categorize bugs: critical (game-breaking) vs minor
  • Fix all critical bugs first
  • Fix minor bugs if time allows
  • Play another 10 minutes to verify fixes
  • Try intentionally breaking the game — can you?
  • Checkpoint

    Can you intentionally try to break the game and fail? All critical bugs are fixed.

    Fix broken logic and edge cases only. No new features. No visual improvements. Stability only.

    Fixing visual issues instead of functional bugs — a misaligned label is not a bug. A number that never updates is.

    Adding features while "fixing bugs" — if it didn't exist before, it's not a fix. It's a feature.

    Not testing after each fix — every fix must be verified immediately. Don't batch fixes and hope.

    Introducing new bugs while fixing old ones — test after every change. One fix should not create two new problems.

    Frame debugging as success, not failure. Every bug found is the game getting better. Professional developers spend 50%+ of their time debugging — this is normal.

    Have them try to break each other's games. Kids are excellent QA testers — they will find things you never thought of. Celebrate found bugs loudly.

    Bug Bingo energy matters. Keep it competitive and fun. If a child gets frustrated, remind them: "A bug you found is a bug your players will never see."

    Watch for feature creep disguised as bug fixing. If they say "I fixed a bug by adding a new feature," that's not a fix. Redirect gently: "Does the game work the way it was supposed to? Then that's the fix."

    Tomorrow: We add tiny touches that make everything feel more polished. Debugging made the game work. Polish makes it feel right.