Space Travel (video game)
Gameplay image of Space Travel
Space Travel is an early computer game developed by Ken Thompson in 1969 that simulates travel in the solar system. The player flies their ship around a two-dimensional scale model of the solar system with no objectives other than to attempt to land on various planets and moons. The player can move and turn the ship, and adjust the overall speed by adjusting the scale of the simulation. The ship is affected by the single strongest gravitational pull of the astronomical bodies. The game was developed at Bell Labs before the rise of the commercial video game industry in the early history of video games, and was ported during 1969 from the Multics operating system to the GECOS operating system on the GE 635 computer, and then to the PDP-7 computer. As a part of porting the game to the PDP-7, Thompson developed his own operating system, which later formed the core of the Unix operating system. Space Travel never spread beyond Bell Labs or had an effect on future games, leaving its primary legacy as part of the original push for the development of Unix.
Space Travel is a spaceflight simulation video game, presented in a two-dimensional top-down view, with monochrome graphics consisting of white lines on a black background. In it, the player controls a spaceship as it flies through a representation of the solar system. The game has no specific objectives, other than to attempt to land on the various planets and moons of the system. The planets and most of the moons in the solar system are represented to scale both in size and distance from each other, though the orbits are simplified to be circles. To land on a body, the player's ship must cross the line representing the surface while moving at a low enough speed. The player is able to control the ship to go forwards and backwards and turn. The ship moves at a constant level of acceleration relative to the scale of the screen, which the player can control; scaling the screen up high enough allows the player to travel across the solar system in seconds, though they risk overshooting their target and becoming unable to find the solar system again, and scaling down allows the player to be moving slowly enough to land. The ship is always in the center of the screen, facing the top; turning the ship right or left therefore rotates the solar system around the ship instead.
Each planet or moon has a mass, and therefore a gravitational pull, though they do not affect one another and only the single strongest pull affects the player's ship. This sometimes results in odd behavior; for example, the gravitational effect of Mars is stronger than that of its moon Phobos until the player has already moved below the surface of Phobos, meaning that to land on the moon the player must fall below the surface until they suddenly snap back to be landed. The name of the planet or moon with the current strongest pull is displayed on the screen. Players are able to edit the program to change the conditions; popular variations by the original players were to adjust the coordinate system so that it rotated around the nearest gravitational body as the ship moved, or to increase the gravity level and thus the difficulty.
In 1969, programmer Ken Thompson worked for Bell Labs on the Multics operating system. During his work, he developed Space Travel on a GE 635 computer. When Bell Labs pulled out of the Multics project, he adapted the code from Multics to a Fortran program so that it could run on the GECOS operating system already present on the GE 635. Thompson and other Bell Labs employees, such as Ravi Sethi and Dennis Ritchie, played the game on the system, but the computer was run on an "interactive batch" model where several terminals were attached and each program job had to be submitted in a queue. The company tracked the computer usage internally with a cost system, meaning that each game cost US$50 to US$75 on the internal balance sheet to play. The game also did not run as well on the GECOS system as it had on the Multics. Additionally, the system required the user to type in commands rather than press buttons, resulting in the ship being difficult to control. Wanting to find a better solution, Thompson initially petitioned for Bell to purchase a DEC-10 computer, then US$120,000, for the purposes of writing a new operating system; he was turned down, as Bell Labs was uninterested in spending money on an operating system project after just cancelling the previous one. Thompson, however, managed to find out that a neighboring department had an older PDP-7 minicomputer that was little-used, which he could re-purpose.
As Thompson began porting the game to the new system, he decided not to base the code on any of the existing software for the computer, and instead write his own. As a result, he implemented his own floating point arithmetic package, graphics coordinate system for outputting to the screen, and a debugging subsystem to display what was at a location if the user typed one in. These initial subsystems were coded in assembly language on the GECOS system and assembled, then the output put on paper tapes to be carried over to the PDP-7. Thompson then wrote an assembler for the PDP-7 to avoid this laborious process. The game ran very slowly on the new machine, causing Thompson to branch out from there to design his own file system based on some ideas by Dennis Ritchie and Rudd Cassaway, rooted in their experience with the Multics file system, which he then ran Space Travel with.
By the time Space Travel was fully ported to the PDP-7, Thompson had expanded his software suite to a full, basic operating system, in a way he had been unable to with the Multics project and the GE 635. The operating system he designed spread to other users in the company, and formed the core of what would be named in 1970 the Unix operating system. Space Travel was developed before the rise of the commercial video game industry in the early history of video games, and was never distributed beyond its initial locations. As a result, it had no effect on future video games, and its primary legacy is that of sparking the creation of Unix.
- Ritchie, Dennis M. (2001). "Space Travel: Exploring the solar system and the PDP-7". Bell Labs. Archived from the original on 2015-12-26. Retrieved 2016-02-04.
- Fiedler, David (August 1983). "The History of Unix". Byte 8 (8) (McGraw-Hill). p. 188. ISSN 0360-5280. Retrieved 2016-02-04.
- Ritchie, Dennis M. "Yes, A video game contributed to Unix Development". Harvard University. Archived from the original on 2015-12-10. Retrieved 2016-02-04.
- Bidgoli, Hossein (2003-12-26). The Internet Encyclopedia, Volume 3. John Wiley & Sons. pp. 495–496. ISBN 978-0-471-22203-3.
- Raymond, Eric S. (2003-09-23). The Art of Unix Programming. Addison-Wesley. pp. 30–31. ISBN 978-0-13-246588-5.
- Milian, Mark; Chan, Marcus (2012-11-15). "'Pong' Turns 40, But It's Not the Oldest Video Game". Bloomberg. Archived from the original on 2015-02-16. Retrieved 2016-02-04.