Skip to content

finityfly/clitris

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮 clitris

A minimalistic, high-fidelity, guideline Tetris implementation for the command line

GitHub release Build Status License Platform

Downloads Stars Issues

🚀 Quick Start📖 Documentation🤝 Contributing


clitris sprint gameplay clitris cheese gameplay

📋 Table of Contents

🔍 About

clitris gameplay screenshot

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!

✨ Features

  • 🎯 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

🚀 Installation

🍺 Homebrew (Recommended)

# Install
brew install FinityFly/tap/clitris

# Upgrade
brew upgrade clitris

🐧 Linux/macOS

curl -fsSL https://raw.githubusercontent.com/FinityFly/clitris/main/install.sh | bash

🎯 Quick Start

clitris  # or ./clitris if built locally

🎮 Controls

All 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.

⚙️ Configuration

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.

🏗️ Building

Prerequisites

  • C++17 compiler
  • ncurses library
  • make

Build

git clone https://github.com/FinityFly/clitris.git
cd clitris && make
sudo mv clitris /usr/local/bin/clitris  # optional

🧹 Uninstall

🍺 Homebrew

brew uninstall FinityFly/tap/clitris

🐧 Linux/macOS

sudo rm /usr/local/bin/clitris

🤝 Contributing

Contributions welcome! Please check Issues or submit a PR.

📄 License

MIT License - see LICENSE for details.

About

A minimalistic, high-fidelity, guideline Tetris implementation for the command line

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages