Your terminal has been all work and no play. Let's fix that.
Arcade-feel games that live where you do — one command, zero browser tabs.
Rust + Ratatui · 60 Hz fixed-timestep physics · optional arcade SFX
brew install mtg → play
⚡ Play in 30 seconds
brew tap modern-terminal-games/mtg
brew trust modern-terminal-games/mtg # Homebrew 6+ third-party taps
brew install mtg
mtgRustacean? Even faster:
cargo install modern-terminal-games && mtgThat's it. A menu appears. Pick a game. Your build can wait.
🎮 The lineup
Small on purpose. Every game here is built for the terminal first — not a sad port of something that belongs elsewhere.
🧱 Breaker — neon brick-clearing, pure focus
Angle-aware paddle physics. Multi-hit blocks. Levels that get meaner the longer you survive.
← → or A D move · Space launch · p pause · m mute · r restart · q quit
🏓 Paddle Battle — arena duel vs an AI that fights fair
Two paddles. One ball. First to seven. Proper bounce angles, no cheap shots.
W S or ↑ ↓ move · Space serve · p pause · m mute · r restart · q quit
🐍 Snek — classic snake, pure muscle memory
Eat apples. Grow longer. Don't hit the walls — or yourself. Speed ramps up as you feast.
WASD / arrows turn · p pause · m mute · r restart · q quit
👾 Alien Raid — sky defense, pure focus
A classic invader swarm. Strafe, shoot, hide behind bunkers. They get faster as the ranks thin — and they shoot back.
A D or ← → move · Space fire · p pause · m mute · r restart · q quit
More coming. The catalog stays curated — quality over quantity. Got a game that deserves to exist? Make the case.
🤔 Why does this exist?
Because your compile takes four minutes and doomscrolling is a trap.
- One command, everything. Install once, launch any game with
mtg. - Actually polished. Braille canvas rendering, fixed-timestep physics, intentional color, synthesized SFX. This isn't ASCII snake from 1997.
- Goes where you go. SSH session? tmux pane? Remote box in another timezone? Works.
- Respects your machine. No Electron. No browser. No 400MB of Chromium to play Pong. Pure Rust TUIs.
- Built to grow. Shared
mtg-coreengine means new games ship fast and feel consistent.
📦 Install options
Homebrew (recommended)
brew tap modern-terminal-games/mtg brew trust modern-terminal-games/mtg brew install mtg
Upgrade later:
brew update && brew upgrade mtgCargo
cargo install modern-terminal-games
Want just one game as a standalone binary?
cargo install mtg-breaker
cargo install mtg-paddle-battle
cargo install mtg-snek
cargo install mtg-alien-raid # Alien RaidFrom source
git clone https://github.com/modern-terminal-games/mtg.git
cd mtg
cargo install --path crates/mtg
mtgRequirements: a modern terminal with color support. Audio is a bonus, not a dependency — no speakers, no problem.
🕹️ Usage
mtg # interactive menu mtg list # list games mtg breaker # jump straight in mtg paddle-battle # or here mtg snek # or here mtg alien-raid # or here mtg help
🧩 Under the hood
Project layout & crates
mtg/
├── crates/
│ ├── mtg/ # Launcher binary (`mtg`)
│ ├── mtg-core/ # Shared loop, input, audio, theme, UI
│ ├── breaker/ # Breaker
│ ├── paddle-battle/ # Paddle Battle
│ ├── snek/ # Snek
│ └── alien-raid/ # Alien Raid
├── docs/assets/
├── LICENSE
└── README.md
| Crate | Role |
|---|---|
modern-terminal-games |
Launcher (mtg) |
mtg-core |
Game loop, input, audio, UI primitives |
mtg-breaker |
Breaker |
mtg-paddle-battle |
Paddle Battle |
mtg-snek |
Snek |
mtg-alien-raid |
Alien Raid |
🗺️ Roadmap
- Unified
mtglauncher - Breaker & Paddle Battle
- Shared
mtg-coreengine - Snek (classic snake + arcade SFX)
- Alien Raid (Space Invaders-style defense)
- More curated games — puzzles, roguelite sketches
- Local 2-player where it fits
- High-score persistence (bragging rights, saved)
- Prebuilt Homebrew bottles for instant installs
🛠️ Add your game
The bar is one sentence: it should feel intentional in a terminal.
- Fork, then add a crate under
crates/exposingpub fn run() -> anyhow::Result<()> - Lean on
mtg-corefor the loop, input, audio, and UI chrome - Register it in
crates/mtg/src/main.rs - Open a PR — tell us the controls and the feel you're going for
cargo run -p modern-terminal-games -- <your-game>
Enjoying the arcade? A ⭐ keeps the neon lights on.
Made for people who live in the terminal — and still want to play something beautiful.



