Zoom in by 200% or more to better enjoy the game
i
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.
        
Page 1 2 3 4 Hide