Wow, 2016 and I'm still digging programs out of my stack of print outs. Kicking off the new year, I'm grabbing a story based program. I wrote Star Probe, our program of the month, in the style of a Choose Your Own Adventure book—and yes, I actually owned most of them. Although you can only enter numbers, Star Probe is actually an example of interactive fiction. Though not as advanced as an Infocom game, Star Probe delivers an interesting, if short, story to the player. Before I spoil where I drew my inspiration, go play it. It will only take a few minutes. Just try to ignore the horrible grammar and spelling of a 14-year-old.
Flipping from the normal flow, lets start by talking about how I put Star Probe together. If you understand
BASIC, even a little, you'll see that the program is almost all text. Covering over half the code, the program uses a
INPUT statement which only accepts a number. Star Probe then walks through a series of
IF statements to tell you what happened. You might be redirect as well, but otherwise the action unfolds in sequence.
Broken into three acts, Star Probe's second is the exception. I wrapped that act with a loop which allows you to repeat choices. This extends the story a bit, allowing the player to try different options. It is this “if then” formula that drives each act of the story. It is just the programmatic equal to flipping to the given page in those adventure books.
Story wise, Star Probe has promise, but has its filled of flaws. My goodness, could I have used a proofreader. It is almost comical. The spelling is abysmal. There are grammatical errors, errant or missing spaces, weird hyphenation, and misuse of words. Really? I used “since” for “sense?” Even at 14 I should have known better. And yes, I left all that in.
Okay, you're asking why. In once sense, I can actually explain it away. You did get your ROM erased. If you can't remember how to control your own body, Star Probe, why would you expect to remember how to talk. Yes, you have to overlook that I narrated the story in third person. Work with me here.
This leads to the next series of flaws. The physics and science of the story are a bit wacky. What gives with “worp drives” and why are they illegal? It is surly a reference to Star Trek's warp drives, but is oddly dropped into the story. And a mind beam erases your ROM banks? Getting past you having a mind and the fact I never explain where that mind beam came from, I'm certain it would affect RAM, or volatile memory, first. That is assuming such memory structures are in use by a hyper intelligent machine. It's remarkable that you're still functioning without those ROM banks.
Interesting enough, even with all the bad grammar and logical errors, the story works. If you're as old as me, I'm sure you've guessed that the inspiration for the story is Disney's Black Hole. That movie has its share of physics issues as well, but it is still a romp. Star Probe, in a way, sets up tension by removing the obvious moves. It becomes a guessing game, but, in doing so, the story unfolds a bit with each guess.
It is also unfair. You will die. Get over it. That was common for programs back then. Let's be honest, it will only take you maybe ten minutes to get through all the endings. It works. It tells a story and, as you put the few puzzle pieces together, you feel like you've accomplished something.
Yet, it is still a simple puzzle. I could have made it better. For example, if I'd written code to remember some of the previous choices. Take the use of shields. I could have noted when you turned them on or off. Doing so, I could have provided alternative results later in the game. Not much, but if I'd used just that simple addition it would have made Star Probe more interactive.
As a side note, I wrote maybe a dozen of these adventure programs over the years. I have a fond memory of my attempt of one such game on an Atari 800 as part of my 6th Grade Computer Club. Yes, the story sucked. Yet, we were all starved for games. As bad as it was, people played it and they talked about it. It was motivating.
The point being, the attempt is sometimes worth more than the quality. It's okay to fail. Star Probe isn't perfect. It's one of hundreds of little programs I wrote. All those failures, and successes, built a foundation that drives me even today. Think you can do better? Than do it! And share it! Preferably here. And no, you don't need to use a ZX81.