A brief history of SPACE ------------------------ I wrote the SPACE program while spending a year as a "foreign student" at Dickinson College in Carlisle, PA in 1980-1981. The game was inspired by the Star Trek game already available under the RSTS/E operating system of the DEC PDP11/70 computer that was then "time shared" by hundreds of users on campus. Having been introduced to Dungeons & Dragons by the friends I made in the computer room, I added the idea of your ship becoming more powerful, and the alien ships becoming more dangerous, as your score went up. Although I gave the game the fancy title "Star Quest", it's always been called SPACE, as that was the name of the program code files. When I left Dickinson in June, the game was added to the "official" games account, and could be run by typing GAME SPACE at the command line. It became very popular in the next year, largely because it listed the names of the 10 ships having the highest scores at the start of a game. I wrote SPACE in DECUS Pascal, but to celebrate its 40th anniversary, I rewrote the original Pascal code to JavaScript, aiming to recreate the "look and feel" of the original game. I dedicate this re-creation to my dear friends who have played SPACE in 1981: Betzi, Chris Leyon, Chris Russell, Gordy and Steve, to my first Computer Science teacher professor Martin, and to Tom Burtnett who at the time was the director of the Dickinson Computer Center, and gave young students like me opportunities to develop their skills. Delft, January 2021 Pieter Bots
Graphics and animation ---------------------- The idea of SPACE grew as Chris Russell made his CLIFF programs that created a stick figure animation walking to the edge of a cliff -- with various dramatic endings. He showed me how to use VT52 escape sequences to set the cursor position, clear (parts of) the screen, and switch to the VT52's alternative character set. From this set, I chose the ° for the stars (being more elegant than the *) and the ÷ for the player's space ship (being similar to the frontal silhouette of the Star Trek Enterprise). The set of alien ships gradually evolved: > - Scout ] - Fighter % - Destroyer ^+^ - Cruiser }+{ - Battleship ]*[ - Battlecruiser >=< - Assaultship ~*~ - Battle Star =X= - Death Star . - Defender The Alien Mothership (that would "spit out" a new Defender every turn) and the Alien Planet (huge and shooting fireballs) involved more elaborate ASCII art. Later, to excite my friends, I added the Flying Saucer that would hop around the screen and have "reflecting shields" just like Star Bases, hence the graphic: (0) To add some confusion, I also added the Doppelganger, that would likewise move, but look and furthermore look identical to the player's ship to create confusion. A final addition was the Mimic Scout < that indeed led to some excitement, as they appeared at a level where players had not seen scouts for ages.
Game Controls ------------- The game controls were inspired by the VT52's separate function keyboard. Evidently, the arrow keys should move the ship around, and the red function key should be the FIRE button. I did not mind that this would exclude diagonal movement, but the ships' laser beams should be able to fly in all directions. Thus, the number keys became the means for aiming: 8 for up, 2 for down, etc. 7 8 9 \ | / \|/ 4 -- * -- 6 /|\ / | \ 1 2 3 Later, I also added the Z key (for "zap") to fire. Other one-letter commands were W (for "warp") to jump to a new "quadrant" (another term I borrowed from the Star Trek game), N (for "new") to redraw the screen, O (for "on/off") to toggle the sound effects (which were limited to "buzzing" by printing the ^G character), I (for "invisible") to skip the laser beam animation (this would speed up the game especially when there were many users online), and S (for "stop/save"). The J command (for "jump") permitted to move more than one row or column at a time. Typing J 4 → would move your ship 4 columns to the right, provided that your score was so high that you had a laser strength of at least 4. The F command (for "fire rate") would split your fire power into separate beams, i.e., F 3 [ENTER] would make your ship fire three shots. Both features were valued by players in a tight spot: jumping exposed you less to enemy fire, and multiple beams economized fighting two ennemy ships that lined up in your firing direction.
Availability ------------ During its development, people could play SPACE by typing "RUN [206,112]SPACE" where the numbers between brackets identified my user account. The ship data of players was stored in a file with "protection 0" (which made it quite vulnerable to manipulation, so I encoded the data). When I returned to the Netherlands in Summer 1981, SPACE was added to the game library. The next year, it was the most popular game on campus, but Dickinson also acquired a VAX system, which then became the default computer on campus. When I first visited again in 1983, the PDP11/70 was still accessible, and SPACE still worked. During my second visit in 1985, it had been phased out, and most students had their own personal computer. However, the SPACE source code was still on a backup tape. Using Kermit,I could transfer it to a PC, adapt it to Turbo Pascal, and take it home on a 3½" floppy disk. It is this code that I have now converted to JavaScript. Credits ------- I would not have been able to recreate the "look and feel" of the old SPACE without the work of these people: - The Computer History Museum that publishes pictures of the VT52 terminal. - Fritz Mueller, who made the DEC VT52 font available as OTF. - Drovak, who recorded and published the VT52 bell sound.