demo 4 of 17

🔥fire

The classic demoscene fire: a heat field that cools in chunky random quanta as it rises, carving the flames into ragged tongues. Click to lob a fireball, space to flare the burner, a to snuff it.

Recordings

Both captures below are real iTerm2 sessions running the demo — the same binary renders at pixel resolution where the terminal speaks the kitty graphics protocol, and as ASCII cells everywhere else.

kitty graphics — fire-gfx

The Doom fire algorithm on 2×2 pixel blocks: every cell scatters its heat to a randomly jittered spot one row up — the collisions and holes are what keep the tongues coherent. Alpha follows the heat, so the flames burn straight over your terminal background.

fire in kitty graphics mode
fire — kitty pixel mode
ASCII cells — fire

The same heat field at half-cell resolution, rendered as an ember-to-blaze glyph ramp (· : ~ * # @) through a four-stop palette — c swaps fire for blue gas, toxic green, or violet plasma.

fire in ASCII cell mode
fire — ASCII cell mode

Controls

KeyAction
spaceflare the burner
mouse clickfireball at the pointer
asnuff / relight
ccycle colour scheme
+ / -flame height
q / Escquit

Tuning env vars use the FIRE_* prefix — e.g. FIRE_MAXDIM=1024 for sharper frames, FIRE_CELLS=1 to force cell rendering even on kitty terminals. See the overview for the full tuning table.