Notes & Descriptions
Spacewar! is a computer game for two human players. Each player controls one of the two spaceships, the “Needle” and the “Wedge”, in an epic battle in outer space. A central star exerts gravity on the ships, as closely modeled by the game by a simulation of Newtonian physics. Photon torpedoes of limited supply (not affected by gravity themselves for the limited resources of the PDP-1) may be fired in order to destroy the opponent. A game ends when any of the ships explodes in pixel dust or when both of the vessels manage to run out of torpedoes.
Hyperspace offers a means of last resort to any player in trouble, but of an unreliable sort: The "Mark I hyperfield generators" are likely to explode on re-entry, with an increasing probability with each successive jump. (A ship will explode with certainty on the eighth attempt, if you were ever to get that far.)
The scene is drawn against the backdrop of a realistically depicted moving starfield, Peter Samson’s Expensive Planetarium, which renders a 45° segement of the "stars of the heavens" (stars of the first four magnitudes between 22½° North and 22½° South as listed in the American Ephemeris and Nautical Almanac) in a gradually shifting motion.
The game features a scoring facility including managed matchplay with tie-resolving (up to 31 games, to be set up on the switches of the operator’s console). The machine would halt at the end of a game or a match and display the score on the control console in binary using the console lights for the accumulator (player 1) and the I/O register (player 2). Some of the later versions featured a graphical on-screen display for even increased delights.
(While matchplay is not supported by the emulation, the score is extracted and displayed in the bar below the emulated scope. For versions with a graphical on-screen score display, activate the “Scores” button at the bottom left of the display to have scores displayed after each game. Pressing “B” on the keyboard toggles this visual score board on/off, as well.)
A variety of settings can be accessed by the six “sense switches” at the operator's console:
- the basic physics of turning a ship: inertial rotation by angular momentum for a realistic simulation of rocket-propelled navigation in space, or the more convenient Bergenholm rotation, simulating the action of gyros
- single shot or continuous fire (salvoes)
- the presence of the central star (on or off)
- the extent of its gravity (normal or low gravity)
- controls for the background-starfield
- finally, whether contact with the central star destroys a spaceship or warps it to the "antipode" at the corners of the screen.
In the emulation, these options can be set by the options menu in the top right corner or can be toggled by pressing SHIFT and numbers 1 to 6 on the keyboard.
How to Play
Players are adviced to not fight gravity (this is a rather fruitless attempt), but rather use it to their advantage. A well established maneuver to enter a stable orbit around the central star was known as the “CBS Opening” (named for the remarkable similarity to the network company’s logo): Turn your ship perpendicular to an imaginary axis towards the central star and fire your rocket thrusters for about 2 or 3 seconds. Orbits established, fire your torpedoes at your opponent. Gravity provides extra momentum and reach to your shots and even allows for some nifty slingshot maneuvers.
Program Versions
The emulation comes with several versions of the original game, which are loaded from virtual paper tapes. Select a program by the “versions menu” at the top left of the emulated display, or by simply clicking on a title in the description below.
(Title screens are not part of the original programs and are generated by the emulator.)
Versions available:
- Spacewar! 3.1 (24 Sep 1962)
This may be regarded as the “standard version” of Spacewar!. It represents the final version of the game as by the original team and was arranged by Steve Russell during a short return to MIT in September 1962.
The program is loaded from an authentic binary paper-tape image dated “24 sep 62” (“spacewar3.1_24-sep-62.bin”, provided by Steve Russell via bitsavers.org). - Spacewar! 2B (2 Apr 1962)
Spacewar! 2B is the first complete version of the game and of special historical importance, as this was the first digital video game to be presented to a stunned public at the occasion of MIT's annual Parents’ Weekend, Sat. April 28 and Sun. April 29, 1962.Some of the discerning features of this version are,
- The program includes Martin Graetz’s original hyperspace routine, the “Minskytron hyperspace” [image] and its “warp-induced photonic stress emission”. (There are exactly three jumps to hyperspace per player and the coils of the hyperspace generator require some cooling between jumps.)
- The game features the boxy “crock explosions” [image], predating the more sophisticated particle animations of the later versions.
- The ships’ exhaust flames are half the size of later versions (hinting at the slower speed of an even earlier version).
- Torpedoes are single shot only (no salvoes).
- The background starfield, Peter Samson’s “Expensive Planetarium” was devised for this version. This early version of the Expensive Planetarium features a variable speed of movement and starts at a different position than later versions. Moreover, instead of using the built-in intensity levels of the Type 30 CRT display, the various intensities of the stars are achieved by illuminating them at different frame rates, which may cause some flicker on modern displays.
For more on the making-of of Spacewar! see "The Origin of Spacewar" by J. M. Graetz.
This program comes on multiple paper tapes:
- The game is run from a binary paper tape image labeled “spaceWar_SA-5.bin”. (“SA-5” indicating the start address for playing without MIT’s custom control boxes and using console switches instead.) This is identical to loading “spacewar2B_2apr62.bin” and the starfield information (see below), both to be found at bitsavers.org.
There's even an earlier version, dated 25 March 1962, which uses opposite polarities for the sense switch options as compared to all other known versions. - The starfield data “stars.bin" (annotated “stars by prs for s/w 2b” and dated “3/13/62, prs”).
- The tape “hyperspace85.bin” (Hyperspace VIci, 2 May 1962) provides Martin Graetz’s original hyperspace patch, which patches into yet another patch,
- the auto-restart patch (“spaceWarRstrt.bin”, identical to ”spacewAutoRestartPatch.bin“).
- Finally, there was yet another patch providing scoring and matchplay, which seems to be lost.
Listings of Spacewar! 2B and the patches may be found here.
Please mind that this is still the game early in development: the restart-patch is missing an edge case, where the ships would collide at the "antipode" in the corners of the display. The game requires a manual restart in this situation. - Spacewar! 4.1f (20 Feb 1963; mod. for CHM 2005 – 2008)
This is the version shown at the Computer History Museum (CHM).This is essentially version 4.1/4.2 (see below) with the visual score display of of Spacewar! 4.8 patched in. This visual score board was originally authored by Monty Preonas in his versions of Spacewar 4.2 to 4.4 (see below), and was modified to its final appearance by Peter Samson as an addition to Spacewar 4.8. Moreover, the intensity values for the background starfield are remapped to match the somewhat diverting implementation of the CHM PDP-1.
The source code is dated “spacewar 4.1 2/20/63 dfw” and annotated “mod for CHM, 2005-06-01 - 2005-11-28 --prs”, and “changed delay in score display, 2008-08-22 --prs.”. The code is run from a binary paper tape image “sw41f.rim” provided by Peter Samson via bitsavers.org. - Spacewar! 4.2a (4.1/4.2 dfw) (22 Feb 1963 ?)
This is an authentic representative of the 4.x-generation of Spacewar! (probably by “dfw”, like version 4.1 above).Like all versions of Spacewar! 4.x it requires the hardware multiply/divide option for the PDP-1. (A new gravity routine using floating point conversions was conceived by Monty Preonas for this.) Like all versions 4, it features a working single shot mode for torpedoes (sense switch 3) and a visually slightly less intensive sun (now drawn by a dotted line). Also, as a side effect of the new gravity routine, two ships colliding in free fall in the center will explode at the “antipode” rather than at the center as with earlier versions of the game.
The code is run from a binary paper tape image, “spacewar4.2a_sa4.bin”, provided by Steve Russell via bitsavers.org. - Spacewar! 4.3 (17 May 1963)
This is a version by Monty Preonas (signing "ddp"), who also provided the adaptations for the automatic hardware multiply/divide option and the new gravity computations used by all flavors of Spacewar! 4 in his version 4.0 (2 Feb 1962).Spacewar! 4.3 features, like Monty Preonas’ flavor of version 4.2 and version 4.4, the original version of the on-screen score display and uses an implementation of the background starfield reminiscent of Spacewar! 2B.
The real sensation of this game, however, is its Twin Star mode to be invoked by senese switch 2 (accessible by the options menuat the top right corner of the screen). This visual distorted mode renders the game from the perspective of the “Needle”, with the Needle in the center of the screen inbetween a split sun and anything else drawn in relative motion to this with the “Wedge” orbiting in epicycles. However, there are a few quirks, as the central sun is drawn by double strokes at a fixed position and a doubled offset is added to the torpedoes. (This was an intermediate step to a version for two displays, each rendering the scene in a subjective perspective, compare this emulation of version 4.4, also May 1963.)
The program, dated “5/17/63”, was newly assembled from source code provided in the assorted listings available at CHM catalog no. 102664173.
- Spacewar! 4.8 (24 Jul 1963)
Apparently the final version of MIT-Spacewar!, dated “7/24/63” and signed “dfw”. Besides some internal modifications, it features Peter Samson’s version of the on-screen score display.
The game was newly assembled including the dedicated scorer patch. Sources (“spacewar4.8part1_engl.txt”, “spacewar4.8part2_engl.txt”, and “spacewar4.8_scorer.txt”) are available at textfiles.com and bitsavers.org.
Bonus Content
- Spacewar! 4.1 Holloman Air Force Base Version
This is a reconstruction of a version of PDP-1 Spacewar! as seen at the Holloman Air Force Base (New Mexico) and described by John W. Andrews in December 1966 for “The Gamesman” (The Gamesman, Issue 4, Dec 1967, pp 30-32). Altered starting positions are probably the most interesting feature of this version. (Controls have been swapped accordingly to accommodate for this.)These are the changes as applied according to the description provided by John W. Andrews:
- Altered setup position width spaceships facing the central star,
- The length of exhaust flames indicates the amount fuel left,
- Ships collide with background stars on re-entry from hyperspace,
- A collision with the gravitational star kills in the default setting,
- 36 torpedoes per ship (instead of the standard supply of 32).
(Reconstruction by me, N.L., Sep. 2019.)
- Spacewar! 2015 (21 Mar 2015)
“The Return of the Minskytron Signature” — Fresh code for the PDP-1 from 2015!
My own tour de force on Spacewar!: Based on Spacewar! 4.1 (dfw) — like the CHM-version —, featuring,- hyperspace with the Minskytron signature (like Spacewar! 2B, slightly modified),
- a modified version of the 4.8-scorer-patch (including a scanning divider line, like Spacewar! 4.2),
- last, but not least, a working Needle’s perspective. This Ptolemaic View (sense switch 2, see the options menu
) shows the Twin-Star mode of Spacewar! 4.3 (ddp) as presumably intended: Sense switch 2 enables a transposed view relative to the Needle’s position, just like it would be seen on a radar scope inside the Needle's cockpit. Think of Ptolemaic space travel with the Wedge orbiting in epicycles. (For the changes applied and related deliberations compare the discussion here.)
Spacewar! 2015 is meant as a potpourri of features that were previously lost or widely unknown.
Please mind that this is not an authentic program! - Spacewar! 3.1 "Winds of Space"
This is an attempt to demonstrate the formerly popular "Winds of Space" effect.
A clue to this is provided in Steven Levy's “Hackers – Heroes of the Computer Revolution”: “Or, as the night grew later and people became locked into interstellar mode, someone might shout, 'Let's turn on the Winds of Space!' and someone would hack up a warping factor which would force players to make adjustments every time they moved.”Another clue is provided by the following quote by Steve Russell: “[T]he reason that all the parameters got accumulated in the first page of the listing, which says you can put that first page of the listing o[n] the console, and anyone who wanted to try a different set of parameters could.” (Oral history interwiev with Al Kossow; CHM 2008. p. 14)
Putting it all together, “Winds of Space” was effected by tuning one of the values of the parameters table. And, in deed, there is a value for the “amount of torpedo space warpage” at memory location 021. This is a scaling factor, therefor, the lower this value, the more the trajectories of the torpedoes will be modulated by what resembles a sine-like curve. The effect varies with speed and position. To demonstrate the effect, this value has been set to the lowest value (0), with the default value being the maximum amount of 9 bitwise right-shifts (effecting in straight trajectories). — It should be noted that this hasn't been "officially" confirmed yet.
This module uses the original code of "Spacewar! 3.1", which is first loaded from a virtual paper-tape and then patched for the "hacked" parameter. (Additionally, the torpedo life-time is set to be a bit higher value, to emphasize the effect.)For hacking parameters or game constants in general, see the options menu
at the top right of the screen.
- Snowflake
This is another famous visual PDP-1 program from the 1960s, an early example of computer animations. Snowflake produces sequencies of a starlike, kaleidoscopic pattern by aligning a series of dots, which are bound to 4 attractors and then displayed 12 times by a rotation by 30°. (An alternative 8-dots display mode is available by operating sense switch 2, see the options menu.) While there is not much information to be found on this program, you may read some about it here.
The program is run from an authentic paper tape image “snowflake_sa-100.bin” to be found at bitsavers.org. - Snowflake (@CHM)
Another (less complex) version of Snowflake as seen at the CHM, differing a little by its setup.
The program is run from a paper tape image “dpys5.rim” (titled “pdp-1 display hacks”) to be found at bitsavers.org.
A Hackable Game
All versions of Spacewar! (but the very earliest) start with a section commented “interesting and often changed constants” — probably the first cheats in electronic gaming history.
Steve Russell: “It was quite interesting to fiddle with the parameters, which of course I had to do to get it to be a really good game. By changing the parameters you could change it anywhere from essentially just random, where it was pure luck, to something where skill and experience counted above everything else. The normal choice is somewhere between those two.” (quoted in “Spacewar – Fanatic Life and Symbolic Death Among the Computer Bums” by Stewart Brand.)
These “often changed constants” could be altered either by manipulating individual bits by the means of the operator’s console or, more likely, by the use of the online-debugger ddt. The emulator provides access to most of these “constants” by a special parameters dialog, accessible by the options menu . (Please mind that these hacks have to be set anew, when a different version of Spacewar! has been loaded.)
An example for this is the “Winds of Space” hack (see above), another one is “Hydraulic Spacewar” described in Steven Levy’s “Hackers”: “By switching a few parameters you could turn the game into ‘hydraulic Spacewar,’ in which torpedoes flow out in ejaculatory streams instead of one by one.” This may be achieved by setting the value of paramter “rlt” (torpedo reload time) close to zero.
Note: While called “constants” in the comment, the entries in this setup table weren’t actually parameters, but entire instructions, which could be replaced by jumps to subroutines returning a suitable value (this was even encouraged by the comments). The program wouldn’t just look up these entries, it would actually execute the given instruction. Avoiding the perils of proper programming, the parameters dialog sticks with the original instructions and allows the adjustment of their operands in a somewhat user-friendly manner.
Similarly, spaceship outlines are defined in a hackable manner by strings of octal numbers, where each digit encodes a simple directive. There are codes for move-and-plot (down, left, right, down and left, down and right), store/restore the current position, and restarting the outline for the mirrored other side. (Reportedly, “ship hacks” were quite popular and this may well have been how the Star Trek inspired sprites, known from later ports of the program, came about.)

A Bit of History
Spacewar! originated as an entertaining demonstration for the real-time capabilities of the PDP-1. As word spread that Digital Equipment Corporation (DEC) would be donating one of their first models of their all-new Programmed Data Processor 1 to MIT, a group of grad students and MIT employees gathered to come up with an idea to show its capabilities at the next Science Open House. There was already an amazing graphics generator by Marvin Minsky, known as the “Minskytron, but this wasn’t really interactive and did capture interest for long. Clearly, it should be somewhat more involving than this. In midst of the Space Race and provided that the group (dubbed the Hingham Institute Study Group on Space Warfare, named after Steve Russell’s lodging) had a weak point for pulp science fiction, the idea of a ”spaceship trainer,” was somewhat convincing. However, what about a full-fledged space battle, like in the books by E. E. “Doc” Smith? Well, not a battle, but a duel?
So the idea of Spacewar! was born and “someone” was really to do something about it. In fall, the PDP-1 arrived (formally presented November 6, 1961) and the group around MIT’s Tech Model Railroad Club (TMRC) was eagerly waiting for the selected someone to act. However, Steve Russell, also known as “Slug”, wasn’t known for starting things early and was also not too keen on getting hands-on with the intricacies of complex numeric problems, like the transcendental functions of sine and cosine aproximation. This period of hesitation found an end by the help of Alan Kotok, who confronted Russell with a tape, he had obtained from DEC, using the famous quote, “All right, Russell, here’s a sine-cosine routine; now what's your excuse?” With the CRT display of the PDP-1 installed in the last days of December, the stars finally aligned, and by February 1962 a first playable version of the game was ready.
However, this was just the beginning. Facilitated by Dan Edward’s ingenious just-in-time compiler for drawing the spaceship outlines, gravity added another tactical dimension to the game, which also benefitted from an overall speed improvement. (However, there weren’t resources left to apply gravity to torpedoes, as well, thus the weightless “photon torpedos.”) Annoyed by an early random star background, Peter Samson added the realistic simulation of the “Expensive Planetarium”, and Martin Graetz contributed the original hyperspace routine, featuring a warping animation reminiscent of the Minskytron. A short article on the game appeared in the very first issue of “Decuscope – Information for Digital Equipment Computer Users” in April 1962, and, by the addition of a scoring and matchplay facility to regulate demand, the game was finally ready to be shown to the public on the occasion of the MIT Parents’ Weekend, 28/29 April 1962.
For more on how the program came into being, see "The Origin of Spacewar" by J. M. Graetz (in: Creative Computing; Volume 7, Number 8; August 1981; also published in: The Computer Museum Report, Fall 1983; Malboro, MA, 1983).
Steve Russell, who had left MIT to follow Marvin Minsky to the West coast, returned in Septmeber to devise the improved version 3.1, which consolidated the various patches into a comprehensive program. In 1963, others, like Monty Preonas and “dfw” took over, adapting the program to the newly installed hardware multiply/divide option and experimenting with additional features. New input devices were tried, like the joystick (including its entire control panel) of a missile control acquired from USAF surplus supplies. At some point, there were controls for varying speed input. Monty Preonas experimented with multiple displays and subjective view points. A visual score board was added, and there had been probably a number of other variations, we don’t know of. The game was soon ported to other computers, especially new DEC machines, as they became available, and spread to wherever there was a computer installation with a visual display, becoming the computer game of the 1970s.
Technically, the game was written in PDP-1 assembler code, more specifically MIT’s own “Macro” assembler derived from the TX-O, and resided in the basic 4K 18-bit words core memory of the PDP-1. Dan Edward’s outline compiler, based on a previous interpreter for spaceship outline codes, may be the earliest example of a JIT-compiler. Steve Russell, who had previously written the very first incarnation of Lisp (together with Dan Edwards), used object oriented approaches in his code, making frequent use of pointers and lists.
Contrary to some rumors, there’s still space left in memory, there’s even a special mode to allow the program to be run together with the online-debugger “ddt”. Resources were not so much restricted by the amount of memory available or the general execution time, but by the requirements of the screen: with memory being enormously expensive and the display being of fairly high resolution, any screen content had to be redrawn by the program by re-issuing any plot commands in a steady loop. The bottleneck here was the display’s response time to any plotting commands, which limited the amount of what could be displayed flicker-free. (While an internal instruction completed in 5 microseconds, the display required 50 microseconds to respond with a completion pulse. This was caused by cooling circuits in the display, which prevented the electron beam from overshooting or “ringing”, while jumping at high speeds from one plot position to the next.) — The really expensive article was a dot on the display.

The PDP-1 Computer
DEC was founded in 1957 by Ken Olsen and Harlan Anderson, who had previously worked on MIT˚s experimental computers, like Whirlwind, the Memory Test Computer (TMC), and Wes Clark’s TX-0 and TX-2 machines. While the new firm specialized in its first few years in electronic modules for computers and laboratory equipment, DEC revealed its first digital computer, the Programmed Data Processor 1 (PDP-1) at the Eastern Joint Computer Conference in December 1959. Designed by Ben Gurley, another former MIT employee, in just three-and-a-half months, the computer followed MIT’s tradition of interactive real-time computing and was probably the first commercial computer with a display available. Depending on its use, the PDP-1 may be characterized both as an early work station and as a small main frame computer.
A first pre-production prototype was delivered to Bolt, Beranek and Newman (BBN) in 1960, where it was used for prototyping time-sharing. (This machine also ran Spacewar!, but allegedly the game was eventually banned for the wear on its console switches. Conversely, the machine which arrived at MIT was used for protyping time-sharing, as well.) Another PDP-1 at BBN was used for writing and compiling the code of the Interface Message Processor (IMP), interfacing computers with ARPANET, and, as this machine came on-line itself, was also used to distribute software over the net (maybe annother first). The second pre-production prototype was delivered to Lawrence Livermore National Laboratory (LLNL), which eventually became the most extensively equipped PDP-1 installation. (This PDP-1 featured various experimental input devices for optical scanning and speech recognition, and even an early mouse, built in-house in the mid-1960s and refining Douglas Engelbart’s original design.) One of the first production machines was donated to MIT, where it was located in room 26265, next to the TX-0. Which is also the very machine that gave birth to Spacewar! (This was only the first of what eventually became a fleet of five PDP-1s known to have existed at MIT.)
In essence, the PDP-1 was a commercial version of MIT’s approach to computing. It came in a polished package, a single-cabinet main unit and a display in Space Age blue and hexagonal design elements. Unlike its experimental ancestors, it was reasonably priced, didn’t need much in terms of installation as it could be plugged into an ordinary wall socket, and could be turned on by the flip of a single switch. As Martin Graetz put it, it was the first toy computer. (However, you still had to be a potent institution to afford this toy: The reasonable list price for a PDP-1 was still US$ 120,000 and another US$ 14,300 for the display, which translated to 13 average family homes and a brand new car in 1960. But, compared to other computers, this was actually cheap.)
The PDP-1 was a fully transistorized solid-state computer with a word-size of 18-bit and one’s compliment arithmetic. The standard memory was 4K of 18-bit words, expandable to up to 12 memory modules of 4K each, which could be mounted as named banks. The cycle time for instructions internal to the CPU was 5 seconds, as was the access time to its core memory (providing 100,000 18-bit additions per second including memory access). The instruction set was quite comfortable, combining instructions and their operand in a single word. Besides its accumulator, there was another I/O register and extensive support for indirect addressing to facilitate programming, but no processor stack and no index registers and programs had to be self-modifying by necessity.
The PDP-1 came with extensive I/O circuitry of various sort, including custom taper pin panels, which came handy when it came to connecting the Spacewar! control boxes. An optional accessory to the display was a light pen, which again pointed back to the origin in MIT computers like Whirlwind and the TX-O. In its basic configuration, the PDP-1 came with 4K memory and a Soroban console typewriter (a IBM Model A electric typwriter modified by the Soroban Company using selenoids for remote operations) and a special DEC chair. Later models also shipped with the automatic hardware multiply/divide option preinstalled. (According to well-established rumors, PDP-1s came also with Spacewar! in the non-volatile core memory, ready for extensive testing, once the various components had been installed, which also helped spreading the game. However, there is no confirmed first-hand source for this.)
About 55 PDP-1s were made in total and the fully restored serial number 55 is a permanent exhibit at the Computer History Museum (CHM) in Mountain View/CA, where Spacewar! can be played on real hardware in the course of one of the scheduled demo tours. (There are a few other machines in storage, both at the CHM and at the Smithsonian.)
The Type 30 Visual CRT Display
The most outstanding accessory to the PDP-1 was its CRT display. This utilized a CRT tube originally manufactured for scan radar, which wasn’t unusual for high resolution displays at the time. More unusual was its P7 phosphor with a dual layer of phosphor coating, one layer of bright blue phosphor with quick response and short sustain, and another yellowish-green layer of long decay, which was visible for several seconds. As a result, any moving objects drew iconic trails on the screen, which contributed to the aesthetics of Spacewar!, as did its concentric, Space Age modernist hexagonal housing. (The well regonizable shape of the Type 30 display also became the emblem of DECUS, the DEC Users Society, compare the image.)
The Type 30 CRT display was a point plotting display, also known as X/Y display or animated display. Unlike later raster displays, this was a random access display, which moved its illuminating cathode ray directely from point to point, as directed by the display instructions. While sharing this random access with vector displays, simple X/Y do not have any memory, meaning, any permanent representation on the screen had to be redrawn by the program at a stable interval. The technical resolution was 1024 × 1024 display location at 7 intensities (and another, invisible one, which could be registered by the light pen), where the various display intensities resulted in varying spot sizes and overlapping display locations. According to DEC, this resulted in a visual resolution of 512 × 512, which is also the resolution of this emulation (with sub-pixel rendering to account for intermediate locations and spot sizes.)
Spacewar! makes use of these characteristics in a rich variety of graphics stiles, from the cartoonish outlines of the spaceships (inspired by Buck Rogers cartoons and the contemporary Red Stone rocket), over the pulsing, rotating line of the gravitational star in the center, the abstract art of the “Minskytron effect”, to the painted effect of the explosion and the realism of the “Expensive Planetarium”. (The latter makes also use of the long sustain of the P7 phosphor, as the background stars are only drawn every second frame to render them more dimly and to separate them from the main scene.)

Trivia
- The stars of the “Expensive Planetarium” come in four groups, by brightness:
magnitude −1.6 to 1.5: 9 stars magnitude 1.5 to 2.5: 9 stars magnitude 2.5 to 3.5: 81 stars magnitude 3.5 to 4.9: 370 stars total: 469 stars (stored in 938 words of memory) (Source: Peter Samson)
- Fuel consumption in Spacewar! is not a function of time, but of the length of the exhaust flames drawn. A longer flame burns more fuel (while resulting in the same acceleration, regardless of its length).
- “Wedges only”: Setting the constant “ddd” (020) to zero (or any positive value) will setup the outline compiler to draw both spaceships as Wedges. This was meant to provide extra space in memory for the online-debugger “ddt”.
- The first “Intergalactic Spacewar Olympics”, 19 Oct 1972 at Stanford University’s Artificial Intelligence Laboratory, won by Bruce Baumgart, was probably the first e-sports event.
- Versions 4.5, 4.6, and 4.7 are missing. At least one of these provided two distinctive speeds of acceleration/thrust (as can be guessed by a left-over comment in the source code of version 4.8).
- The identity of author “dfw” remains unknown.
- According to Ed Fredkin (compare this video, DEC PDP-1 Lecture, Computer Museum, Boston, Nov. 29, 1990), the IBM RISC architecture as invented by John Cocke was inspired by the
PDP-1 and thePDP-1’s architecture lived on in the principal design of the IBM 801 and the IBM RS/6000. So you may be not too wrong calling thePDP-1 a RISC machine. - In the emulator, you may export a sceenshot, either by hitting ALT+P (with a black background added), or a semi-transparent one (as displayed, just the illuminated pixels) by hitting SHIFT+ALT+P.
(Please mind that the stars will be actually as bright as in the frame you will happen to grab. This might be an odd frame showing them just by the dim afterglow. You may want to retry in this case.)
Special Thanks
- Thanks to Barry Silverman, Brian Silverman, and Vadim Gerasimov for granting permission to re-use their emulation code. (Please visit their original site.)
- Special thanks to Steve Russell for providing insight into the original PDP-1 Type 30 display and its special dual phosphor characteristics.
- Special thanks to Lyle Bickley and Ken Sumrall for utilizing themselves as my personal bridgeheads to the CHM’s PDP-1 Restoration Team.
- Thanks to Gary A. Messenbrink, Bob Supnik, Phil Budne for the recreation of the original Macro assembler in C (macro1.c), thus prividing an invaluable tool for any practical PDP-1 research.
Spacewar! – The Official Birth Announcement
In April 1962 the following tongue-in-cheek style text was published in the very first issue of “Decuscope – Information for Digital Equipment Computer Users” (Vol. 1 No. 1, April 1962, pp 2 and 4; a copy is provided as a PDF-document at bitsavers.org):
PDP-1 PLAYS AT SPACEWAR!by D.J. Edwards, MIT
J.M. Graetz, MITIf, when walking down the halls of MIT, you should happen to hear cries of "No! No! Turn! Fire! ARRRGGGHHH!!," do not be alarmed. Another western is not being filmed — MIT students and others are merely participating in a new sport, SPACEWAR!
Planned and programmed by Stephen R. Russell under the auspices of the Hingham Institute Study Group on Space Warfare, SPACEWAR is an exciting game for two players, many kibitzers, and a PDP-1.
The game starts with each player in control of a spaceship (displayed on PDP's scope face) equipped with propulsion rockets, rotation gyros, and space torpedoes. The use of switches to control apparent motion of displayed objects amply demonstrates the real-time capabilities of the PDP-1.
Also displayed on the scope is a central sun which excerts a gravitational influence on the spaceships. The entire battle is conducted against a slowly moving background of stars of the equatorial sky. The object of the game is to destroy the opponent's ship with torpedos. The computer follows the targets and participants have an opportunity to develop tactics which would be employed in any future warfare in space.
Your editor visited the MIT Campus in Room 26265 and can verify an excellent performance. She learned that the best "Aces" had only a 50% chance of survival. Enthusiasm nevertheless ran high and the battle continued while young Mr. Russell trued to explain his program.
"The most important feature of the program," he said, "is that one can simulate a reasonably complicated physical system and actually see what is going on."
Mr. Russell also said that symbolic and binary tapes were available. Please contact Mr. Russell for additional information.
(You may note that there is no notion of hyperspace yet in this text, the version in question being apparently Spacewar! 2B.)
Spacewar! at the MIT Parents’ Weekend, Sat. 28 / Sun. 29 April, 1962
The April 25, 1962 issue of MIT’s magazine “The Tech” (Vol. 82, Issue 11, April 25, 1962, p.11; a copy is provided as a PDF-document at The Tech Online Edition) announced the public showing of Spacewar! at MIT’s Parents’ Weekend the following weekend on Sat. 28 / Sun. 29 April, 1962 by the following article:
Change Course! Fire Torpedoes!
Space Battles Fought With Computer
By Jeff Levinger
Spiraling near the sun for added acceleration, the thin silver ship swiveled slowly, firing its space torpedoes steadily, creating a spiral wave of death ahead of it. As it swept past the sun, a hail of answering rockets flashed by, barely missing, and the sudden explosion of another ship lit the space behind. The scope flickered, and the two ships appeared again at diagonally opposed points with the sun as a center. The controls for each changed hands, and the game began anew.
The game is Space War, played on the display screen of the PDP-1 computer in 26-260, with the aid of a program written mainly by Steve Russell of the Harvard Computation Center. Two former MIT students presently working for the Electronic Systems Laboratory, Shag Graetz and Pete Samson, also worked on the program and supplementary software. Each person controls his ship with an acceleration button and a rotation switch, acceleration and orientation being constant while the proper control is on.
The central sun (there is an entire background of stars, accurate to fifth magnitude on the equatorial plane) is the only one with gravity .... and if you fall in, you reappear at the corner from which you are accelerating. Losing (exploding) is a large luminescent square where your ship was, which appears if your ship is hit by a torpedo or the other ship.
The original game was to orbit around the sun without falling in, and then to destroy the other ship with a limited number of torpedoes and a long reload time between shots. One danger (since reprogrammed) which destroyed many a hopeful skipper was due to the fact that torpedoes ignored the sun: and running into your own torpedo as you orbit is a rather humiliating defeat.
It is possible to go beyond the pace pictured, in which case you wind up coming out of a new corner to begin again. This is known as the curvature of space. Torpedo number, duration, and reload speed (no machine-gunning) are variable, easily adjusted for beginners or experts.
For Parents' Weekend the PDP-1 will run this game for parents and their Techmen between 12 p.m. and 6 p.m., with a special version designed for this purpose. As an example of the whimsical uses of computers this is some-thing parents shouldn't miss. As a simplistic preview of future war games, it might well be classified were this report to fall into the wrong hands.
(The version shown was apparently Spacewar! 2B with the “special version designed for this purpose” hinting at the scoring and matchplay patch, devised by Steve Russell for the purpose.)
Spacewar! as an Ambassador of the Programmed Data Processor-1 (PDP-1)
In 1963 (ca.) the Digital Equipment Corporation (DEC) related to "Spacewar"[sic] in a promotional brochure (“PDP-1 Computer and Spacewar”), which also provides some contemporary context, as follows:
SPACEWAR
The demonstration you are watching on the cathode ray tube is called Spacewar. At first look, Spacewar is a fascinating space-age game, in which two players maneuver rocket-armed spaceships in the near weightlessness of space until one is in position to fire the winning shot.More important, Spacewar is typical of simulation techniques used in psychology laboratories to analyze the problems of man-machine relationships in complex or little-understood situations.
General-purpose computers and other digital equipment play a key role in many scientific studies. The PDP-1 computer used in Spacewar is performing calculations at speeds up to 100,000 per second as it interprets the operator's switch actions and sends positional information to the display at a rate of 20,000 points per second. To give some idea of the complexity of the computer's task, we might mention that in storing and plotting the relative positions and speeds of the spaceships, rockets, stars, and sun, PDP-1 is referring to Newton's laws of motion stored in its 4096-word core memory. Thus the operators must compensate for gravitational attraction when the spaceships come close to the sun.
[The following paragaraphs are not specially related to Spacewar!, but give a vivid picture of human-computer-interaction (HCI) as anticipated in the early 1960s, building on achievements like M.I.T.'s Whirlwind, the SAGE scope, the Charactron/MIV console, and Ivan Sutherland's Sketchpad on TX-2, which are all in PDP-1's pedigree. (C.f. this image and notes.)]
PDP-1 and its newer, lower priced companion PDP-4 can be installed in ordinary office space, require no special power, air conditioning, or floor reinforcement. They go to work almost immediately, since minimum customer training is required. Ample controls and indicators provide easy and convenient operation and control.
The Precision CRT Display Type 30 demonstrated here is one of the family of computer-operated displays designed by Digital Equipment Corporation to extend greatly the usefulness of the computers. With the unique Light Pen Type 32, a completely untrained operator can communicate with the computer. For example, the Light Pen aimed at the scope face could signal the computer to modify an engineering drawing displayed at the scope. The modified drawing would be displayed instantaneously.

Research
- For a detailed walk-through (code analysis) of the original Spacewar code, see “Inside Spacewar! – A Software Archeological Approach to the First Video Game”.
- There is also JS-Spacewar 3.1, a recreation of Spacewar! 3.1 in JavaScript, to illustrates the logic of the original assembler code in a modern lingua franca.
- See the The Spacewar 2B Preservation Project for an attempt to preserve Spacewar! 2B for PDP-1s with the hardware multiply/divide option (like the one at the CHM).
- Various listings, disassemblies, and reconstructed sources of Spacewar! and some of its essential patches.
- An investigation into “Spacewar 1 and the Beginnings of Video Game Aesthetics” (by me, 2021).
- And, related to the previous one, a reconstruction of the lost Spacewar! 1 running in emulation.
Related Games and Emulations
- The original Minskytron in emulation: The Minskytron and Other Early Graphics Demos at the PDP-1.
- Play Spacewar! 4.4 — a dual view planar multiplayer FPS version of Spacewar! (May 1963).
(PDP-1 emulation in HTML5/Javascript.) - Play Spacewar! Fleet Action, a new old-style JS-game based on the original 1962 Spacewar! game and inspired by a quote by Steve Russell.
- Play Ironic Computer Space Simulator, my own game for the PDP-1 (2016) simulating the first coin-op video game by Nolan Bushnell and Ted Dabney (Syzygy Engineering) / Nutting Associates (1971), which was heavily inspired by Spacewar!.
Further Reading
- Visit the Spacewar! page at the Computer History Museum (CHM).
- Take a video tour of the PDP-1, guided by CHM's Lyle Bickley.
- Read "The Origin of Spacewar" by J. M. Graetz (redacted copy, incl. additional text and images).
- Read: "Spacewar! Real-Time Capability of the PDP-1" by J.M. Graetz (Decus Proceedings 1962)
- See the original DEC-brochure celebrating Spacewar!: “PDP-1 Computer and Spacewar” (1963 ca).
- Read "SPACEWAR – Fanatic Life and Symbolic Death Among the Computer Bums" by Stewart Brand
(Rolling Stone magazine, Dec. 1972; wheels.org) - Spacewar and Minnesota Spacewar: "Spacewar" by Albert W. Kuhfeld (Analog, Vol. 87, No. 5, July 1971, pp. 67-79; local copy)
- Spacewar! in Pop-Culture: "SPACE WAR! – A Computer Game Today, Reality Tomorrow" by Joseph F. Goodavage
(Saga, Nov. 1972; local copy) - Watch an interview with Steve Russell on Spacewar! (by Dean Takahashi, VentureBeat, January 12th, 2011; recorded at the CHM):
Steve Russell talks about his early video game Spacewar! (YouTube video, 7'37) - Watch Steve Russell interviewed by John Romero of Doom fame, at the IndieCade 2012 keynote, October 5th, 2012:
A conversation with John Romero and Steve Russell (YouTube video, 43'58) - Watch the Computer History Museum's (CHM) lecture celebrating the PDP-1 and its restoration project (May 15th, 2006):
The Mouse that Roared: PDP 1 Celebration Event (YouTube video, 1:53'45)
Panel participants: Harlan Anderson, Gordon Bell, Alan Kotok, Steve Russell, Peter Samson, moderated by Ed Fredkin.
Finally…
You may buy me a coffee here: Buy me a coffee
© 2012 – 2022 Norbert Landsteiner,
mass:werk – media environments, www.masswerk.at.