Add tetris example

This commit is contained in:
Chris Proctor
2026-01-07 09:46:26 -05:00
parent 298a5fc58c
commit d6adfef5a1
8 changed files with 280 additions and 0 deletions

27
tetris/proposal.md Normal file
View File

@@ -0,0 +1,27 @@
## Game name
Tessera
## Vision
Tessera takes classic Tetris and adds a light puzzle layer: arranged clears that match colors grant small bonuses, rewarding planning without changing the tight, fast arcade feel. It's worth making because it blends a familiar, addictive core with a gentle twist that increases depth for skilled players while staying approachable.
## What the game will look like
A clean, modern pixel/flat aesthetic with bright, readable tetromino colors on a dark background; the HUD shows next pieces, hold slot, score, level, and subtle particle effects on clears.
## Player interaction
Players use keyboard controls to move, rotate, soft/hard drop, and hold pieces; menus use simple mouse/keyboard navigation. The game emphasizes quick decision-making and responsive controls with a visible ghost piece to aid placement.
## Core mechanics
1. Falling tetromino placement and rotation — move and rotate pieces to fit them into the well.
2. Line clearing and gravity — completed rows clear and the above rows shift down, possibly chaining combos.
3. Hold and next-queue — store one piece and preview upcoming pieces to plan ahead.
4. Color-match bonus (optional) — clearing lines where most blocks share a color grants small score/energy bonuses to encourage pattern play.
## Milestone (first target)
Implement the core game engine: represent the board and pieces, support spawning, movement, rotation, collision detection, locking, and single-line clearing so you can run a minimal playable loop and unit tests for the engine.