whatisgithub

What is terminalpolyominos?

garrett-webb/terminalpolyominos — explained in plain English

Analysis updated 2026-05-18

3C++Audience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

A lightweight, dependency-free block-stacking puzzle game for Unix terminals with wall-kick rotation, six piece randomizers, and local high scores.

Mindmap

mindmap
  root((terminalpolyominos))
    What it does
      Terminal block-stacking game
      Wall-kick rotation
      Ghost piece and hold
      Local high scores
    Tech stack
      C++
      CMake
      POSIX termios
    Use cases
      Marathon mode
      Sprint mode
      Endless mode
    Randomizers
      7-bag
      Torture
      Freak generated shapes

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Play a Tetris-style block-stacking game directly in a terminal with no GUI required.

USE CASE 2

Compete for local high scores across different game modes and piece randomizers.

USE CASE 3

Build the game from source on Linux or macOS and customize keybindings and timing settings.

What is it built with?

C++CMakePOSIX termios

How does it compare?

garrett-webb/terminalpolyominos4brm01/picture-pokerbong-water-water-bong/npu-gpu-cpu
Stars333
LanguageC++C++C++
Setup difficultyeasyeasyhard
Complexity2/51/55/5
Audiencedevelopergeneralresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Download the prebuilt AppImage or binary for your OS and run it directly in a real terminal.

GPL-3.0-or-later: you can use and modify it freely, but any distributed modified version must also be open-sourced under the same license.

So what is it?

This is a falling block puzzle game, in the style of the classic genre often called Tetris-likes, that runs entirely inside a Unix terminal window. It is written in C++ with no third-party libraries at all, relying only on the C++ standard library and the terminal control system built into Unix-like operating systems, which keeps the download tiny, around 1 megabyte. The game includes the features players expect from a modern block-stacking game: a hold slot to save a piece for later, a ghost piece showing where the current piece will land, adjustable drop speeds including instant hard drops, and the classic rotation system with wall kicks that lets pieces rotate near walls or other blocks. It tracks combos and back-to-back bonuses for chaining difficult line clears, and it keeps local high scores separately for each combination of game mode and piece randomizer. One of its more distinctive features is a choice of six different piece randomizers. Besides the standard method of shuffling the seven classic piece shapes, there are modes that generate entirely new, computer-created piece shapes on the fly, giving the game a different feel each time. Players can choose between endless play, a fixed 150-line marathon, or a 40-line speed sprint, and the game supports full color piece display when the terminal supports it, falling back gracefully to fewer colors or no color at all. To play, someone can download a prebuilt release for Linux or macOS and run it directly in a terminal, Windows users are expected to use WSL, since there is no native Windows build planned. All keybindings and timing settings, such as how quickly a held direction repeats, can be changed from an in-game settings menu and are saved to a configuration file. Building it from source requires a C++20 compiler and CMake. The project is released under the GPL-3.0-or-later license.

Copy-paste prompts

Prompt 1
Walk me through downloading and running the terminalpolyominos AppImage on Linux.
Prompt 2
Explain how the six piece randomizers differ, especially the generated funk and freak shapes.
Prompt 3
Show me how to build terminalpolyominos from source with CMake and run its tests.
Prompt 4
Explain how the DAS and ARR movement timing settings affect how holding a direction key feels.

Frequently asked questions

What is terminalpolyominos?

A lightweight, dependency-free block-stacking puzzle game for Unix terminals with wall-kick rotation, six piece randomizers, and local high scores.

What language is terminalpolyominos written in?

Mainly C++. The stack also includes C++, CMake, POSIX termios.

What license does terminalpolyominos use?

GPL-3.0-or-later: you can use and modify it freely, but any distributed modified version must also be open-sourced under the same license.

How hard is terminalpolyominos to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is terminalpolyominos for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.