A minimalistic, high-fidelity, guideline Tetris implementation for the command line
🚀 Quick Start • 📖 Documentation • 🤝 Contributing
clitris is a professional-grade Tetris implementation for the terminal, featuring modern guideline Tetris and competitive gameplay mechanics. I was slightly irritated by the lack of high-quality yet lightweight terminal tetris clones and decided to do something about it. Enjoy!
- 🎯 Guideline Compliant: SRS rotation system, official scoring, standard TETR.IO-like mechanics
- ⚡ Performance Optimized: 60 FPS gameplay with sub-millisecond input response
- 🔧 Highly Configurable: Customizable handling (ARR/DAS/DCD/SDF) and keybind settings
- 🎮 4 Game Modes: Sprint, Blitz, Zen, and Cheese Race
- 🎨 Clean and Modern Terminal UI: Minimalist guideline tetris design with ghost piece, hold/next piece windows, and live stats display
# Install
brew install FinityFly/tap/clitris
# Upgrade
brew upgrade clitriscurl -fsSL https://raw.githubusercontent.com/FinityFly/clitris/main/install.sh | bashclitris # or ./clitris if built locallyAll controls are fully customizable in the in-game settings menu. The default keybinds are:
| Action | Default Keys |
|---|---|
| Move Left | ← j |
| Move Right | → l |
| Soft Drop | ↓ k |
| Hard Drop | Space |
| Hold | ↑ i |
| Rotate CW | x |
| Rotate CCW | z |
| 180° Rotate | c |
| Pause | p |
| Quit | q Esc |
| Restart | r \ |
You can remap any action to any key (or multiple keys) in the settings menu.
All handling and keybind settings are saved automatically in a binary file (settings.bin) in your user config directory:
- macOS:
~/Library/Application Support/clitris/settings.bin - Linux:
~/.config/clitris/settings.bin - Windows:
%APPDATA%\clitris\settings.bin
| Setting | Description | Default |
|---|---|---|
| ARR | Auto Repeat Rate (ms) | 10 |
| DAS | Delayed Auto Shift (ms) | 50 |
| DCD | DAS Cut Delay (ms) | 33 |
| SDF | Soft Drop Factor (ms) | 1 |
Access the settings via [5] Settings in the main menu to change keybinds or handling.
- C++17 compiler
- ncurses library
- make
git clone https://github.com/FinityFly/clitris.git
cd clitris && make
sudo mv clitris /usr/local/bin/clitris # optionalbrew uninstall FinityFly/tap/clitrissudo rm /usr/local/bin/clitrisContributions welcome! Please check Issues or submit a PR.
MIT License - see LICENSE for details.