Skip to content

Instantly share code, notes, and snippets.

@ben-vargas
Created July 29, 2025 10:31
Show Gist options
  • Select an option

  • Save ben-vargas/6ec819b7e46f49669e0a38e88a5e136c to your computer and use it in GitHub Desktop.

Select an option

Save ben-vargas/6ec819b7e46f49669e0a38e88a5e136c to your computer and use it in GitHub Desktop.
# Tetris Game - Product Requirements Document
## Overview
A classic Tetris game implementation that provides an engaging puzzle experience where players arrange falling blocks to create and clear complete horizontal lines.
## Core Features
### 1. Game Mechanics
- **Falling Tetrominoes**: 7 standard Tetris pieces (I, O, T, S, Z, J, L) that fall from top to bottom
- **Movement Controls**:
- Left/Right arrow keys to move pieces horizontally
- Down arrow to accelerate fall
- Up arrow or Space to rotate pieces clockwise
- Hard drop functionality (instant drop to bottom)
- **Line Clearing**: Complete horizontal lines disappear and award points
- **Speed Progression**: Game speed increases as player advances through levels
### 2. Scoring System
- **Points Awarded**:
- Single line clear: 100 points
- Double line clear: 300 points
- Triple line clear: 500 points
- Tetris (4 lines): 800 points
- Bonus points for hard drops
- **Level Progression**: Every 10 lines cleared advances to next level
- **High Score Tracking**: Persistent storage of top 10 scores
### 3. Game States
- **Main Menu**: Start game, view high scores, settings
- **Active Play**: The main game loop
- **Pause State**: Ability to pause mid-game
- **Game Over**: Display final score and option to restart
### 4. Visual Design
- **Game Board**: 10x20 grid (standard Tetris dimensions)
- **Preview Window**: Shows next piece
- **Score Display**: Current score, level, and lines cleared
- **Clean, Minimalist UI**: Focus on gameplay visibility
### 5. Technical Requirements
- **Performance**: Smooth 60 FPS gameplay
- **Responsive Controls**: Instant feedback to player input
- **Browser Compatibility**: Works on modern browsers (Chrome, Firefox, Safari, Edge)
- **Mobile Support**: Touch controls for mobile devices
## Nice-to-Have Features
- Ghost piece (preview of where current piece will land)
- Hold piece functionality
- Multiple difficulty modes
- Sound effects and background music
- Customizable controls
- Statistics tracking (pieces per minute, etc.)
## Success Metrics
- Average session duration > 5 minutes
- Player retention (return players)
- High score achievement rate
- Zero critical bugs in core gameplay
## Timeline
- MVP (Core mechanics + scoring): 2 weeks
- Polish (UI, high scores, settings): 1 week
- Nice-to-have features: 1-2 weeks additional
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment