Having a healthy imagination and perchance for sci-fi, Spaceship is a bit of both. I assume I conjured up the idea as part of some playtime activity. Written in 1983, it was one of my earlier programs and lacked graphics. Yet, it was still a bit of fun.
Navigating a spaceship is easy.
As a navigator for the spaceship lanes, you need to be tested. At least, that is what Spaceship requires you to do. Having watched Star Trek II by then, I was probably role playing my own Kobayashi Maru. Subtle terms like worp drive and impulse hint at Star Trek references.
Spaceship, 1983, ZX81 screenshot by Steven Reid
Spaceship as a game is a bit light on play and heavy handed on words. Acting as a sort of computerized quiz. Set in a different context, I could have turned the program into a regular test. Of course, it isn't. Instead, it is an over wordy test set in a science fiction setting with little substance.
With two whole questions, the test is simplistic and it should be easy to pass it. Although the content is lacking, the presentation actually works well. The game uses a clean screen with standard positions for prompts and text. The text is well placed with boolean statements used to alter the story.
You are not determined and other fun text.
The results of the quiz, although wordy and difficult to read, are cleverly presented. The game asks for your name and age, using both to adjust the results. The next screen presents a full page of text related to how you answered the test and your age.
This is the heavy handed part, overly hammed up with a grade based on two whole questions. The grades and answers are, shall we say, different. I was young and the test reflected how I perceived grading. Using words like determined, awful and honor sound big but don’t match the value.
What is more interesting is the code that underlies it. Spaceship determine your results based on your score and age. Yet, the game doesn’t use numbers and math to determine the results. Instead, it uses a mix of logic to create and display your results.
Saying a little with a lot.
Spaceship first uses your age to set your ability. This is down with a single
LET statement that uses a boolean check to determine what text to display. Other than text, there isn’t much difference in results.
The quiz uses correct, worth 2 points, and partially correct answers, worth 1, to set a score variable. This allows a max possible score of four which is later translated into a grade. But, before using it, the game checks which age ability you are. Using the first letter of the ability string F$, the game then decides which text to display.
With two lines of code, the string G$is set to the appropriate grades based on your age ability. The grades, as noted before, are silly, but fit the feel of the game. There are five grades, based on scores from 0-4. Thus, the resulting text of the game has ten variations. Yet, it accomplishes this in three lines of code.
Finishing up the game.
As slick as that is, Spaceship is a rather long program because of all the extra text it prints. Unlike the quiz and results, the last screen of text of the game doesn’t vary. It is a wordy letter about taking the test, signed by me of course. I have no clue what a spaceship AD is, but I expect it was a role I was playing.
While entering in the program I did run into few issues. The age checking code didn’t match the text and could actually cause the game to crash. I fixed that error along with some spelling issues. Other than that, the game is as it was in 1983.
On the whole, and taken in context to the time it was written, Spaceship is a decent program. It uses some interesting coding tricks and presents well. Things I took to heart in my later life building web pages and user interfaces.
That aside, the game is too shallow and not well suited for any amount of replay. Saying that, I do recommend running through it a few times to see the different answers. But without some outside influence and story telling, Spaceship isn’t much fun on its own. As my 13 year old self might say, “use your imagination!”