Spacewar_screenshot

One, Two, Three, Four I Declare a Space War

In the 1950s, scientists would occasionally create a game as a demonstration, a research aid, or a training exercise, but these programs were usually short on interactivity and not intended primarily for entertainment.  Tennis for Two can be considered an exception to this general rule, but even it was quickly dismantled after being played by a few hundred visitors to the Brookhaven National Laboratory.  The academic and military-industrial research communities working on their batch processing computers were simply not interested in entertainment.  And this attitude was perfectly understandable:  with a computer representing a multi-million dollar investment, there was simply no time to waste on frivolous pursuits and no way to create a viable entertainment platform for use by the general public.

But at MIT in the late 1950s, something new was emerging in Building 26: an interactive computing environment accessible by nearly anyone affiliated with the university.  The exploits of Kotok, Samson, and friends on the TX-0 birthed a new class of skilled computer users more interested in having fun than in performing actual research.  This fun did not generally include games on the TX-0, which was still somewhat limited in speed and display capability, but these hacks laid the groundwork for the more advanced interactive programs to come.  When the PDP-1 computer arrived at MIT in 1961, the TX-0 hackers were prepared to take their exploits to the next level.  The result was the creation of the first (relatively) widespread and influential computer game, Spacewar!

Every monograph written on the history of the video game from Leonard Herman’s Phoenix to Tristan Donovan’s Replay has at the very least mentioned Spacewar!, and most of them discuss the creation of the game in depth and give it pride of place as the the game that truly launched the computer game phenomenon and influenced some of the earliest commercial products in the field.  These accounts are largely drawn from just two sources: Stephen Levy’s book Hackers: Heroes of the Computer Revolution, for which the author interviewed most of the principle players in the MIT hacking scene, and an article Spacewar! co-creator J. Martin “Shag” Graetz wrote for Creative Computing magazine in 1981 entitled “The Origin of Spacewar.”  As such, there is little disagreement between the principle sources on the inspiration for and the development of the game.  Still, there are a few minor aspects of the narrative that have become muddled over time, which I will point out in my summary below.

Hacking the PDP-1

tx-0.kotok_and_graetz.102631239.lg

Some of the key contributors to the TX-0 and PDP-1 hacking scene at a Computer Museum event in 1984.

From left:  Jack Dennis (s), Alan Kotok, J. Martin Graetz (s), Dave Gross, and John McKenzie (s)

Even before the PDP-1 had formally arrived at MIT, the TMRC hackers began planning new coding exploits.  According to Levy, Kotok learned about the machine’s impending installation while working a summer job at Western Electric in New Jersey and resolved to translate the debugger originally written by Jack Dennis as FLIT and then modified by others to become micro-FLIT to the new computer so that the hackers would have a superior programming environment the moment the PDP-1 came online.  Peter Samson gave the new debugger the name DDT (both FLIT and DDT were pesticides, so the names were meant as puns related to “debugging”).  As on the TX-0, the hackers wanted to build an improved assembler as well, but Dennis was perfectly happy with the default assembler that had been created by Bolt, Bernake & Newman.  Kotok therefore made a deal with Dennis: if the hackers could create a new assembler over a single weekend, Dennis would pay them for their time on behalf of the university.  Late one Friday in September, Kotok, Samson, Saunders, Wagner, and two others began frantically coding.  By Monday morning, the assembler was done.

Like the assembler and debugger, much of the hacking done on the PDP-1 by TMRC consisted of extensions to existing hacks on the TX-0.  One of the more impressive programs came from Samson, who converted his music program to the new machine.  The original program on the TX-0 could only play a single voice, but the new program took advantage of the extended audio capabilities of the PDP-1 to create three-part harmonies.  This feat of ingenuity so impressed DEC that the company actually made it freely available to its customers.  Steve Piner, another TMRC member who matriculated to MIT in 1958, and Peter Deutsch, a precocious local teenager who joined the TX-0 and PDP-1 hacking crowd, developed a text editing program they called “Expensive Typewriter.”  Another interesting hack allowed the TMRC members to serially link the PDP-1 and the TX-0 so that inputs made on one computer would also appear on the other.  This hack played a role in a practical joke in which the TMRC programmers claimed to have an amazing new chess AI running on the PDP-1.  In actuality, the “computer” was a person inputting commands on the attached TX-0.  This was apparently the closest the TMRC hackers got to creating an actual game on the computer, as they remained focused on other areas of programming.  However, a separate group of computer enthusiasts only tangentially affiliated with TMRC were brainstorming their own ideas on how best to exploit the capabilities of the PDP-1, and they were looking to create a more interactive experience.

Conceiving Spacewar!

steve_russell-prev

Stephen “Slug” Russell, father of Spacewar!

In early 1961, three men in their mid twenties named Wayne Wiitanen, J. Martin Graetz, and Stephen Russell were working in the Littauer Statistical Laboratory at Harvard University, MIT’s close neighbor in Cambridge.  According to an interview I conducted with Wiitanen, he and Graetz — called “Shag” due to his propensity for telling shaggy dog stories — became friends as freshmen at MIT in 1953, first meeting through the MIT Outing Club and quickly drawn together by a mutual interest in both rock climbing and playing music.  Awarded a scholarship for his freshman year, Wiitanen subsequently lost his financial aid the next year, forcing him to find a new source of income.  This led to a part time job at the Datamatic Corporation, the joint Raytheon-Honeywell computer company, in the Spring of 1955, where Wiitanen learned to program for the first time on an IBM 650.  The next year, Wiitanen took a work-study job with the MIT Office of Statistic Services.  Scheduled to graduate in Spring 1957, Wiitanen never completed a required senior thesis, but his computer experience landed him a job in the MIT Meteorology Department that Summer.  After six months of compulsory military training in early 1958, Wiitanen took a job at the MIT Electronics Systems Laboratory before taking the job at Littauer in 1959.

According to Wiitanen, he and Graetz moved into a men’s cooperative called Old Joe Clark’s in the fall of 1957, where Graetz concentrated on various writing projects while Wiitanen worked for MIT.  In 1959, Graetz and Wiitanen moved into an apartment at 8 Hingham Street in Cambridge, which they referred to as the “Hingham Institute” — a play on MIT’s common nickname, “The Institute.”  It was during this period that Graetz became interested in Wiitanen’s work for the Meteorology Department and began paying attention to computers.  According to an interview I conducted with him, Graetz, a native of Omaha, Nebraska, had been a chemistry major at MIT, but harbored no real love for the field and ultimately failed to graduate.  After leaving the school, Graetz briefly pursued work as a chemistry lab technician at both his alma mater and Massachusetts General Hospital before Wiitanen arranged for him to be hired by Littauer as a junior operator feeding punched cards into the lab’s IBM 704 computer.  He later became a program librarian while also immersing himself in the inner workings of the 704 and learning both assembly language and FORTRAN.  According to Wiitanen, Russell was hired by the lab as a program consultant soon after, and the three men shared an office there.

According to Graetz in his Creative Computing article, he, Wiitanen, and Russell spent their idle hours working their way through the Lensman and Skylark novels of E.E. “Doc” Smith and going to local theaters to watch the latest B-movies released by Toho Studios of Japan.  Doc Smith was a writer of trashy science fiction novels active in the 1920s and 1930s who laid the foundation for the “space opera” genre with his tales of intergalactic war and romance full of melodramatic dialogue, sudden plot twists, and cliched struggles between good and evil.  The Toho movies, meanwhile, featured thin plots, extensive special effects, and numerous explosions as monsters like Godzilla and Rodan terrified Tokyo.  Graetz and his friends dreamed of taking the space operas of Smith and adapting them as movies featuring Toho-style special effects.

According to our interview, in summer 1961 Graetz was dismissed from Harvard and called up his friend Jack Dennis, who secured him a job working on a diagnostic program for a new magnetic tape unit for the TX-0 at MIT.  When the PDP-1 arrived that fall, he was just as eager as anyone else to begin programming on the machine.   He therefore enlisted the Hingham Institute to brainstorm how best to demonstrate the capabilities of the PDP-1 through their own hack.  They wanted to create a demo like the Whirlwind bouncing ball or the TX-0 HAX routine that highlighted the computer’s monitor, but they did not feel that either of those programs really demonstrated their respective computers particularly well because they did not tax the computer to its limits or fully engage the user in a pleasurable activity.  According to Graetz, it was Wiitanen who finally articulated that action and the need for skilled user input would result in a particularly engaging demo and suggested flying spaceships around the screen as part of a race, contest, exploration, or fight.  According to Wiitanen, this seminal moment came over tea at the Hingham Institute one afternoon and was not inspired by anything more particular than a general love of science fiction and a desire to make good use of the PDP-1 computer.  Thinking back to their ambitions to create a Skylark movie, Graetz and Russell immediately honed in on the concept of a space conflict.  Regrettably, despite coming up with the initial idea, Wiitanen was unable to participate in its implementation.  An army reservist, when the Berlin Wall crisis flared in October 1961, Wiitanen was called up to active duty.  Responsibility for implementing the demo, which the trio named Spacewar!, therefore fell to Hingham Institute compatriot Steve Russell.

According to an oral history he participated in with the Computer History Museum, Stephen “Slug” Russell was born in Hartford, Connecticut, to a mechanical engineer father and teacher mother.  When Stephen was three, the Russell family embarked on a cross-country train excursion to visit his mother’s family in Washington state, which began a life-long fascination with trains.  Model railroads soon became an obsession, which led him to become interested in electronics around the age of ten so he could create more elaborate model railroads.  Soon after, his father was laid off and moved the family to Washington, where Russell attended high school.  During this period, Russell became more deeply immersed in electronics through surplus World War II radio and radar equipment.

Russell beheld his first computer, Howard Aiken’s Harvard Mark I, as a teenager during a trip back east to visit his uncle, Harvard professor George Pierce.  A firm believer that everyone should receive a proper education, Pierce later paid Russell’s tuition so he could attend Dartmouth College.  While Dartmouth did not have a computer in those days, Russell did work with IBM tabulating equipment.  During his senior year, he fell in with Professor John McCarthy, one of the pioneers in the field of artificial intelligence.  When McCarthy moved to MIT in 1958, Russell followed to help implement a new programming language called LISP specifically tailored for AI research.  Preoccupied by his AI work, Russell never completed a senior thesis at Dartmouth and therefore did not officially graduate.  With his passion for trains, Russell joined TMRC in 1960 and became active in the S&P committee.  He did not, however, become involved in the TX-0 programming scene, as he was too busy trying to implement LISP on the 704 in the Computation Center.  By 1961, Russell was burned out on LISP and took the job at Harvard that led to his involvement with the Hingham Institute.

There is considerable confusion in the secondary video game literature regarding the relationship of Russell, Graetz, and Wiitanen to both MIT and the hackers of TMRC.  Replay, for instance, identifies all three as TMRC members, while All Your Base Are Belong to Us describes the game as being written by Steve Russell and “his MIT engineering friends,” Phoenix refers to Russell as a graduate engineering student at MIT, and The Ultimate History of Video Games refers to Russell as “a fairly new Model Railroader who had just transferred from Dartmouth College.”  In truth, none of these descriptions are completely accurate.  Russell was certainly not a graduate student at MIT, for he is quite clear in his oral history that he never graduated from Dartmouth.  He was not an employee at the time he was creating Spacewar! either, as both his oral history and Graetz’s article place him at Harvard in early 1961 after leaving his AI work at MIT.  Graetz claims in Creative Computing that Russell did return to MIT in Fall 1961, but in Russell’s own oral history he gives a rundown of this period and appears to indicate he went straight from Harvard to Stanford in 1962 without any other stops in between.  This contention is further supported by a 1963 article about computing at Stanford in Datamation that states Russell “worked under McCarthy at MIT and was brought to Stanford from Harvard,” and by a deposition given by John McKenzie in 1975 in which he stated Russell was at Harvard during the period of time he was creating Spacewar!  While he was briefly a TMRC member as demonstrated by the organization’s membership roles and comments in his oral history, he explicitly states in his oral history that he did not become involved in the TX-0 hacking scene.  Graetz, meanwhile, did work at MIT, but he has never claimed an affiliation with TMRC and his name cannot be found in the organization’s membership roles.  Finally, Wiitanen was never at MIT at all, called to active duty before the PDP-1 hacking exploits could even begin.  While TMRC was not directly involved in the conception of Spacewar!, however, its members would still play a critical role in moving the program from concept to playable game.

Building Spacewar!

dec.pdp-1.two_men_playing_spacewar.102631264.lg

Dan Edwards (l) and Peter Samson playing Spacewar! c. 1962

Despite no longer being an MIT employee, Russell continued to frequent Building 26 at the university and was therefore in a position to both observe and interact with the PDP-1 when it finally arrived.  In his own recollection of the genesis of Spacewar! in his oral history, Russell remembers being particularly inspired to create the program by the “Minskytron,” a graphical demo recently created by professor Marvin Minsky in which three dots were generated on the screen that subsequently began to move around and interact with each other.  Based on initializing constants entered by the user, these dots could form a variety of patterns from complex geometric shapes to fireworks effects.  Russell’s exposure to the Minskytron and his interest in the new DDT debugger inspired him to implement the previously brainstormed Spacewar! hack on the PDP-1.  As Graetz remembers, however, Steve did not acquire the name “Slug” for nothing, as he was generally loathe to start a new project if he could come up with a good excuse to put it off.  Therefore, while the game concept took shape in the summer and fall, by December Russell had still not done any programming.

At this point, TMRC made its first critical contribution to Spacewar!  As he describes the situation in his own Computer History Museum oral history, Alan Kotok practically served as a project manager as the program got off the ground, giving Russell encouragement and supplying him with bits of code taken from various libraries.  As recounted by Graetz, Russell, and Levy, the critical moment came when Russell articulated what turned out to be his final excuse: he did not possess the sine-cosine routines required to place and move his ships around the screen.  Kotok, by now considered the dean of the TMRC hacking community, enjoyed a good relationship with the engineers at DEC, so he took it upon himself to drive to the company headquarters in Maynard to hunt down the routines himself.  When he returned to MIT and plopped them down in front of Russell, the hacker realized he had run out of excuses and set to work.

According to Levy, Russell finally began attacking the program in earnest in December 1961, but this date is almost certainly incorrect, as according to log files produced during the McKenzie deposition, the PDP-1 display was not installed until December 29, 1961, meaning he could not have even seen the Minskytron in action yet by December.  Graetz recounts that Russell first succeeded in generating and moving a dot around the screen in January 1962.  Initially worried that moving an entire ship would take too much processing power, Russell realized that since the points comprising the spaceship would always remain in the same relative position to each other, he only needed to calculate the angle once per frame and then implement code that rotated the entire grid as necessary.  Before long, Russell had designed the two ships, which according to an interview excerpt with Russell in The Ultimate History of Videogames were designed to look like a curvy Buck Rodgers spaceship and a slender Redstone rocket.  They soon gained the nicknames “Wedge” and “Needle” respectively.

According to Levy, by February 1962 Russell, with coding help from TMRC member Bob Saunders, had finished the basic program. (Note: In The Ultimate History of Video Games, Kent claims that Russell spent nearly six months creating the first version of the game, but this contradicts the primary sources, which all give the December to February time frame.  It is possible Kent is referring to the total time from conception to implementation as opposed to just the time Russell actually spent programming or that he is including the time when additional modifications were made before the program’s public debut in May.)  In this initial version, the two ships could accelerate, rotate clockwise, or rotate counterclockwise when the player flipped one of three toggle switches on the PDP-1.  Flipping a fourth toggle switch allowed the player to fire torpedoes that would destroy the opposing ship if they made contact.  Originally, there was a random chance that the torpedo would be a dud, but Russell changed them to be 100% reliable after negative user feedback.  As explained by Russell to Kent, the game required two players due to a lack of computing power to craft an AI opponent.

spacewar-fig2

A drawing of one of the custom control boxes crafted by the TMRC hackers to play Spacewar!

While Russell finished the basic Spacewar! program in February, there were significant modifications made over the next three months.  As Levy recounts in Hackers, the TMRC programmers had by this time developed what he termed the “Hacker Ethic,” which was basically a philosophy that access to computers and tools for discovering how the world works should never be restricted and imperfect systems should always be improved by whomever has the ability to do so.  This was essentially a transfer of the sensibilities of the TMRC S&P committee, which was full of students who loved taking things apart to see how they functioned and constantly strove to improve the track layout housed in Building 20 with their own inventive solutions.  This “Hacker Ethic” would continue to be a driving force behind the evolution of computer technology for decades and still manifests today in the vibrant game modding communities, the continuing development of open source computer programs, and online collaborative projects like Wikipedia.  In the case of Spacewar!, the Hacker Ethic insured that other members of the TMRC hacker community approached Russell with their own suggestions to improve the game.  While some assume that TMRC members added these additions directly to the program themselves as part of the Hacker Ethic’s call for taking the initiative in improving computer programs, Norbert Landsteiner, who runs one of the most comprehensive Spacewar! webpages on the Internet, has painstakingly deconstructed and analysed the game’s code and concluded that Russell himself continued to serve as the gatekeeper for new features and incorporated them into his code in an orderly fashion.

The earliest modifications to Spacewar! were applied to the backdrop for the game.  As Graetz recounts, Russell realized early in development that without any background objects, it was impossible to tell how the two ships were moving relative to each other when they were travelling at slow speeds.  Russell solved this problem by including random dots of light on the screen that represented a star field.  This inelegant solution did not satisfy Peter Samson, who decided to extract data from the American Ephemeris and Nautical Almanac to recreate the night sky between 22 1/2 ° N and 22 1/2 ° S down to the fifth order of magnitude.  Not only was this routine capable of panning across the screen to display most of the best-known constellations in proper relation to each other, but by controlling the number of times the electron beam fired at any particular spot on the screen, Samson was also able to recreate the relative brightness of each star in the night sky.  In the tradition of previous hacks on the TX-0, Samson dubbed his routine “Expensive Planetarium.” According to the game code itself as relayed by Landsteiner, Samson completed Expensive Planetarium around March 13, 1962, and Russell incorporated the code into the next formal release of the game, Spacewar! 2B, on April 2, 1962. (Note: In Replay Donovan appears to indicate that there was no background star field before Samson added Expensive Planetarium, but the primary sources agree that Samson’s contribution was replacing random dots with accurate constellations rather than incorporating background stars in the first place.)

A second critical innovation came from Dan Edwards, a graduate student and TMRC member who, like Russell, worked with John McCarthy on LISP.  According to Graetz, Edwards was nonplussed by the lack of strategy in the game, which tended to devolve into the players wildly shooting at each other while zipping across the screen.  He believed introducing gravity into the game would provide the necessary strategic depth, but Russell felt making the necessary modifications was beyond his abilities.  Edwards therefore implemented the gravity himself, adding a sun to the middle of the screen and modelling its effects on the movement of the ships.  This addition actually pushed the display beyond its limits and led to flickering, so Edwards looked for other places he could save resources.  He quickly discovered that the program examined the ship lookup table to redraw each ship on each frame, a method Russell had initially used — according to his oral history — so that the shape of the ships could be easily changed on the fly.  Edwards created a compiler that consulted the tables at the start of each game instead.  This freed up the necessary runtime to incorporate the effect of gravity on the spaceships, but not on the torpedoes, which continued to travel in a straight line right through the sun.  Russell and company decided these were “photon torpedoes” that were not affected by gravity to provide an in-game explanation for this effect.

The final significant modification to the game, patched in sometime in April or early May, was a hyperspace function developed by Graetz in which the player could flip a toggle switch to have his coordinates randomly scrambled so he would reappear somewhere else on the screen.  According to Levy, this was a concept directly borrowed from Doc Smith and his spaceships that could use a “hyper-spatial tube” to enter “Nth space.”  The idea, according to Graetz’s article, dated back to the early brainstorming sessions and was designed to introduce a last ditch panic button, but one that was not completely reliable so as not to be overpowered.  In the initial version by Graetz, the player could only enter hyperspace three times, and it was possible to land right in the middle of the sun or end up in a similarly compromising position.  This made hyperspace something a player would only want to use as a last resort.

Midway through development, the Spacewar! hackers also made an important quality of life change to the hardware itself.  Tired of sore elbows and aching backs from hunching over the PDP-1 display flicking toggle switches — not to mention the constant threat of hitting the wrong switch and aborting the game and the visual advantage always held by one player due to the monitor being off to one side of the control panel — Alan Kotok and Bob Saunders decided to rectify the situation by creating their own custom control devices.  According to Graetz, their first preference was for a joystick, but in 1962 the technology was still not common and proved to be unavailable to the hackers.  Instead, the duo scrounged around the TMRC rooms for random bits of wood, wire, bakelite, and switching equipment and fashioned them into control boxes.  The final result consisted of two levers and a button mounted in a wooden case with a bakelite top.  One lever controlled rotation (pushing the lever to the left rotated the ship counterclockwise while pushing it to the right rotated the ship clockwise), the other lever controlled acceleration and hyperspace (pulling the lever towards the player accelerated the ship while pushing it away from the player activated hyperspace), and pressing the button fired torpedoes.  With these control boxes, installed according to logs provided during the McKenzie deposition on March 19, 1962, both players could sit comfortably in front of the screen while also becoming more adept players due to the more logical control layout.  Essentially, Kotok and Samson invented the first gamepads, an indispensable part of every video game system to come.

Spreading Spacewar!

spacewar-fig1

A black-and-white screenshot of Spacewar! showing the two ships in their opening positions

 In May, 1962, Spacewar! made its public debut at the annual MIT Science Open House.  According to Graetz, the game was modified for that occasion to incorporate a scoring system to better limit individual sessions, while a larger CRT was also hooked up to the computer to facilitate spectator viewing of matches.    Development on the game stalled over the next few months — possibly because Steve Russell was in the middle of a six month stint in the United States Army that he briefly discusses in his oral history — before what could be considered the “final” version of the original game was promulgated by Russell on September 24, 1962.  Referred to as Spacewar! 3.1, this version incorporated certain functions that had previously been patched in like the scoring mechanic and hyperspace into the core game logic alongside several minor tweaks.

The same month Spacewar! made its public debut at MIT, Graetz presented a paper to the newly formed Digital Equipment Computer Users’ Society (DECUS), a support group for businesses and organizations using DEC computers that both conducted technical conferences and facilitated the exchange of software between members via magnetic tape, outlining the basic parameters of the game.  From there, Spacewar! began to spread across the country.  How quickly this spread occurred has recently been the subject of some debate.  The traditional narrative, borrowed from Graetz’s article, posits a fairly rapid and widespread adoption of the game.  In truth, more recent in-depth research by historians Marty Goldberg and Devin Monnens indicates that the game spread in fits and starts and did not really hit its stride until the late 1960s and early 1970s, when CRT terminals began to supplant teletypes as the primary user input.  Nevertheless, it is fair to say that in an era when most game programs were one-offs that remained confined to a specific system, or at the very least a particular geographic area, Spacewar!  penetrated computer labs from Cambridge to California, inspiring would-be programmers to follow the hacker ethic by creating their own variations on the game or even creating their own original programs.  This activity culminated in the early 1970s in the creation of the first arcade video games — which were directly inspired by Spacewar! — and the subsequent launch of a new video game industry.

The main hubs of Spacewar! activity appear to have primarily formed around MIT hackers who brought the game directly to other institutions.  The most important of these hubs was undoubtedly Stanford University, where Steve Russell ended up working in 1962 when he followed John McCarthy to the institution, who had grown frustrated with the lack of progress in AI research at MIT therefore decided to continue his work at Stanford.  Spacewar! made the trip to the West Coast with Russell and became an immediate smash success, with a 1963 article in Datamation reporting that system administrators at Stanford had banned playing the game during business hours because its overwhelming popularity placed too much strain on system resources.  Every time McCarthy’s research team received a more advanced computer, it received a Spacewar! port, keeping the game relevant among the computer-using crowd at the university for at least a decade.  Indeed, in October 1972 Stanford became the site of what may have been the first organized video game tournament, the “Intergalactic Spacewar Olympics.”  This event was famously chronicled by Stewart Brand for the December 1972 issue of Rolling Stone Magazine, giving Spacewar! a cultural cachet rare for computer games of the period.  Furthermore, it was through Stanford that Bill Pitts and Nolan Bushnell, the originators of the first two arcade video games, were both first exposed to the landmark program that directly inspired their creations.  (Note: I am aware that Mr. Bushnell claims to have first seen Spacewar! at the University of Utah, but that is a story for another blog post.)

Perhaps the best documented Spacewar! hub after MIT and Stanford is the University of Minnesota, where an MIT alum named Albert Kuhfeld programmed the game on a CDC 3100 computer in the Department of Physics and Astronomy that was being used in tandem with a new particle accelerator.  According to interviews conducted by Landsteiner for his website and Goldberg and Monnens for their paper, Kuhfeld began programming the game soon after the computer arrived in 1966 because he missed his Spacewar!-playing days at MIT, but he was not able to do much actual programming until 1967.  By 1969, the game was essentially complete.  According to Goldberg and Monnens, the main differences between “Minnesota Spacewar” and the MIT version were the inclusion of timers for torpedoes, retro rockets for deceleration, and the “Minnesota Panic Button,” which activated a cloaking device.  According to Landsteiner, Kuhfeld took a cue from MIT and fashioned control boxes for his version as well, with one lever for left/right, one lever for acceleration/deceleration, a button for torpedoes, and a switch for hyperspace/invisibility.  A second control box replaced the movement buttons with a joystick.  According to Goldberg and Monnens, Kuhfeld’s game normally had to be played during the day rather than at night, when the accelerator was often running, and could therefore only be played rarely at first.  Eventually, more computer hardware was added to the lab, allowing playing time to increase and the game to become more popular.  In July 1971, science fiction magazine Analog published an article about the game submitted by Kuhfeld himself, which, like the Rolling Stone article by Brand, helped raise Spacewar!‘s national profile.

Beyond MIT, Stanford, and Minnesota, evidence of Spacewar! distribution and popularity becomes increasingly sketchy and anecdotal.  According to Goldberg and Monnens, the game spread quickly to other Boston-area institutions with PDP-1 computers and migrated to at least a few institutions farther afield like the University of Michigan, where the game arrived sometime between 1964 and 1966.  This spread was at least partially aided by DEC itself.  Because the game had been created specifically to use every last ounce of processing power the PDP-1 could bring to bear, DEC recognized that the program was a perfect poster child for the capabilities of the system.  In 1963, DEC created a promotional brochure for the PDP-1 based around Spacewar! that highlighted the impressive number of calculations per second the computer performed to run the game as well as the complexity inherent in plotting the position of the ships and stars and modelling the Newtonian physics present in the game.

According to most sources, DEC further helped the spread of Spacewar! by eventually including it as a test program with every PDP-1 computer sold.  The claim, as related by Levy and parroted by numerous sources thereafter, is that because the program used virtually every function of the PDP-1, it was a perfect final diagnostic program for the engineers at DEC before shipping a computer to the end user.  Because the computer was then shipped without the memory being wiped, the game would run the first time the computer was turned on at its final destination, exposing yet another computer lab to the game.  While this claim makes for a good story, however, it has yet to be confirmed by DEC primary sources.  The best we have is the brochure already referenced above, which does prove that at the very least DEC ran demos of the game for potential buyers, and a statement by DEC engineer Gordon Bell to Goldberg that the story sounds plausible, but that he cannot confirm it.  Martin Graetz also stated this claim in a 2007 Gamasutra article, but by that point the story had become so widespread that he may not have been speaking from first-hand knowledge.  Indeed, his 1981 Creative Computing article is silent on this issue.  Even if this story is true, Goldberg and Monnens caution that of the 55 PDP-1 computers sold, only about twenty were ever equipped with a display, and not all of these were equipped with one right out of the box.  Therefore, even if this story is true, this method of distribution probably had a relatively limited impact, especially considering that the most important hub at Stanford was not established in this manner.

 As the Datamation and Rolling Stone articles cited above demonstrate, Spacewar! became immensely popular on the Stanford campus, inspiring marathon playing sessions and intense competition among players.  Goldberg and Monnens indicate, however, that response may have been more muted at other institutions.  While the duo have only limited anecdotal evidence at their disposal, discussions with former players at both Harvard and the University of Michigan indicate that only a few people at either institution showed any interest in the game in the late 1960s.  Still, the vibrant playing communities at MIT and Stanford coupled with slow yet steady migration to other computer labs across the country still make Spacewar! the first landmark program in video game history.  Despite reaching a larger audience than any computer game to come before it, however, it still ultimately remained confined to university computer labs and entertained a relatively small portion of the U.S. population.  As Russell told Kent, the hackers briefly toyed with the idea of making money on the game, but in 1962 it was still not possible to create a system cheap enough to qualify as a consumer product.  It would require nearly another decade of innovation in computer technology and solid-state components before a commercial video game could finally become a reality.

Advertisements

22 comments

  1. Great writeup and analysis!

    There are many myths on Spacewar! and not of all them can be verified.
    Personally, I think that Steven Levy’s description of events puts some emphasis on the “hacker spirit”, with hackers taking over the product, which is not to be verified on this level, when inspecting the actual code. We may rather imagine a basic agreement of the “Hingham Institute Study Group on Space Warfare” on Steve Russell producing the basic game and some programming slots being reserved for other members. E.g., we know that the explosions were done by Martin Graetz (which also provides an explanation for his rather sarcastic notion of the “Crock explosions” in “Origin of Spacewar”) and hyperspace being a plan from the beginning. While Spacewar! 2B didn’t contain the hyperspace code, there were 3 properties per object reserved and managed by the main code for the hyperspace routine. Hyperspace itself (the one with the “Minskytron signature” – cf: http://www.masswerk.at/spacewar/inside/insidespacewar-minskytron-hyperspace.html) was added as a patch, making use of these variables, but also included a variable stack of its own, since the three properties per object – as originally planned for this – turned out to be not sufficient. (So the version described in “Origin of Spacewar” and shown at the Open House Day in May 62 was probably Spacewar! 2B + Hyperspace patch + an “automatic restart patch” + a scorer patch by Steve Russell, which is probably lost, but might have been similar to the scoring and match playing device in Spacewar! 3.1. – compare: http://www.masswerk.at/spacewar/?version=2x )

    This view is also seconded by the fact that there is always some emphasis on the participation of Wayne Wiitanen, who was absent while the actual coding took place (being called to arms during the events of the Berlin crisis). There was probably some extensive planning phase, where all the steps and features were laid out – and Wiitanen took probably an important role in this. – Compare: “Wayne Wiitanen helped in the design and evolution of Spacewar!, but did not contribute any code.” (Steve Russel, http://mail.computerhistory.org/pipermail/inforoots/2005-February/001523.html )
    This is quite opposed to the view of Steve Russell doing this quite on his own and then the hackers taking over.

    Additionally, there were actually two “external” contributions, the “Expensive Planetarium” by Peter Samson (who’s involvement might have been reaching further than this), an isolated program to be called as a subroutine, and the code relating to the gravitational star by Dan Edwards. The latter one is notably well integrated into the main code, hinting to a consent on this integration by Steve Russell and Dan Edwards (as described in “Origin of Spacewar”).

    On the outline compiler (also by Dan Edwards): Please note that this is maintaining the configurable outlines. (The compiler is just skipping the branching over a dispatch table that would have been performed by the earlier outline interpreter for each of the 43 display commands for each of the ships in each display cycle.) – Cf: http://www.masswerk.at/spacewar/inside/insidespacewar-pt4-oc.html – Related to this, there’s another myth to be clarified: The tense memory conditions. Actually, there’s plenty of room left, some of it reserved for future patches, but even then, there’s memory left to run DDT in parallel (but you would have to set a flag, instructing the game to compile outline code for just a single outline, resulting in a game with two “wedges” on the scope).

    Regarding the timeline of events: Control boxes were probably introduced quite early (still in 1961, even before the outline compiler was coded). Some confusion might have arisen here from an obvious error in the page-arrangement in the original “Origin of Spacewar” article in Creative Computing. (Compare this to the arrangement in the “The Computer Museum Report”, fall issue 1983.) Even then, there are some discrepancies regarding the timing as provided in Steve Russell’s oral history interview and as described in “Origin of Spacewar” by Martin Graetz. Since Graetz claims to have checked the order of events with all participants and his account was nearer in time (by some 20 years) to the actual proceedings, we are probably encouraged to trust this source a little more.

    Regarding Russell’s presence at MIT in fall 62, this coincides with the “release” of Spacewar! 3.1, the first real final version, dated 24 Sep. 1962. (This one is basically integrating the game with the various patches, but also shows some refactoring of the object setup routine, changes to the Expensive Planetarium and a fix of the “crock explosions”.) I would think of this final integration being done by (or at least under the lead of) Steve Russell.

    1. Thank you for the kind words and detailed analysis. Your website is a wonderful resource for Spacewar information, and I appreciate you taking the time to parse my work.

      While I have a background in history, I am unfortunately not a particularly technical person, so I am certainly interested in your findings from dissecting the code, which goes beyond my research. I think your comment about the organization of the coding process is likely accurate. Even Levy hints at a more structured coding experience when he mentions in passing that Bob Saunders was coding right alongside Steve Russell on the initial version of the game, demonstrating that TMRC became involved early in the programming process. Graetz’s recollection that Dan Edwards asked Russell about implementing gravity and that Russell told him to add it himself also indicates that Russell was serving as a gatekeeper for new features. I don’t think this really undercuts Levy’s point about the “Hacker Ethic,” because the idea of collaborating to improve a program is very much at the core of said ethic, but you are probably right that it was an organized effort rather than the “Russell leaves program next to computer and others pick it up on their own model” that Levy and his followers imply. I will tweak the post and cite your findings in the code alongside the circumstantial evidence.

      On the question of memory, I assume that the “myth” in this case is derived from everyone’s recollections that gravitational effects could not be applied to the torpedoes. While I do not doubt your code analysis I do wonder about the apparent discrepancy here since unlike some of Levy’s other claims this one appears to be coming straight from the primary sources. Again, with my lack of detailed technical knowledge I may be misinterpreting something here.

      As for controllers, I am curious where you draw the conclusion that the controllers came along so early. The reason I ask is because the control boxes include a toggle for the hyperspace function, which would not have been incorporated into the game until around April 1962. While this could have been spliced into the boxes later (or even accounted for in the original design of the boxes before hyperspace was actually implemented since it was a long-planned feature), the idea that control boxes existed in 1961 still feels off because the primary sources seem to agree that even basic object movement was not implemented until January 1962. This is straight from the Graetz article, which I agree has greater reliability than the later oral histories. More information on this point would be helpful.

      Finally, as to Russell, I think there is no doubt he was present in the PDP-1 hacking community in late 1962, but it does appear that he was not working for the university. As I stated in my post, Graetz does make that claim, but Russell’s oral history really does seem to contradict this point, though I would not consider the language therein definitive, as he does admit being somewhat fuzzy on the sequence of events (and yes, the roughly 25 year time gap between the two sources might explain the discrepancy, but the Datamation article from 1963 supports a move directly from Harvard to Stanford as well). Since Russell does explicitly state that he remained active in TMRC even while he was working at Harvard, its not too great a stretch to imagine he took part in hacking activities on the PDP-1 without working there. One interesting thing to note in this regard as well is that Russell claims that somewhere in this period he spent six months on active duty with the U.S. Army, a key chronological point that Graetz does not mention at all. This may also help explain why other hackers were taking on the majority of coding duties after February 1962.

  2. Thanks for the kind words in return!

    On the memory myth: I personally think that this might be connected to the frequent use of a macro named “swap” all over the source code. (You are often reading descriptions of two or more values being stored in a single memory word and being “swapped in and out” to the position needed. There isn’t a single example of this in the whole game! – The macro “swap” rather exchanges the contents of the PDP-1’s two CPU registers, AC and IO.)
    In fact, there’s quite an amount of spare memory with runtime being the scarce article (and also the real challenge to be controlled in order to maintain a stable frame rate, since the PDP-1 didn’t offer a clock to the programmers). Runtime is also the reason, why there wouldn’t have been any resources left for torpedo gravity. (Gravity was really expensive, since there where multiplications, divisions, and even a square root involved.)

    On the control boxes: I just searched, but I wasn’t able to find the references. I somehow ended up thinking that the control boxes were present, when the star and gravity were added, which would date them back to late 1961, according to Steve Russell’s oral history interview.
    Probably more interesting here is Steve Russell’s account of a first pair of control boxes with buttons, which preceded the control boxes with levers (as depicted by J.M. Graetz in Origin of Spacewar) and no one else would remember. Moreover, there’s some evidence that there had been at least 3 other types of control boxes till mid 1963, including one with joysticks from “USAF surplus drone controllers that someone found at Eli’s Surplus” (Joe Morris).
    More on this at http://www.masswerk.at/spacewar/inside/insidespacewar-pt5-ships.html#variations

    On the integration of hyperspace controls: Hyperspace (re)used some wirings of the existing boxes that were already present (the signals for left and right turn at once), using also the existing thrust lever (push forward) for the trigger in the control boxes described by J.M. Graetz. (But there was also a later set with a dedicated hyperspace-button, described by Joe Morris, see above.) Since the control boxes didn’t use a distinctive signal or trigger for hyperspace, it’s hard to infer any timeline from this. It would have been perfectly possible to reuse existing hardware for this. Also, there are some properties maintained by the code, even before there was an hyperspace patch at all. They same would have been possible for the input hardware …

    On Steve Russell’s time at the army: This actually slipped me to be significant. Thanks for pointing this out. It really explains why there wouldn’t have been any developments/improvements until fall 1962 (Spacewar 3). I always thought that they were having a “breath through” after their first achievement – and it would have been quite complicated to deal with the main program and the at least 3 patch tapes applied (with some dependencies like the hyperspace patch patching the auto-restart patch). But this provides a better explanation. On the other hand J.M. Graetz’s account of Steve Russell writing the scorer-patch just before the Open House Day in May suggests that he would have been present at MIT until early May.

    Regarding “Hackers” and the TMRC: It’s sometimes a bit unclear, how the relations described by Levy really were. On the one hand there would be the group of “hackers” gathering around TX-O, on the other hand TCMR. There’s probably a huge overlap, especially with the “Hingham Institute Study Group on Space Warfare”, but it’s still unclear, where the relations and bonds would have emerged. Sometimes, like in the descriptions by Graetz and Russell regarding the origin of the control boxes, TCMR-related stuff is handled more like an outside activity. Then, again, there was quite an involvement of TMRC with TX-O (as pointed out in your previous article) and there are also pictures of the PDP-1 (still awaiting its scope) setup at TMRC.

    Last fun fact: You probably know the Java (and later HTML5) emulator by Barry and Brian Silverman and Vadim Gerasimov (at http://spacewar.oversigma.com/ ). Now, Vadim Gerasimov happens to be the one, who was hacking Tetris as a 16 years old, being probably the very epitome of the next generation of hackerism. When they met with J.M. Graetz for the Spacewar source code, it turned out that Tetris would be Graetz’s favorite game. History in a full 360° circle …

  3. Hi, I just discovered this blog and have only begun to read it but so far, I’ve enjoyed it thoroughly and found it to be one of the best and most well-researched video game history blogs on the web.

    I was writing to see if you planned to cover the various games that were mentioned in the Magnavox lawsuits as possible examples of prior art. There were a number of them that I’ve never seen documented anywhere else. Only a portion of the trial documents have been posted online, but in a few cases, they contain fairly extensive information on these games (if you were to obtain the other trial documents, they probably have even more information).

    Most of them were from the 1960s, but they mentioned at least one 1950s game (“Michigan Pool”) that you didn’t cover in your post on the 1950s

    I actually have my own blog on arcade game history and did a very brief post about the games (http://allincolorforaquarter.blogspot.com/2013/08/early-unknown-computer-games-mentioned.html)
    but my focus is on arcade games, so I haven’t really had the time to look into it thoroughly and was hoping that you planned on doing so.

    Great work and I look forward to reading more in the future.

    1. Hey Keith,

      Thank you for the kind words. I have actually commented on your blog (Alex Smith, I was not blogging back then, so I did not reference this site or my pen name here) a couple times, and we were part of a group email discussion awhile back along with Marty and Devin. I am a huge fan of your blog, which has brought to light so much of the history of the early video arcade game. Believe me, when I hit the 1970s (in about ten years at the rate I seem to post 😉 ), your blog (and hopefully by then your book) will be major sources for my own work.

      As to your specific question: yes, I do plan to look at the games of the 1960s, but I am not sure I will be able to dig up too much more information than your blog post. I have not begun gathering extensive sources yet, but I have found a couple of old articles and program listings related to some DECUS games and a couple of other random tidbits. I know Devin Monnens is doing a lot of research on that period (hence the paper he and Marty wrote together as discussed in this comment thread). My own research has focused more on the industry itself rather than on individual games, so I am mostly relying on the work of others for this early stuff. Still, I plan to see what I can find.

      1. Ah. I should have realized it was you when you mentioned you were doing a 3-volume work, but I didn’t put two and two together.

        BTW, you might be interested to know that I recently talked to one of the founders of Softape, as well as Softape programmer Steve A. Baker (I may talk to Bob Bishop as well, though his website tells his story pretty well).

        It has nothing to do with arcade games, but I plan on doing a post on the history of Softape.

  4. ” Unfortunately, no one has definitively charted the course Spacewar! took across the United States in the 1960s and early 1970″

    At least no one that you knew of at the time of you writing this blog post. However, Devin Monnens and myself did that very thing and Devin presented our paper/research at the Game History Annual Symposium in Montreal this past June. It was based on pretty extensive documentation collecting, interviews and surveys.

    It originally stemmed from the research on whether or not Spacewar! was actually at Utah during Bushnell’s claimed 1965/1966 timeframe (http://ataribook.com/book/nolan-digging-spacewar/). Upon completion of that, it begged the question of what the much larger distribution pattern looked like across the early 60s through 70s timeframe. Hence the paper.

    BTW, great work on your blog. Like the research you’re doing. 🙂

    1. Looks like the gang’s all here! Thanks for the kind words on the blog Marty. I’m glad you and Devin ended up doing that paper. I remember you mentioning that you might do it last year when we were discussing the whole Bushnell at Utah thing, but the last time we talked about it, you were not sure you had the time. Would it be possible to get a copy of the paper somehow?

      1. LOL, I didn’t realize this was you Alex. Don’t know why I wasn’t seeing the connection. Email me and I’ll start a convo with you and Devin so you can get the latest copy.

      2. Thanks for passing along the paper. I have made a few changes to the post to incorporate your research regarding the spread of the game, with full credit to you and Devin, of course.

  5. One other quick comment. You mentioned that the story of technicians using Spacewar to test new PDP-1 installations hadn’t been confirmed by anyone at DEC.

    He didn’t work at DEC but Steve Russell does repeat the story here:

    Though, as you mentioned, he may just be parroting a story he heard (since he presumably wouldn’t have had first hand knowledge of it)

  6. Hi late to the party. Wanted to add some points.

    When was Spacewar! conceived? Wayne Wiitanen, J. Martin Graetz, and Steve Russell were the trio who conceived of it. Graetz’s May 1962 paper stated December 1961. Levy says it was Summer 1961. Graetz’s later paper and Russell’s oral interview with CHM put it after the Minskytron, and thus after DDT.

    DDT was composed sometime in September.
    There is no date on Tri-Pos or Minskytron.
    Wayne Wiitanen was called to service in (late) October after the Berlin Wall Crisis.

    So evidence strongly indicates Spacewar! Was conceived somewhere in September to October 1961 – I would lean towards October. Why the December 1961 date in Graetz’s first article? Maybe he was referring to the development of the game. I would think the 1962 paper is most reliable otherwise, considering it was written at the time.

    “According to the game code itself as relayed by Landsteiner, Samson completed Expensive Planetarium around March 13, 1962, and Russell incorporated the code into the next formal release of the game, Spacewar! 2B, on April 2, 1962.”
    We’ve found another code printout incorporating Stars from March 25.

    I didn’t notice the Army Reserve note. Good eye! The DECUS article also states that you could get the code from Steve Russell. However, if he was in the reserve for six months, he would have likely been called up after the Open House based on the DECUS article and making the scorer. So that means he would have gotten out of the Reserve in November – after the September Spacewar 3.1 code is dated (doesn’t mean he worked on that one, just that it came from him). I am sure you could get information from the Army records. Russell might be able to clarify a little, too, but I haven’t heard of anything.

    On that note, Bob Saunders’s contributions are understated. Russell and Saunders held several marathon sessions (6-8 hours) in January and February to complete the code. Russell did most of the code, but it wasn’t just him.

    Saunders talked about the control boxes in this interview, but his dates are all foggy: http://typewritten.org/Articles/Saunders-20030405.html

    1. Just my two cents on “when was Spacewar! conceived?”:
      I think, we may assume that the group was thinking about the game already in summer 1961, without much of a contradiction in the various sources. There’s a quote of one of the Spacewar-authors (I can’t find the source for the moment, but I believe it’s either Sounders or Kotok) on how the final game differed from the first concepts and how many of the original ideas didn’t make it into the game. And, again, there’s this universal tribute to Wayne Wiitanen (who was absent during the actual phase of programming) hinting at an important role in this phase of conception. Presumingly this phase of thinking up things wasn’t just a matter of days but rather of weeks and months. Adding some time for Steve Russell to procrastinate in an extent that makes up for a story to tell (the famous “sine-cosine-incident”) and some time in between for the machine to actually arrive and getting the tools ready (and another delay for the Type 30 display arriving somewhat later), we’ve probably arrived in late 1961 for the actual coding to begin. (And then there are also this photos of the PDP-1 with the Type 30 half-assembled at the Tech Model Railroad Club near the model tracks – which were probably made before the PDP-1 was eventually located in room 26265.)

      On the control boxes: There are some new images to be found in the CHM’s online catalog, showing some later and rather complex control boxes (serving some explanation for the rather complex decoding to be found in later versions of Spacewar! 4). While not explicitly mentioned in the descriptions, it’s quite clear from context that we’re in MIT, Room 26265:

      Some complex control boxes:
      http://www.computerhistory.org/collections/catalog/102631249

      Same setup in context, room 26265:
      http://www.computerhistory.org/collections/catalog/102631246

      The contact sheet of the whole series:
      http://www.computerhistory.org/collections/catalog/102618927

      “We’ve found another code printout incorporating Stars from March 25”
      – Is this just a listing of the star field data, or is there more about it?

      1. The funny thing is, a lot of this I am sure could be answered by Graetz and/or Russell. Didn’t have much luck hearing back. I assume it’s not priority and they figure they said all that needs to be said. More important business and all that…

      2. On the photos of the control boxes (CHM): The pictures are probably not before 1965, since there are DEC drives to be seen in the (right) background, which originated from the LINC.
        It may be interesting that Spacewar! seems to have contributed to direct user input quite a bit as there are some records of control boxes first being built to play Spacewar! and then being used to brose directories and so on. (E.g. there’s a similar account by Kuhfeld about the Williams Laboratory of Nuclear Physics in Minnesota.) – Are there any other known accounts?

      3. That control box clearly wasn’t made for Spacewar.

        The DDP-224 at University of Michigan had a ‘joystick’ used for analyzing bubble chamber photographs. This was repurposed for Spacewar.

        I don’t recall Kuhfeld saying the control box was used for anything other than Spacewar. Where did you hear that?

  7. @Devin Monnens (deserthat): I’d guess the control boxes on these mid-60s photographs might have had some inspiration from the LINK (with both digital and analog controls) and might also be related to project MAC. But they illustrate well how complicated these boxes soon became.

    Kuhfeld once dropped the following note on the special purpose joysticks for the CDC 3100 at Williams Laboratory of Nuclear Physics tandem Van de Graaff accelerator, university of Minnesota:

    “The controllers, by the way, were turned to use in physics. Researchers could ‘fly’ variables around in parameter space. Tried that with some functions, but didn’t have much luck; others’ mileage differed.”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s