bastet
Play Tetris in the terminal
TLDR
Start a Tetris game
Navigate the piece horizontally
Rotate the piece clockwise or counterclockwise
Soft drop the piece
Hard drop the piece
Pause the game
Quit the game
SYNOPSIS
bastet [-h|--help] [-v|--version] [-l|--level N] [-s|--practice] [-r|--replay] [-d|--droptime MS] [-a|--autopause]
PARAMETERS
-h, --help
Display help and exit
-v, --version
Output version information and exit
-l, --level N
Start at level N (0-20, default 0)
-s, --practice
Disable adversarial AI for practice mode
-r, --replay
Replay the last recorded game
-d, --droptime MS
Milliseconds per row drop per level (default 1000)
-a, --autopause
Pause when terminal loses focus
DESCRIPTION
Bastet is a brutally challenging Tetris implementation for Linux terminals, powered by ncurses. Dubbed 'Bastard Tetris' after the Egyptian goddess Bastet, it features an AI that adversarially selects the worst possible tetromino for the player, ramping up difficulty dynamically.
Gameplay starts at level 0, where pieces drop every 1000ms, speeding up per level. Clear lines to score points and advance; incomplete lines shift down. The AI analyzes the board to send problematic pieces like S/Z skew or long I straight down narrow wells.
Supports practice mode to disable AI meanness, custom start levels (0-20), drop speed tweaks, game replay, and auto-pause on focus loss. High scores persist in ~/.bastet.scores. Ideal for quick sessions or masochistic skill-building, but expect short games on higher levels.
Requires a color-supporting terminal of at least 20x12 chars. Controls are intuitive keyboard inputs.
CAVEATS
Needs 256-color terminal for best visuals; small windows (<20x12) fail. AI unbeatable long-term; scores saved only if writable ~/.bastet.scores.
CONTROLS
←/→: move, ↑: rotate CW, ↓: soft drop, Space: hard drop, p/q: pause/quit, r: restart.
SCORING
Line clears: 40/100/300/1200 points (1-4 lines) × level. Bonus for back-to-back T-spins/S/Z.
HISTORY
Created in 2007 by Julien Letessier as a C++/ncurses project. Gained cult status for AI twist; packaged in Debian/Ubuntu/Fedora repos since ~2010. Minor updates for portability.
SEE ALSO
ncurses(3)


