Skip to content

Gorillas (QBASIC, 1990)

Gorillas is the legendary two-player physics-projectile game that shipped as source code in MS-DOS 5’s QBASIC distribution — two gorillas atop skyline buildings hurling explosive bananas at each other, each shot parameterized by angle and velocity, gravity and wind constants tunable at game start. The QBASIC editor, GORILLA.BAS source file, and the running game itself were all part of the same out-of-box experience for an entire generation of PC users. The aesthetic is unapologetic chunky DOS-game: low-res VGA, blocky sprite gorillas, exploding-banana puff animation, scrolling text status row at the bottom.

What makes Gorillas a useful inspiration reference for KN-86 is less the game itself than what it was: a complete piece of software that shipped alongside its own source code, in a learnable language, in a learnable IDE, on the same machine that ran it.

  • The QBASIC IDE + source-code-shipped-with-the-app model is the strongest takeaway. Every kid who played Gorillas on their family PC could press a key and see the source — a learnable BASIC dialect they could tweak (change the gravity constant, change the building colors, change the explosion radius). KN-86 has a directly analogous opportunity: a sample / introductory cart whose KEC Lisp source is visible and editable from the device’s REPL (per ADR-0016 nEmacs). The KEC Lisp commitment (ADR-0001) makes this possible; Gorillas is the precedent for why it matters. The most successful retro-computing on-ramp in history was “read the source, change a constant, see what happened.”
  • Chunky DOS-game aesthetic as a design lineage. Gorillas, ZZT, Commander Keen, Hugo’s House of Horrors, the entire late-DOS-era game canon shared a visual grammar — low-res, high-contrast, single-color silhouettes, deliberate pixelation. KN-86’s Press Start 2P + CP437 typography (per ADR-0014) is squarely in this lineage. Park as a marketing-tone reference alongside the Cyberdeck Cafe “Surviving the Sprawl” lifestyle voice and the Casio organizer retrofit.
  • Scrolling text status row at the bottom of the play field. Gorillas reserves the bottom rows for game state (turn indicator, angle and velocity prompts, score). KN-86 already has this contractually — Row 24 is the firmware action bar, and the analogous in-cart pattern would dedicate one or two of Rows 1–23 to the cart’s own status output. Worth noting that this is genre-canonical.
  • Two-player local hot-seat is a real-world cart-design pattern. Gorillas is one of the canonical examples of “two people, one machine, take turns at the keyboard.” Park as a possible KN-86 cart-design pattern — e.g., a dispatch cart where two operators share the deck, taking turns at the TERM key. Not v0.1, just on the radar.

Gorillas QBASIC — emulated screenshot

Source: Internet Archive item msdos_Gorillas_1991, served at archive.org/serve/.../Gorillas_1991_screenshot.png. Shows the canonical Gorillas play field — building skyline silhouette, two gorillas atop their buildings, the angle/velocity prompt at the bottom.

  • The image is from the Archive’s own item tile, not a fresh run. Per the prompt, we do not download or run the archived software.
  • The “source code visible from the application” idea is the actionable lesson. Worth a small spec entry: a sample cart that ships with --show-source or a TERM-key dispatch that opens the cart’s .lsp source in the nEmacs REPL. Cheap to implement, big payoff for the long-tail of curious operators.
  • Cross-link zork.md — the other early-1980s DOS-era inspiration anchor. Different genre, same era, same “what shipped on the box you owned” lineage. KN-86 cart authoring is the modern descendant.
  • Cross-link civilization-1991.md — same era, same VGA aesthetic, different IA density. Both are useful as Batch-3 retro-software touchstones.