Games · AI · Browser falling-block game / AI agent experiment
BlockDrop
A flashy falling-block game for the browser whose playable version was built by one Claude Opus agent from a single prompt in under an hour, with no revisions, on a repository set up with AgentAutoSetup.
- Role
- Author & owner, built with one Claude Opus agent
- Workflow
- AgentAutoSetup scaffold, one prompt, no revisions
- Platform
- Browser · desktop and phone
- Size
- No runtime dependencies, 17 kB of gzipped JS
Overview
BlockDrop plays by the modern guideline rules: a 7-bag randomiser, SRS rotation with wall kicks, hold, a ghost piece, lock delay, T-spins, back-to-back chains and combos. It wraps them in a canvas renderer with particles, screen shake and easing, and every sound is synthesised through Web Audio, so the game ships without a single asset file.
One prompt, one agent
The repository was scaffolded with AgentAutoSetup: an agent manual, enforced safety rules, git hooks and verification gates from the first commit. Then one Claude Opus agent got one prompt. In under an hour, with no revisions, it delivered the playable version:
- the complete rule set, including T-spin grading, perfect clears and guideline scoring
- pre-rendered block sprites, pooled particles, an eased row collapse, hard-drop trails and a score that rolls up
- keyboard play with auto-repeat, a visible focus ring and a live region that announces the game state
- 111 behavioural checks on the rules, plus gates for purity, reduced motion and the on-screen controls list
- touch controls and gestures
- online high-score board
Each new gate was first run against a deliberately broken copy to prove it can fail. The rules gate caught two bugs before they were committed: a double clear removed the wrong second row, and the O piece rotated around its box instead of staying put. The process ran fully autonomously from start to end.
Built to be checked
The rules are pure: no DOM, no clock and no hidden randomness. Time arrives as a delta and randomness as a seed, so every game is reproducible and the rules run in Node in milliseconds. The dependency points one way, so the whole presentation layer could be deleted and the game would still play correctly, and a gate makes sure it stays that way.