This is a browser-based Tetris game built with React, using Redux and Immutable.js to manage all game state in a single immutable store. The application renders the game board, next-block preview, and score display as React components, with state transitions that are predictable and support time-travel debugging through the Redux DevTools Extension.
The game distinguishes itself through several integrated capabilities. It automatically adapts between keyboard and touch controls based on the user's input device, with configurable repeat rates for responsive gameplay. A persistence layer serialises the full Redux state tree to localStorage, restoring progress on page reload for session continuity. The game also pauses its loop when the browser tab loses focus and resumes on regaining visibility, and plays precise audio cues using the Web Audio API from a single MP3 file.
Additional capabilities include a next-block preview, score and level tracking, and the ability to toggle sound and pause at any time. The interface language can be switched by reading a URL query parameter, with translations defined in a bundled JSON file.