Space Travel | |
---|---|
Developer(s) | |
Designer(s) | Ken Thompson |
Platform(s) | Multics, GECOS, PDP-7 |
Release | 1969 |
Genre(s) | Simulation game |
Mode(s) | Single-player |
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. [1] [2] 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 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 distributed beyond its initial locations, by porting to other computer systems, as public domain software. Yet, its primary legacy is sparking the creation of Unix. [3] [4] [5]
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. [6]
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. [6]
In 1969, programmer Ken Thompson worked for Bell Labs on the Multics operating system on a GE 645 mainframe. During his work, Thompson developed Space Travel for GECOS, in interactive batch mode. [7] [8] Multics was a collaborative project between several institutions for an interactive, multi-user operating system that provided convenient access for programming. It was also growing very large and complex, and Bell Labs decided to exit the project in 1969. [9]
Thompson then ported the Space Travel code to Fortran so that it could run on the GECOS operating system already present on the GE 645. [6] [3] Thompson and other Bell Labs employees, such as Ravi Sethi and Dennis Ritchie, played the game on the system. GECOS, however, used an "interactive batch" model, meaning that while several computer terminals were attached to the central computer, each terminal's program jobs had to be submitted in a queue, resulting in long pauses in the game while the GE 645 worked on jobs for other terminals. [6] Additionally, the system required the user to type in commands rather than press buttons, resulting in the ship being difficult to control. [10]
That same year Bell's internal computer departments were split, with the teams working on development put into a new computing research department, while the operation of the internal computing resources, including the GE machines, moved to the computing services department. [9] As a result, computing services tracked the computer usage internally with a cost system, meaning that each session of playing the game cost US$50 to US$75 on the internal balance sheet. [6] [10]
Thompson learned that a neighboring department had an older, little-used PDP-7 minicomputer. [6] This was equipped with a graphics terminal which gave it excellent graphics capabilities for the time. As this machine would solve the problems with playing the game, he ported Space Travel to this platform using a cross compiler on the GECOS system, writing the resulting machine code to punch tape and then loading it into the PDP-7. Thompson did not use any of the provided PDP-7 code, writing everything from scratch, including a floating point library and other low-level tools. [9]
The tedium of moving the code between the two machines prompted Thompson to design his own simple file system based on some chalkboard ideas by Dennis Ritchie and Rudd Canaday, rooted in their experience with the Multics file system. [10] [11] [12] This, in turn, demanded some way to start the process running once loaded. More features were continually added to print, edit, delete and move files. Before long, it had become a simple operating system of its own. [9] Thompson then wrote an assembler for the PDP-7 to avoid using the GECOS computer entirely. [10] [11] [12]
While Thompson continued working on the PDP-7, the original Multics team had concluded that as Bell had exited the Multics program, there was no reason for the company to continue operating the expensive GE 645, and they believed it would be removed within a few months. They repeatedly asked management for a new machine to continue their operating system work. This ultimately culminated in a lengthy proposal to buy some parts and rent others of DEC's new PDP-10 system, then US$120,000, but this too was rejected. Ritchie later surmised that the company had just exited one operating system project and was in no hurry to spend money to start another. [9] [11]
In 1970, however, DEC introduced the PDP-11, which cost $65,000 and could be operated directly by the team without support from the computing services department. The team also changed their proposal; the machine was not being requested to develop an operating system, but a system for "editing and formatting text", essentially a word processor. Management saw merit in this proposal and the machine was ordered in May 1970. [9] By this point, the PDP-7 was already considered completely obsolete. The PDP-11 arrived in the summer, without a hard drive, and the entire team began porting the rudimentary operating system from the PDP-7 to the new machine. During this time it gained the slash-separated hierarchical directories and other features of the Unix system. [9] When the hard drive arrived in December the rest of the basic features were added. The team was now committed to the new system, and Brian Kernighan gave it the name Unix, a "somewhat treacherous pun" on Multics. [9]
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 distributed beyond its initial locations, by porting to other computer systems, as public domain software. Yet, its primary legacy is sparking the creation of Unix. [3] [4] [13]
B is a programming language developed at Bell Labs circa 1969 by Ken Thompson and Dennis Ritchie.
Dennis MacAlistair Ritchie was an American computer scientist. He is best known for creating the C programming language and, with long-time colleague Ken Thompson, the Unix operating system and B programming language. Ritchie and Thompson were awarded the Turing Award from the ACM in 1983, the Hamming Medal from the IEEE in 1990 and the National Medal of Technology from President Bill Clinton in 1999. Ritchie was the head of Lucent Technologies System Software Research Department when he retired in 2007. He was the "R" in K&R C, and commonly known by his username dmr.
Multics is an influential early time-sharing operating system based on the concept of a single-level memory. Nathan Gregory writes that Multics "has influenced all modern operating systems since, from microcomputers to mainframes."
QED is a line-oriented computer text editor that was developed by Butler Lampson and L. Peter Deutsch for the Berkeley Timesharing System running on the SDS 940. It was implemented by L. Peter Deutsch and Dana Angluin between 1965 and 1966.
The PDP-7 is an 18-bit minicomputer produced by Digital Equipment Corporation as part of the PDP series. Introduced in 1964, shipped since 1965, it was the first to use their Flip-Chip technology. With a cost of US$72,000, it was cheap but powerful by the standards of the time. The PDP-7 is the third of Digital's 18-bit machines, with essentially the same instruction set architecture as the PDP-4 and the PDP-9.
The GE-600 series was a family of 36-bit mainframe computers originating in the 1960s, built by General Electric (GE). When GE left the mainframe business the line was sold to Honeywell, which built similar systems into the 1990s as the division moved to Groupe Bull and then NEC.
Joseph Frank Ossanna, Jr. was an American electrical engineer and computer programmer who worked as a member of the technical staff at the Bell Telephone Laboratories in Murray Hill, New Jersey. He became actively engaged in the software design of Multics, a general-purpose operating system used at Bell.
roff is a typesetting markup language. As the first Unix text-formatting computer program, it is a predecessor of the nroff and troff document processing systems.
Malcolm Douglas McIlroy is an American mathematician, engineer, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally proposed Unix pipelines and developed several Unix tools, such as spell, diff, sort, join, graph, speak, and tr. He was also one of the pioneering researchers of macro processors and programming language extensibility. He participated in the design of multiple influential programming languages, particularly PL/I, SNOBOL, ALTRAN, TMG and C++.
General Comprehensive Operating System is a family of operating systems oriented toward the 36-bit GE-600 series and Honeywell 6000 series mainframe computers.
Robert H. Morris Sr. was an American cryptographer and computer scientist.
This article presents a timeline of events in the history of computer operating systems from 1951 to the current day. For a narrative explaining the overall developments, see the History of operating systems.
The history of Unix dates back to the mid-1960s, when the Massachusetts Institute of Technology, AT&T Bell Labs, and General Electric were jointly developing an experimental time-sharing operating system called Multics for the GE-645 mainframe. Multics introduced many innovations, but also had many problems. Bell Labs, frustrated by the size and complexity of Multics but not its aims, slowly pulled out of the project. Their last researchers to leave Multics – among them Ken Thompson, Dennis Ritchie, Doug McIlroy, and Joe Ossanna – decided to redo the work, but on a much smaller scale.
The term "Research Unix" refers to early versions of the Unix operating system for DEC PDP-7, PDP-11, VAX and Interdata 7/32 and 8/32 computers, developed in the Bell Labs Computing Sciences Research Center (CSRC).
Bulls and cows is a code-breaking mind or paper and pencil game for two or more players. The game is played in turns by two opponents who aim to decipher the other's secret code by trial and error.
Unix is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.
Kenneth Lane Thompson is an American pioneer of computer science & Computer Chess Development. Thompson worked at Bell Labs for most of his career where he designed and implemented the original Unix operating system. He also invented the B programming language, the direct predecessor to the C programming language, and was one of the creators and early developers of the Plan 9 operating system. Since 2006, Thompson has worked at Google, where he co-developed the Go programming language.
Joseph Henry 'Joe' Condon was an American computer scientist, engineer and physicist, who spent most of his career at Bell Labs. The son of Edward Condon and Emilie Honzik Condon, he was named after the 19th-century American physicist Joseph Henry.
Mainframe computers are computers used primarily by businesses and academic institutions for large-scale processes. Before personal computers, first termed microcomputers, became widely available to the general public in the 1970s, the computing industry was composed of mainframe computers and the relatively smaller and cheaper minicomputer variant. During the mid to late 1960s, many early video games were programmed on these computers. Developed prior to the rise of the commercial video game industry in the early 1970s, these early mainframe games were generally written by students or employees at large corporations in a machine or assembly language that could only be understood by the specific machine or computer type they were developed on. While many of these games were lost as older computers were discontinued, some of them were ported to high-level computer languages like BASIC, had expanded versions later released for personal computers, or were recreated for bulletin board systems years later, thus influencing future games and developers.
Rudd Canaday is an American computer systems engineer and a previous member of the technical staff at the Bell Telephone Laboratories in Murray Hill, New Jersey, credited to co-develop the initial design of the Unix file system. In 2015 he joined a Palo Alto based tech startup, Entefy, as a Senior Architect & Engineer.