Ad Block: The Game
Ad Block: The Game Showcase
Ad Block: The Game flips the script on the fake pop-up ad—instead of dodging it, you play the ad blocker and have to close it. One ad fills the screen at a time, and each one hides its close button behind a different puzzle: a tiny X that shrinks and fades, an X that drifts around the screen, a row of toggle switches, a memory-match grid, a fake "I'm not a robot" checkbox, a math prompt, drag-to-trash, rapid tap, Simon-style dots, long press, odd-one-out—about fifteen mechanics in all. Each ad has a time limit, leftover time becomes bonus points, clean closes build a streak multiplier up to x1.5, and touching the ad itself instead of solving the puzzle ends the run instantly. It's built mobile-first, runs entirely in the browser, and needs no account, server, or download; high scores live in local storage on your own device.
It's deliberately an affectionate museum of the dismiss-button dark patterns the web spent decades stamping out—part nostalgia, part satire, and not ad-blocking software of any kind. Every puzzle mechanic is a self-contained plugin in its own module with its own tests, registered through a central index, so adding a new mechanic never means touching the game loop. That same plugin idea carries over to monetization: the ads inside a run have to stay fake forever, since tiny close buttons, decoy controls, and a fail state for touching the ad are exactly what real ad networks prohibit. So the ad-network integration is its own provider interface with a no-op default, and the only place a real ad can legitimately go is the ordinary, fully compliant interstitial slot between a run ending and the score screen. Built with React Router 7 prerendered to static files, React 19, TypeScript, and Vite, tested with Vitest, and deployed on Vercel.