Space Travel (video game)
Gameplay image of Space Travel
Space Travel is an early video 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 much stronger than that of its moon Phobos. This means that a player attempting to land on Phobos needs to allow the ship to fall below the moon's surface until it is close enough to Phobos's center that Phobos's pull becomes the dominant force, at which point the ship snaps back to be landed on the surface. 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 increasing the gravity level and thus the difficulty, or an adjustment to the coordinate display system so that, rather than the ship staying in the center of the screen and the planets moving relative to it, the current dominant planet would always be at the bottom of the screen, with the ship moving relative to it.
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. The computer, however, was run on an "interactive batch" model, meaning that several computer terminals were attached to the central computer and each terminal's program jobs had to be submitted in a queue, resulting in long pauses in the game while the GE 635 worked on jobs for other terminals. 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, learned that a neighboring department had an older, little-used PDP-7 minicomputer 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 base code libraries for programs to use, including arithmetic packages and graphics subsystems. These initial subsystems were coded in assembly language on the GECOS system and assembled, then the output physically put on punched tapes to be carried over and inserted into 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 Canaday, rooted in their experience with the Multics file system, with which he then ran Space Travel.
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 one of the early mainframe games 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.
- Abzug, Charles (2003-12-26). Bidgoli, Hossein, ed. 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.