Version: v0.3.0-beta.1
StackLogic is a browser-based falling-block puzzle game featuring solo play, real-time two-player matches, deterministic gameplay, responsive keyboard and touch controls, local high scores, and four visual themes.
The project was developed with AI coding assistance from Qwen 3.5 and Qwen 3.6 models running entirely on local hardware—without hosted model APIs.
Play StackLogic · Latest release · Changelog · Backlog
Actual single-player gameplay captured from the public browser build.
| Live two-player match | Matrix gameplay |
|---|---|
![]() |
![]() |
| Pause-time theme selection | iPad-class touch controls |
|---|---|
![]() |
![]() |
- Four persistent themes: Default, Matrix, CandyPop, and Dark.
- Real-time multiplayer: create or join a private room, ready both players, start from one authoritative match identity and seed, follow the opponent's board/score/lines, and request a rematch after the result.
- Live theme switching: choose a theme on the title screen or change it while paused without restarting the game.
- Responsive input: keyboard controls on desktop and on-screen controls for touch and coarse-pointer devices, including wide iPad-class layouts.
- Accessible motion and navigation: Matrix rain follows live reduced-motion preferences; theme controls support Arrow keys and Home/End with roving focus.
- Deterministic game core: level progression, competitive scoring, and seeded seven-bag piece order are reproducible and independently tested.
- Local play data: optional next-piece preview and local high scores work without an account.
- Public browser deployment: GitHub Pages serves the game client; a bounded WebSocket service provides authoritative multiplayer rooms and match state. Express remains available for local development.
| Action | Keyboard | Touch |
|---|---|---|
| Move | Left / Right arrows | Left / Right |
| Soft drop | Down arrow | Drop |
| Rotate right | Up arrow or X |
Rot R |
| Rotate left | Z |
Rot L |
| Hard drop | Space | — |
| Pause / resume | P |
Pause / Resume |
| Return home | R |
Restart (portrait layout) |
Requires Node.js 18 or newer.
npm install
npm startOpen http://localhost:3000.
npm testThe test suite covers deterministic progression, scoring, seeded piece sequences, multiplayer room/protocol lifecycle, authoritative match starts, opponent state, results and rematches, release metadata, theme rendering and accessibility, Matrix rain lifecycle and cleanup, responsive controls, and GitHub Pages workflow boundaries.
public/— browser game, multiplayer client, themes, styles, and static assetsroom-*.js— authoritative room codes, protocol validation, registry state, and WebSocket lifecycletests/— deterministic Node test suitedocs/screenshots/— current product screenshots used by this README.github/workflows/pages.yml— pull-request tests and GitHub Pages deploymentserver.js— lightweight Express development serverCHANGELOG.md— released product changesBACKLOG.md— parked roadmap and review follow-ups
StackLogic is currently in the v0.x beta line. Gameplay, UI, and local data formats may change before v1.0. Patch prereleases focus on fixes and refinements; minor prereleases may introduce larger gameplay or presentation changes.
StackLogic is an independent, non-commercial software experiment exploring deterministic browser game logic, real-time multiplayer state, and UI testing. It is not an official Tetris product and is not affiliated with or endorsed by Tetris Holding or The Tetris Company.
Tetris® and associated trademarks and trade dress are owned by Tetris Holding and licensed to The Tetris Company. See the official Tetris terms.





