Skip to content
Midnight Copper & Crimson
← Return to exhibits

Exhibit 01 Terminal narrative · computing history

RESIDUES

The puzzle stays precise. The world around it does not.

A Rust terminal game that reconstructs six ideas from computing history inside a fictionalized portrait of Alan Turing’s failing mind.

Created by
İclal Doğan
Format
Runs locally · terminal
Built with
Rust · ratatui · crossterm

External links open in a new tab. Development stories may contain spoilers.

RESIDUES: Shannon’s information-channel puzzle, with a code tree and corrupted narrative log in an amber terminal.
Act V · Shannon. Prefix-free coding meets a narrative log losing its coherence.Real project capture · İclal Doğan

I The question

Can the act of operating a machine make computing history felt rather than merely explained—and hold technical clarity beside human tragedy?

Inside the experience

Operate the idea

Six acts put real computational mechanisms under your hands: punched cards, difference engines, assembly, Boolean gates, information channels and a Turing machine. These are playable models, not historical trivia questions.

Bright puzzle, dark undertow

A three-panel terminal holds the narrative log, the working machine and a candlelit dossier. The candle diminishes, text decays and the heartbeat changes while the puzzle still demands an exact answer.

Memory has a rhythm

Keyboard input drives the machines. Prerecorded voices, binaural whispers, rain and a heartbeat metronome give the amber interface a physical sense of time. Headphones add detail; audio is not required to play.

Six machines, six ideas

I · Jacquard

Punch an 8×8 bit matrix and discover a reusable, looping deck of cards.

II · Babbage

Build a method-of-differences sequence and stagger delay buffers to propagate carries.

III · Lovelace

Program a three-register machine with seven instructions, then use loops to calculate a checksum.

IV · Boole

Steer AND, OR, XOR and NOT gates toward a checksum, even when the displayed output becomes unreliable.

V · Shannon

Fit prefix-free codes into a limited channel, then protect against bit flips with Hamming(7,4) parity.

VI · Turing

Operate a tape and transition table to stabilize residues from the earlier machines.

How it was built

Rust owns the simulation and terminal event loop. ratatui provides layout and rendering; crossterm handles terminal input. A truecolor half-block image renderer brings portraits into the same character-based surface.

Audio is handled by spawning external OS players rather than an embedded audio crate. The engine probes mpv, ffplay and mpg123, and remains playable without them. ElevenLabs supplied prerecorded voices and whispers; this game does not make live AI calls during play.

Engineering decisions

Separate truth from its display

The Boole act can corrupt the visible output while preserving the underlying gate result. The narrative’s uncertainty does not turn the computational model into arbitrary noise.

Use the terminal as material

Portraits, candlelight and dossiers share a truecolor character surface. The constrained medium is part of the art direction, rather than a temporary substitute for a graphics window.

Let audio fail quietly

External-player discovery keeps the dependency surface small. Missing audio support removes sound rather than blocking the puzzles.

Project notes

Before you enter

This is a local keyboard-driven terminal game, not a browser demo. The repository provides build and launch instructions. Run from the repository root so audio and image paths resolve.

A truecolor terminal is recommended. Linux is the primary tested platform; the README describes macOS as expected to work and Windows as untested / unsupported. These platform claims come from the author, not new cross-platform testing here.

Watch the playthrough
The external playthrough includes spoilers.

Another exhibitECHOLALIA