W.O.P.R. // REAL-WOPR PROJECT

Real W.O.P.R. is a technical reconstruction of the W.O.P.R., built to test one falsifiable claim:

A system like W.O.P.R. — its networked terminals, its game engine, its persona, its NORAD integration — could have been built with the technology available in the early 1980s.

The project tests that claim module by module, and documents where it holds and where it doesn't.

Every design choice gets the same two checks:

  1. Period authenticity — could this have been done on early-1980s hardware, software, and phone lines.
  2. Modern accessibility — can someone in a browser today try it without owning an IMSAI 8080 and an acoustic coupler.

When the two pull in different directions, we keep both: modern parts underneath, with the period constraints modeled explicitly (see comms-protocol.md) so the authentic behavior stays observable, measurable, and toggleable.

How the project is organized

The project is set up so that people who worked on systems of this era can correct it:

Non-goals


RUN IT YOURSELF

The machine is a public repository. Clone it and it comes up on your own computer: the period programs, the networks between them, and a terminal to dial in with. Nothing is hosted, and there is no account to make.

git clone https://github.com/DanielLandi/real-wopr-programs
cd real-wopr-programs
make build     # every program, in its own language
make up        # the three networks, one process per machine

Then, from a second terminal, dial one of them:

node emulator/cli/src/main.ts dial "(206) 555-0142" --pack .

That number belongs to the Seattle school district, and it answers in BASIC. Building the programs needs the compilers of their languages — gfortran, sbcl, gnucobol, cc65, bwbasic — plus Node and Python for the harness that hosts them. The programs are the point; the harness is openly modern and says so in its own README.

Licensed GPL-3.0-or-later, so a fork stays as readable as the original. Read the source ↗

OR JUST DIAL IN

An exchange is hosted online, and the terminal below reaches it from a browser. It is the smaller version of this — enough to watch the machine answer without installing anything first.

▶ ENTER THE WAR ROOMDIRECT DIALHOW IT WORKS

THE PHONE BOOK

Every number is a machine someone runs, holding a slot in a world. The hub is the switchboard: it lists a number for as long as that machine's carrier is up, and the slot opens again when the line drops. An [OPEN] slot is an invitation — the host page generates the setup for claiming one. Below the worlds are the numbers in the persistent registry that nothing is answering on right now: still in the book, still yours, just not picking up.

SLOTEXCHANGEJOSHUA OPERATOR
DIALING TRUNK…
HOST AN EXCHANGE