Local App

Breakout

A modern Breakout for your terminal — pick new perks between levels to make every run different.

Live Linux & macOS View source

Requirements

Install

Install the breakout command with Cargo, either straight from the repository or from a local checkout of the source.

From the repository

cargo install --git https://github.com/mikerayco/Breakout.git

From a local checkout

cargo install --path .

Launch

Once installed, start the game from any shell:

breakout

Useful flags: --level <file> to play one level standalone, --seed <n> for reproducible runs, --fps <30-144>, --scale <n>, --no-audio, --no-bloom, and --caps for a capability report.

Controls

Key Action
← / → or H / L (hold)Move paddle
SpaceLaunch ball / fire laser / release sticky / confirm
EscPause menu / resume
1 / 2 / 3, or arrows + EnterPerk offer pick
MMute / unmute (persisted)
F3Debug overlay (FPS, frame times, latency)
F4Bloom toggle
QQuit

The run

Each run takes you through 8 levels. After every level you're offered a few random perks — like a laser paddle, multiball, or a sticky paddle — and you pick one. Your choices stack up as you go, so every run plays differently.

Clearing the run earns persistent shards you can spend on unlocks, so progress carries over between runs. Under the hood the game renders at a silky 144 fps with particles, bloom, and screenshake, right inside your terminal.

Save data is a single JSON profile written atomically at run end — a corrupt profile is renamed aside and play continues.

Sound

All ten sound effects and the music bed are synthesized at build time and compiled into the binary — no audio assets are downloaded or bundled separately. Mute with M; the choice persists.

Source: github.com/mikerayco/Breakout