Spacewar!

Spacewar! is a 1962 space combat computer game developed and published by Steve Russell, in collaboration with Martin Graetz, Wayne Wiitanen, Bob Saunders and Steve Piner, for DEC's PDP-1. It was written for the newly installed DEC PDP-1 at the Massachusetts Institute of Technology. After its initial creation, Spacewar! was expanded further by other students and employees of universities in the area, including Dan Edwards and Peter Samson. It was also spread to many of the few dozen, primarily academic, installations of the PDP-1 computer, making Spacewar! the first known video game to be played at multiple computer installations.
The game features two spaceships, "the needle" and "the wedge", engaged in a dogfight while maneuvering in the gravity well of a star. Both ships are controlled by human players. Each ship has limited fuel for maneuvering and a limited number of torpedoes, and the ships follow classical mechanics, remaining in motion even when the player is not accelerating. Flying near the star to provide a gravity assist was a common tactic. Ships are destroyed when hit by a torpedo or colliding with the star. At any time, the player can engage a hyperspace feature to move to a new, random location on the screen, though each use has an increasing chance of destroying the ship instead. The game was initially controlled with switches on the PDP-1, though Alan Kotok and Bob Saunders built an early gamepad to reduce the difficulty and awkwardness of controlling the game.
Spacewar! is one of the most important and influential games in the early history of video games. It was extremely popular in the small programming community in the 1960s and was widely ported to other computer systems at the time. It has also been recreated in more modern programming languages for PDP-1 emulators. It directly inspired many other electronic games, such as the first commercial arcade games, Galaxy Game and Computer Space (1971), and later games such as Asteroids (1979). In 2007, Spacewar! was named to a list of the ten most important video games of all time, which formed the start of the game canon at the Library of Congress.
==History==
===Background===
During the 1950s, various computer games were created in the context of academic computer and programming research and for demonstrations of computing power, especially after the introduction later in the decade of smaller and faster computers on which programs could be created and run in real time as opposed to being executed in batches. A few programs, however, while used to showcase the power of the computer they ran on were also intended as entertainment products; these were generally created by undergraduate and graduate students and university employees, such as at the Massachusetts Institute of Technology (MIT) where they were allowed on occasion to develop programs for the TX-0 experimental computer. These interactive graphical games were created by a community of programmers, many of them students and university employees affiliated with the Tech Model Railroad Club (TMRC) led by Alan Kotok, Peter Samson, and Bob Saunders. The games included Tic-Tac-Toe, which used a light pen to play a simple game of noughts and crosses against the computer, and Mouse in the Maze, which used a light pen to set up a maze of walls for a virtual mouse to traverse.
In the fall of 1961, a Digital Equipment Corporation (DEC) PDP-1 minicomputer was installed in the "kludge room" of the MIT Electrical Engineering Department to complement the older TX-0, and even before its arrival a group of students and university employees had been brainstorming ideas for programs that would demonstrate the new computer's capabilities in a compelling way. Three of them—Steve Russell, then an employee at Harvard University and a former research assistant at MIT; Martin Graetz, a research assistant and former student at MIT; and Wayne Wiitanen, a research assistant at Harvard and former employee and student at MIT—referring to their collaboration as the "Hingham Institute" as Graetz and Wiitanen were living in a tenement building on Hingham Street in Cambridge, Massachusetts, came up with the idea for Spacewar!. "We had this brand new PDP-1", Steve Russell told Rolling Stone in a 1972 interview. "Marvin Minsky had built some little pattern-generating programs which made interesting patterns like a kaleidoscope. Not a very good demonstration. Here was this display that could do all sorts of good things! So we started talking about it, figuring what would be interesting displays. We decided that probably you could make a two-dimensional maneuvering sort of thing, and decided that naturally the obvious thing to do was spaceships."
===Development===
In the fall of 1961, while discussing ideas for a program for the PDP-1, Russell had finished reading the Lensman series by E. E. "Doc" Smith and thought the stories would make a good basis for the program. "His heroes had a strong tendency to get pursued by the villain across the galaxy and have to invent their way out of their problem while they were being pursued. That sort of action was the thing that suggested Spacewar!. He had some very glowing descriptions of spaceship encounters and space fleet maneuvers." Other influences cited by fellow programmer Martin Graetz include E.E. Smith's Skylark novels and Japanese pulp fiction tokusatsu movies.
For the first few months after its installation, the PDP-1 programming community at MIT focused on simpler programs to work out how to create software for the computer. The community had heard of the Spacewar! concept, however, and understood that Russell would spearhead the development of it. When members of the community began to feel the time was right to start work on the game, Russell, nicknamed "Slug" because of his tendency to procrastinate, began providing various excuses as to why he could not start programming the game. One of these was the lack of a trigonometric function routine needed to calculate the trajectories of the spacecraft. This prompted Alan Kotok of TMRC to call DEC, who informed him that they had such a routine already written. Kotok drove to DEC to pick up a tape containing the code, slammed it down in front of Russell, and asked what other excuses he had. Russell, later explaining that "I looked around and I didn't find an excuse, so I had to settle down and do some figuring," started writing the code in December 1961. The game was developed to meet three precepts Russell, Graetz, and Wiitanen had developed for creating a program that functioned equally well as an entertainment experience for the players and as a demonstration for spectators: to use as much of the computer's resources as possible, to be consistently interesting and therefore have every run be different, and to be entertaining and therefore a game. It took Russell, with assistance from the other programmers—including Bob Saunders and Steve Piner (but not Wiitanen, who had been called up by the United States Army Reserve)—about 200 man-hours to write the first version of Spacewar!, or around six weeks to develop the basic game.
left|thumb|300px|alt=screenshot of code used to produce the planetarium|Excerpt from the Expensive Planetarium star charts
Russell had a program with a movable dot by January 1962, and an early operational game with rotatable spaceships by February. The two spaceships were designed to evoke the curvy spaceship from Buck Rogers stories and the PGM-11 Redstone rocket. That early version also contained a randomly generated background star field, initially added by Russell because a blank background made it difficult to tell the relative motion of the two spaceships at slow speeds. The programming community in the area, including the Hingham Institute and the TMRC, had developed what was later termed the "hacker ethic", whereby all programs were freely shared and modified by other programmers in a collaborative environment without concern for ownership or copyright, which led to a group effort to elaborate on Russell's initial Spacewar! game. Consequently, since the inaccuracy and lack of realism in the star field annoyed TMRC member Peter Samson, he wrote a program based on real star charts that scrolled slowly through the night sky, including every star in a band between 22.5° N and 22.5° S down to the fifth magnitude, displayed at their relative brightness. The program was called "Expensive Planetarium"—referring to the high price of the PDP-1 computer compared to an analog planetarium, as part of the series of "expensive" programs like Expensive Typewriter—and was quickly incorporated into the game in March by Russell, who served as the collator of the primary version of the game.
The initial version of the game also did not include the central star gravity well or the hyperspace feature; they were written by MIT graduate student and TMRC member Dan Edwards and Graetz respectively to add elements of a strategy to what initially was a shooter game of pure reflexes. The initial version of the hyperspace function was limited to three jumps, but carried no risk save possibly re-entering the game in a dangerous position; later versions removed the limit but added the increasing risk of destroying the ship instead of moving it. Additionally, during this development period, Kotok and Saunders created the gamepads for the game. The game was a multiplayer-only game because the computer had no resources left over to handle controlling the other ship. Similarly, other proposed additions to the game such as a more refined explosion display upon the destruction of a spaceship and having the torpedoes also be affected by gravity had to be abandoned as there were not enough computer resources to handle them while smoothly running the game. With the added features and changes, Spacewar! was essentially complete by late April 1962, and Russell and the other programmers shifted focus from developing the game to preparing to show it off to others such as at the MIT Science Open House in May. The group added a time limit, as well as a larger, second screen for viewers at the demonstration, and that same month Graetz presented a paper about the game, "SPACEWAR! Real-Time Capability of the PDP-1", at the first meeting of the Digital Equipment Computer Users' Society. The demonstration was a success, and the game proved very popular at MIT; the laboratory that hosted the PDP-1 soon banned play except during lunch and after working hours. Visitors such as Frederik Pohl enjoyed playing the "lovely game"; the editor of Galaxy Science Fiction wrote that MIT was "borrowing from the science-fiction magazines", with players able to pretend being Skylark characters.
Beginning in the summer of 1962 and continuing over the next few years, members of the PDP-1 programming community at MIT, including Russell and the other Hingham Institute members, began to spread out to other schools and employers such as Stanford University and DEC, and as they did they spread the game to other universities and institutions with a PDP-1 computer. As a result, Spacewar! was perhaps the first video game to be available outside a single research institute. Over the next decade, programmers at these other institutions began coding their own variants, including features such as allowing more ships and players at once, replacing the hyperspace feature with a cloaking device, space mines, and even a first-person perspective version played on two screens that simulates each pilot's view out of the cockpit. Some of these Spacewar! installations also replicated Kotok and Saunders' gamepad. According to a second-hand account heard by Russell while working at DEC, Spacewar! was reportedly used as a smoke test by DEC technicians on new PDP-1 systems before shipping because it was the only available program that exercised every aspect of the hardware. Although the game was widespread for the era, it was still very limited in its direct reach: the PDP-1 was priced at US$120,000 and only 55 were ever sold, most without a monitor and many of the remainder to secure military locations or research labs with no free computer time, which prevented the original Spacewar! from reaching beyond a narrow, academic audience. Though some later DEC models, such as the PDP-6, came with Spacewar! pre-loaded, the audience for the game remained very limited; the PDP-6, for example, sold only 23 units.
==Gameplay==
thumb|150px|Recreation of Spacewar! in Java
The gameplay of Spacewar! involves two monochrome spaceships called "the needle" and "the wedge", each controlled by a player, attempting to shoot one another while maneuvering on a two-dimensional plane in the gravity well of a star, set against the backdrop of a starfield. The ships fire torpedoes which are not affected by the gravitational pull of the star. The ships have a limited number of torpedoes and a limited supply of fuel, which is used when the player fires his thrusters. Torpedoes are fired one at a time by flipping a toggle switch on the computer or pressing a button on the control pad, and there is a cooldown period between launches. The ships follow Newtonian physics, remaining in motion even when the player is not accelerating, though the ships can rotate at a constant rate without inertia.
Each player controls one of the ships and must attempt to shoot down the other ship while avoiding a collision with the star. Flying near the star can provide a gravity assist to the player at the risk of misjudging the trajectory and falling into the star. If a ship moves past one edge of the screen, it reappears on the other side in a wraparound effect. A hyperspace feature, or "panic button", can be used as a last-ditch means to evade enemy torpedoes by moving the player's ship to another location on the screen after disappearing for a few seconds, but the reentry from hyperspace occurs at a random location, and in some versions there is an increasing probability of the ship exploding with each use.
Player controls include clockwise and counterclockwise rotation, forward thrust, firing torpedoes, and hyperspace. Initially these were controlled using the front-panel test switches on the PDP-1 minicomputer, with four switches for each player, but these proved to be awkward to use and wore out quickly under normal gameplay, as well as causing players to accidentally flip the computer's control and power switches. The location of the switches also left one player off to one side of the CRT display due to the limited space in front of the computer, which left them at a disadvantage. To alleviate these problems, Kotok and Saunders created a detached control device, essentially an early gamepad. The gamepad had a switch for turning left or right, another for forward thrust or hyperspace, and a torpedo launch button. The button was silent so that the opposing player would not have a warning that the player was attempting to fire a torpedo during a cooldown period.
==Legacy==
Spacewar! was extremely popular in the small programming community in the 1960s and was widely recreated on other minicomputer and mainframe computers of the time before migrating to early microcomputer systems in the 1970s. Early computer scientist Alan Kay noted in 1972 that "the game of Spacewar! blossoms spontaneously wherever there is a graphics display connected to a computer," and Graetz recalled in 1981 that as the game initially spread it could be found on "just about any research computer that had a programmable CRT". The majority of this spread took place several years after the initial development of the game; while there are early anecdotes of players and game variants at a handful of locations, primarily near MIT and Stanford, it was only after 1967 that computers hooked up to monitors or terminals capable of playing Spacewar! began to proliferate, allowing the game to reach a wider audience and influence later video game designers—by 1971, it is estimated that there were over 1000 computers with monitors, rather than a few dozen. It is around this time that the majority of the game variants were created for various computer systems, such as later PDP systems, and in 1972 the game was well-known enough in the programming community that Rolling Stone sponsored the "SpaceWar! Olympics", possibly the first video game tournament.
In the early 1970s, Spacewar! migrated from large computer systems to a commercial setting as it formed the basis for the first two coin-operated video games. While playing Spacewar! at Stanford sometime between 1966 and 1969, college student Hugh Tuck remarked that a coin-operated version of the game would be very successful. While the high price of a minicomputer prevented such a game from being feasible then, in 1971 Tuck and Bill Pitts created a prototype coin-operated computer game, Galaxy Game, with a US$20,000 PDP-11. Around the same time, a second prototype coin-operated game based on Spacewar!, Computer Space, was developed by Nolan Bushnell and Ted Dabney, which would become the first commercially sold arcade video game and the first widely available video game of any kind. Though Tuck felt that Computer Space was a poor imitation of Spacewar! and his game a superior adaptation, many players believed both of the games to be upgraded variants of Spacewar!.
Byte magazine published an assembly language version of Spacewar! in 1977 that ran on the Altair 8800 and other Intel 8080-based microcomputers using an oscilloscope as the graphical display and a lookup table for orbits, as well as a three-dimensional variant in 1979 written in Tiny BASIC. More modern recreations of the game for computers have been made as well. An emulated version of the original game, based on the original source code made publicly available by Martin Graetz and running in a JavaScript PDP-1 emulator, was made available to play on the internet in 2012. The only working PDP-1s that are known to exist are kept in the Computer History Museum in Mountain View, California, where demonstrations of the machine are held, which include playing Spacewar!.
In addition to Galaxy Game and Computer Space, numerous other games have been directly inspired by Spacewar!. These include Orbitwar (1974, PLATO network computers), Space Wars (1977, arcade), and Space War (1978, Atari 2600). Additionally, in Asteroids (1979), designer Ed Logg used elements from Spacewar!, namely the hyperspace button and the shape of the player's ship. Products as late as the 1990 computer game Star Control drew direct inspiration from Spacewar!. Russell has been quoted as saying that the aspect of the game that he was most pleased with was the number of other programmers it inspired to write their own games without feeling restricted to using Russell's own code or design.
On March 12, 2007, The New York Times reported that Spacewar! was named to a list of the ten most important video games of all time, the so-called game canon, which were proposed to be archived in the Library of Congress. The Library of Congress took up this video game preservation proposal, and began with the games from this list.
==Trivia==
*Spacewar! was listed by The New York Times as one of the top ten most influential video games in history in 2007.
*Spacewar! was the first video game to be shown outside of a single institution.
*Spacewar! was the first video game to be shown on multiple platforms, as well as to be distributed and redistributed multiple times outside of the single time where it was shown. 
==Gallery==
<youtube>1EWQYAfuMYw</youtube>