Tetris — Web Edition
Guideline-accurate, down to the wall kicks
The goal was to implement the official Tetris guideline faithfully rather than approximate it: the full Super Rotation System with wall-kick tables for every piece, a 7-bag randomizer so piece distribution is fair rather than merely random, and a hold queue for strategic play. Rendering is on HTML5 Canvas for hardware-accelerated frames.
Scoring, exactly
Single 100, double 300, triple 500 and Tetris 800, each multiplied by level, with soft drop scoring one per cell and hard drop two. Combos add fifty per combo per level, and back-to-back difficult clears carry a 1.5× multiplier. Getting these constants right is what separates a game that feels like Tetris from one that merely looks like it — the scoring table is the thing experienced players notice within thirty seconds.
Modern touches sit on top: a ghost piece previewing the landing position, particle effects on line clears, screen shake, four visual themes, and configurable starting level from 1 to 20. Controls cover keyboard with the standard bindings plus full touch support — tap to rotate, swipe to move, swipe up to hard drop — and high scores and settings persist in local storage. Built with Vite and containerised behind nginx for production.