Six modules, three networks. Each one makes a claim about whether 1983 could have built it, and the claims are meant to be argued with.
Three networks. pstn is the public phone network, where anything with a number can be dialled. norad is a leased line inside the building, with no number to dial. bus is local to one machine. W.O.P.R. answers on the first two: the computer that picks up a call from a bedroom in Seattle is on NORAD's internal net. That is the film's premise.
THE MODULES
| # | Module | Built with | Possible in 1983? | Confidence |
|---|---|---|---|---|
| 1 | WOPR Core ("the Mainframe") | Fortran 90 (gfortran) | Yes (engine); learning is dramatized | High |
| 2 | Comms Simulation Layer | TypeScript/Node middleware over WebSocket | Yes | High |
| 3 | API / Emulation Bridge | Python + FastAPI | Yes (logically); process model modern | Medium |
| 4 | NORAD Databanks | Neon (plain Postgres) | Yes (function); tech choice debatable | High |
| 5 | Joshua | selectable: Anthropic Claude API / Common Lisp F.D.P. / scripted | No — modern substitution | High |
| 6 | Surfaces | Next.js (React) + shared CRT component lib | Yes (terminals); big board specialized | High / Medium |
WOPR CORE (THE GAME/SIMULATION ENGINE). A game-theory engine for board games plus a scripted "global thermonuclear war" simulation was comfortably implementable in Fortran on early-1980s hardware; the fictional leap is W.O.P.R.'s open-ended learning, not the game engine.
COMMUNICATIONS BETWEEN SYSTEMS. A home user connecting to a remote mainframe over an acoustic-coupler modem at 300 baud, and institutional sites talking over faster leased lines, is not just plausible but exactly how it was done.
THE EXECUTION/BRIDGE LAYER. The logical contract of the bridge (receive input → load state → compute → store state → return output) matches period transactional/batch processing; only the mechanism is modern.
DATA STORAGE (THE "NORAD DATABANKS"). Persisting sessions, game states, and historical logs was routine; relational databases existed but a defense system of this era would more likely use indexed/hierarchical storage.
JOSHUA, THE CONVERSATIONAL PERSONA. This is the one module that was not achievable in 1983. Natural, open-domain conversation with a coherent persona is a genuinely modern capability.
THE SURFACES (TERMINALS & BIG BOARD). Text terminals at the home and operator level were ubiquitous; the NORAD "big board" large-format graphical display was real but expensive, specialized hardware.
Lived through this era and think a verdict is wrong? Contest it; corrections with a period source are credited.
JOSHUA
Joshua has three interchangeable engines: a Claude API substitution, a 1983-honest keyword engine, and the default, a Common Lisp dialogue engine. Its layers are labelled honestly:
| Layer | Status in 1983 |
|---|---|
| Tokenizing + pronoun reflection | Period — ELIZA (Weizenbaum 1966) |
| Affect variables shaping replies | Period — PARRY (Colby 1972, Lisp on a PDP-10) |
| Naive-Bayes dialogue-act classifier | Anachronism — 1700s math, 1990s NLP practice |
| Stop-word reject option on the classifier | Period — Chow's reject option (1970) and the SMART system's stop list (1971) both predate the film |
| Data-driven topic/domain planner | Anachronism — rule-based expert-system practice was period; mixing it with statistical routing is the Falken fiction |
| Content guards over the classifier's verdict | Period — the stop list again, used the other way round |
| TF-IDF cosine retrieval over a databank | Anachronism — Salton's vector-space model (1975) existed for document search; retrieval-augmented dialogue is a 2020s idea |
| Markov bigram generation | Anachronism — Shannon (1948) math, 1990s statistical NLP |
| Variant selection with a memory of what was said | Period — a list filter over the HISTORY block, no new state |
The math is all additions, multiplications, and logs over a few hundred numbers — a VAX-11/780 would not have noticed. What 1983 lacked was the concept of statistical dialogue and the training data; that gap is exactly the Falken fiction, and exactly why the feasibility verdict for open conversation (NO) stands unchanged.
ONE MOVE, ONE PROCESS
The Fortran core does not stay running. For every move, the bridge loads the game's state from the database, runs the core once with the state and the move, and saves what comes back. The bridge holds nothing in memory, and the same state and move always give the same answer, which is what lets the games be tested byte for byte. A 1980s mainframe would have kept one program resident instead; the load, compute, store shape is the same.
CREDITS & SOURCES
No film assets are hosted here: no stills, no audio, no transcript. The machine reproduces only a short, fixed list of the film's own lines, the ones a scene cannot work without.
- zompiexx/wargames by Andy Glenn: the Global Thermonuclear War map's coastline art and region captions are reproduced from his W.O.P.R. map render, under that project's grant.
- abs0/wargames: a BSD-licensed replay of the film's computer dialogue, used for the dialogue beats and the war-scenario list.
- built1n/wargames: a frame-accurate transcript, used to verify wording.
- nick-black.com and filmjournals.net: cross-checks for the finale's scenario list, with the early fan transcriptions at ww31987 and nelc.
- The HP 9845 project, fast-rewind's making-of and IMDb trivia: how the Big Board was actually made.
Credits for the programs themselves are in the pack's CREDITS.md ↗.