shredbx logo
shredbx shredbx shredbx shredbx Personal
  • Home
  • Lab
  • Portfolio
  • Experience
  • Services
  • Profile
  • Contact
AClaude
  • Home
  • Lab
  • Portfolio
  • Experience
  • Services
  • Profile
  • Contact
Andrei Solovev
ARCADE
Search games... ⌘K
  • Arcade
    • 2048
    • Minesweeper
    • Pac-Man
    • Snake
    • Tetris
Games/ Tetris
Arcade · Prototype

Tetris

Stack blocks. Clear lines. Don't top out

Prototype
10 × 20 Grid
beginner Difficulty
PixiJS Engine
Tetris

TETRIS

// FALLING BLOCK ASSEMBLY PROTOCOL

> GRID: 10 × 20 MATRIX

> ← → MOVE / ↑ ROTATE / ↓ SOFT DROP

> [SPACE]: HARD DROP

> CLEAR 4 LINES: TETRIS BONUS

> WARNING: STACK OVERFLOW IS FATAL

PRESS [ENTER] TO INITIATE

Esc to exit · Enter to start

How to Play

Stack falling tetrominoes. Clear a line by filling an entire row. Four lines at once = Tetris bonus. Don't let the stack reach the top.

Controls

// KEYBOARD
←→
Move
↑
Rotate (SRS wall-kick)
↓
Soft drop
Space
Hard drop
Enter
Start / Restart
Esc
Pause / Exit fullscreen
// MOUSE
Click left / right
Move piece
Click above
Rotate piece
Specs
Difficulty
beginner
Grid
10 × 20
Engine
PixiJS
Topics
gamepuzzletetrisblockspixijs
Languages
  • TypeScript 70%
  • Svelte 18%
  • CSS 12%

About

Why I built this

Tetris is pure mechanics — no story, no enemies, just you and the falling blocks. I built it because it's the ultimate test of whether your game engine can handle real-time input with precision. Hard drops need to feel instant, rotation needs wall kicks, and the ghost piece has to be pixel-accurate. The sidebar showing the next piece was a late addition that made the game 10x more playable.

Highlights

7 Tetrominoes All standard pieces with SRS wall-kick rotation
Hard Drop Space bar instant-drops with ghost piece preview
Line Clear Clear 1–4 lines — Tetris bonus for clearing 4
Speed Ramp Gravity increases with level — soft drop always available
Next Piece 2-column sidebar showing the upcoming tetromino

Tech Stack

PixiJS
game-preset-arcade
engine-renderer
Custom rotation

Dev Notes

>

The playfield is 10 columns wide but the renderer draws 12 — the extra 2 columns are the next-piece sidebar, rendered as part of the same grid.

>

Wall kicks check 5 positions per rotation attempt using the Super Rotation System tables. Without them, pieces near walls feel broken.

>

Gravity is tick-rate based — higher levels don't make pieces fall faster per frame, they reduce the number of frames between drops.

shredbx logo shredbx shredbx shredbx shredbx Andrei Solovev

Solution Architect & Lead Software Engineer

ExperiencePortfolioResearch & ExperimentsEducationCertificationSkills
GitHub ↗LinkedIn ↗Email ↗
AVAILABLE FOR NEW PROJECTS
// MY LATEST BEATS
Hobby & Interests

Lab

  • The Lab
  • Framework
  • Components
  • Packages
  • Games
  • Process (SDLC)
  • Knowledge
  • Blog

Andrei

  • Portfolio
  • Experience
  • Services
  • Profile
  • Contact
  • Lifestyle

Team

  • Team
  • Andrei
  • Claude

Legal

  • Privacy
  • Terms
  • Cookies
© 2026 shredbx.com. All rights reserved. — Andrei Solovev |