Tetris
Seven pieces, wall kicks, and a lock delay that feels right.
IntermediateWeb appGame12–26hAI-buildable 3/5no setup
Tetris is a masterclass in game feel hiding behind simple rules. Rotation with wall kicks, the seven-bag randomiser, lock delay, and hold — get these right and it feels correct; get them wrong and it feels subtly awful for reasons players can't name.
UI
Logic
Useful
Hosting · Free forever
Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.
Deploy it and share a link.
Core features · 7
- All seven pieces with correct rotation states
- Wall kicks allow rotation against walls and floor
- A seven-bag randomiser rather than pure random
- Lock delay lets a piece be adjusted after landing
- Hold piece and a next-pieces preview
- Line clears with scoring for multi-line clears
- Soft drop and hard drop with correct scoring
The interesting part
- Wall kick tables are specific and unintuitive but essential to feel
- Lock delay that resets on movement without allowing infinite stalling
- Input handling with correct repeat delay and rate
Once it works
- Add T-spin detection and bonus scoring
- Add a ghost piece showing the landing position
- Add marathon and sprint modes
Suggested stack
reacttypescripttailwindcanvas-api