Blockfall
A falling-block puzzle game shipped as an installable progressive web app. No frameworks, no build step, and it keeps playing with the network off.
Preview
Built with
JavaScript · Canvas · PWA · Service Worker · CSS
Overview
Blockfall is a full falling-block puzzle game written in plain HTML, CSS, and JavaScript - no framework, no bundler, no build step. It implements the guideline behaviours players expect: a 7-bag randomizer so droughts stay bounded, SRS wall kicks, a ghost piece, hold, a 3-piece preview, lock delay, and the guideline scoring and gravity curve. A service worker caches the whole app, so once it is installed to a home screen it launches and plays offline like a native game. Touch and keyboard controls are both first-class: the board itself is a control surface where you slide to move, tap to rotate, drag to soft drop, and flick to hard drop.
Highlights
- 7-bag randomizer, SRS wall kicks, ghost piece, hold, and a 3-piece preview
- Lock delay, soft and hard drop, guideline scoring and gravity curve
- Line-clear animation with flash, dissolve sweep, debris, and screen shake
- Installable PWA with a service worker for fully offline play
- Touch controls on the board itself - slide to move, tap to rotate, flick to hard drop
- High score persisted in localStorage; auto-pauses when the app is backgrounded
- Hardened headers: default-src 'none' CSP, no inline scripts or styles, no external origins