Demoscene demoscene

Classic Amiga demoscene effects rendered in the terminal using half-block ANSI characters
Pixelbadger Toolkit — pbtk demoscene← all topics

Overview

The demoscene topic renders classic Amiga demoscene effects directly in your terminal. It uses the Unicode upper half block character (U+2580) with 24-bit ANSI colour codes to double the effective pixel density: the foreground colour paints the top half of each character cell and the background colour paints the bottom half, giving two pixel rows per terminal row.

Both effects animate in real time, running for a configurable number of frames at ~20 fps before returning to the shell. Press Ctrl+C at any time to stop early.

A terminal that supports 24-bit (true colour) ANSI codes is required for full colour fidelity. Most modern terminals (iTerm2, Windows Terminal, GNOME Terminal, Alacritty) support true colour.

kefrens

Renders a Kefrens-style effect — multiple vertical colour bars that scroll across the screen following independent sine wave paths. Each bar has a distinct hue and a soft brightness falloff from its centre, giving the classic glowing-bars look of the Amiga demo era.

$ pbtk demoscene kefrens
$ pbtk demoscene kefrens --frames 400

The effect fills the full terminal window and runs until the requested frame count is reached. Eight bars covering the rainbow spectrum are rendered simultaneously, each moving at a different phase so they weave across and through one another.

OptionRequiredDefaultDescription
--framesNo200Number of animation frames to render before exiting

boing

Renders the classic Amiga Boing Ball — a red-and-white checkered sphere bouncing around a grey grid background. The checkerboard pattern rotates as the ball moves, giving the impression of spin. This effect was famously used to demonstrate the graphical capabilities of the original Amiga 1000 in 1984.

$ pbtk demoscene boing
$ pbtk demoscene boing --frames 400

The ball bounces off all four walls and its checkerboard pattern rotates continuously. The grey grid background echoes the original demo's distinctive aesthetic.

OptionRequiredDefaultDescription
--framesNo200Number of animation frames to render before exiting

Command Reference

CommandDescription
pbtk demoscene kefrens [--frames N] Animate Kefrens-style sine wave colour bars across the terminal
pbtk demoscene boing [--frames N] Animate the classic Amiga Boing Ball bouncing on a grey grid