Reclining Model

A BASIC TEXT ADVENTURE IN SPACE

 

m

m

 

Tthe premise is simple. You are the captain of a United Worlds Command space ship charged with transporting a pirate to a prison planet. During your series of course-changes designed to throw any pursuer off the track, you were tracked down and boarded by the pirate's crewmates who killed everyone on the ship but you. You, they thought useful, so they tossed you in the Brig instead. There, you wake up and have to take charge of your ship and get to safety.

As you find your way out of the brig you explore the ship and find out how to get yourself out of this mess. But beware, there are a number of pirates on board and you sometimes encounter them as you travel around. They can shoot you, and kill you, so beware. Luckily you can defend yourself and kill them too. If you just try to move away, a pirate may block your move, so it's up to you whether you choose fight or flight.

A successful conclusion exonerates you with the United Worlds Command. An unsuccessful one ends with your death aboard ship, or worse, disgrace at the United Worlds Command.

I wrote this in BASIC, which was a bit of a challenge, but strangely enough, easy to code once I grokked the idea.

INFOCOM Interactive Fiction is famous for its incredible parser which can seemingly take complex sentences and figure out what you're trying to do. Mine did not. Mine used a standard "verb noun" parser, which was also common among non-INFOCOM Interactive Fiction of the time. It was incredibly limiting.

I did manage to add some INFOCOM-familiar commands like get, drop, inventory, look, examine. And for a short-cut I implemented again which repeated the last command. I even went a little further and implemented and and it, so you could repeat commands with different nouns (ie: >get torch; >and screwdriver; >and battery) or use different commands with the same noun (ie: >push door; >touch it; >open it).

INFOCOM games I modeled my work on used to run a very basic interpreter on the Commodore 64, which allowed you to tell the computer what colors to make your background, border and text. Eventually they changed that to an all-gray scheme which I actually quite liked. I mimicked it a bit, making some changes of my own. My input line was white, while all other text was black.

 

I designed the ship to be similar to the Klingon Bird of Prey, made popular in the third Star Trek film released in 1984 when I was writing this game. Not exactly the same, but isometric in its features with the Bird of Prey. A central body, two wings, a neck and a bridge. Original map for the game was laid out like many INFOCOM maps, in squares on a grid. But I had sketched the ship in detail as a more shapely design. While sketches from that time probably survive in a box somewhere, I re-created its layout recently in Corel Draw. The result is here: Please consider this a feelie if you wish to play the game.


(Click for larger image)

As you can see, the ship was similar in shape.

 

The game uses a one or two-word parser, with the general format of commands being single command or a verb noun pair.

Many of the commands were common to INFOCOM games, such as look, inventory, score, restart, quit, etc. Some of these use one-letter shortcuts.

Here is a list of valid verbs and commands in the game:

VERBS   DIRECTIONS COMMANDS
cut pull north, n

eject

drop push south, s inventory, i
examine read east, e look, l
get set west, w quit
insert shoot up, u restart
kill torch down, d score
listen touch    
move type    
open   SPECIAL  
    and  
    it  

I don't have a wait, (or z) command. Look does more or less the same thing. It moves the game forward one move, but also describes the current room.

 

Strewn around the ship are many objects. Some of them can be gotten and carried, as well as dropped. Others can be touched, or pushed. Some can be read but cannot otherwise be interacted with.

And here is a list of nouns that can be used with these verbs.

a fish pistol
b food scanner
battery keypad screen
beds lever screwdriver
box light shoe
button m snippers
buttons monitor tape
cable pad thing
cutters panel vent
disk paper welder
door pipe  
drill pirate  

 

Some verbs don't really take a noun, like set. Set can use the word course as in set course but it really doesn't need the word course. There may be a few other examples of this too.

The special commands and and it are an attempt to get a useful feature from the INFOCOM parser into my two-word, very limited parser. If you type a verb for one noun and wish to repeat the command for another nound, you can simply use and to replace the verb, like so:

>examine screwdriver
>and cutters
>and torch

Likewise, the special command it is used to replace the noun when you wish to use a different verb on it, like so:

>get screwdriver
>examine it
>drop it

The game does not come with in-game help, so these verbs and nouns must be learned as you play. Trial and error has always been a part of Interactive Fiction, but this game doesn't make it easy. Hopefully some of the more unusual words such as eject are spoken and displayed on monitors enough for you to realize you must use those words. Still, as I said, I don't make it easy. Still, with documentation such as the above, giving out a list of verbs and commands tends to make the game seem smaller to the mind. A good way to document such a game would be to make special note of unusual commands, but leave the more mundane commands up to the user to discover.

 

This is a map of the ship showing all of the rooms, the initial contents of the rooms, and the routes through the ship including doors and puzzle rooms.

There are ostensibly 31 rooms on the ship. Here is a game map, showing the room layout in game-note format.


(Click for a larger version)

Two rooms are duplicates. The elevators are actually duplicate rooms. I couldn't think of another way to do elevators. I was going to put a button in the elevator to push which would operate the elevator, but the simpler solution was just to use up and down. And those commands really did move you up and down. Into copies of the elevators. When you were in the upper elevator you moved down to the copy of the elevator below.

List of Rooms:

Aft Corridor Elevator/Airlock 1 Laser B Upper Lobby
Bridge Elevator/Airlock 2 Laser Control Vent
Brig Engine Room Lobby Wing A
Comm Station Escape Pod A Monitor Room Wing B
Computer Room Escape Pod B Navcomm Station Wing Pod A
Corridor A Freezer Neck Corridor Wing Pod B
Corridor B Kitchen Sick Bay Your Quarters
Dorm Laser A Tool Room  

 

Like The Hitchhiker's Guide to the Galaxy and Planetfall, I wanted PIRACY to have some humor in it. In Interactive Fiction, the most funny things happen when you type in something unexpected, or something outrageous, and having a funny response appear. But there are many ways to inject some humor into Interactive Fiction, just like you would fiction.

1) The title PIRACY itself is an in-joke. In the 1980s when I wrote this game, computer game piracy was rampant.

2) Babel Fish. Obviously a joke on Douglas Adams' Babel Fish. This one is dead, however, and exists only as an homage. Type insert fish and you get the following response:

"The babel fish, noted for disproving the existence of God, is used as a thought translator due to its improbably ability to feed on brain waves and excrete understandable waves. You try repeatedly to put it in your ear but it won't go. Too bad, if it were alive it would have been the most remarkable thing you'd ever heard. But sadly, it's dead."

3) Safe. If you activate one of the two escape pods:

"The door shuts and you strap in. Through the port you see your ship getting rapidly smaller. 'Gee', you say, This was an easy adventure. This must be some usage of the word 'safe' that you were previously unaware of. This becomes evident as you glance out and suddenly the ship takes chase. You feel a shudder as the pod is hit. It heats up and becomes your crematorium. Your coffin will drift, gathering mass for 20,000 years until it will crash on a small planet killing millions of poor dinosaurs causing them to become extinct. All in all, a bad move. Nobody runs away from a Sean Huxter Adventure."

4) Type move without a noun: "You wiggle a bit, then stop."

5) Type listen anywhere other than next to the dying crewmember: "Shh! You hear breathing. It's your own."

6) Type read without a noun: "I prefer T.V."

7) Many of the computer's responses sound like Eddie the Shipboard Computer from HHGTTG:

"You've already set the course, guy!"

"Can't do that here, guy!"

"Eject cannot be used here, guy. But I'd be tickled pink to use it in the proper place and under the proper conditions. Golly!"

"Hi, guy! Sorry, but I can't carry out that command. I'd be glad to but you've forgotten something."

"Not quite yet, guy!"

"Great, guy! I'll do that!"

8) Type cut pirate (if you have the cutters): "This bizarre attempt at affection only angers him."

9) Type kill (with no pirate in the room): "Nothing to kill but time."

10) Type insert disk (in the Computer Room): "You put the disk in the drive and the computer asks you if you want to play a game of Global Thermonuclear War. You don't and remove the disk." - A reference to the film War Games.

11) Your Quarters:

This is your home in space. It is furnished just the way you like. Egg cartons are stuck in seemingly random pattersn on all 7 walls. Grass grows from the steel floor. Cobwebs hang from the ceiling. Behind them you see the staggering mini of Michaelangel's [sic] Sistine Chapel painting. Only the men have been replaced by small furry creatures from Alpha Centauri. Your hammock is swinging gently to and fro. Your computer's screen is flashing. There is a thing here."

12) Type examine thing (if the thing is around): "It looks like a thing your aunt gave you that you don't know what it is." - This is a reference to the Hitchhiker's Guide to the Galaxy game in which Arthur Dent has a thing that his aunt gave him that he doesn't know what it is that plays an important part in the game. In my game it's a red herring.

 

The first time hazard in Piracy is cold. If you can't get yourself out of the Freezer you will freeze to death. Each move in the freezer moves you towards death, and it's described for you, starting from You can see the vapor of your breath, to Geez, it's cold, to Your fingers are getting numb, to You can't feel your body anymore to You'll freeze to death at any moment!!! The last message was The cold overcomes you and you succomb.

Once you leave the Freezer you begin to reverse the process until you are no longer cold.

The second hazard is radiation. When you leave the safety of the ship and enter the laser wings, you have no radiation shielding, so you start to feel hot. The more moves you spend out there, the better. This begins with You're feeling hot. and moves to You're beginning to get a fever. to You're getting sick. to The radiation could kill you., to You're almost beyond hope. and then finally You have died of radiation poisoning.

Once you leave the wings you begin to recover, but if you're not fully recovered when you enter the second wing you get sicker again. It's best to wait until you're completely well again before entering the second wing.

The third hazard is pirates.

To create a sense that you are still in great danger I put ten pirates scattered throughout the ship. They move randomly around the main rooms, and they can shoot you. You can take six shots before you die. You can of course fight back, either with the pistol or with your hands if you have no pistol. Pirates also can block your way if you try to escape a room with them in it. And if you leave, they can follow you.

(In the C-128 version of the game I was writing, which was basically the same game expanded, the ten pirates had their own descriptions, so you could have several in the same room at once, each described to distinguish them. Also, in this version, which I never completed, the pirates actually moved from room to room using the same paths you would. If a room had only one door, they would go out that door. If there were more doors, they would randomly choose, so basically they would randomly path around the ship, not just randomly pop up. They really roamed the ship.)

A lot of people who play Interactive Fiction would probably not think a random element is fair in Interactive Fiction. And while I generally agree that it sucks to do all that work solving puzzles only to have it taken away with a random shot, I really feel that this particular game required a sense of danger - that you could really die trying to get off this ship.

In Interactive Fiction, if you die it's generally your fault. that's certainly true of most if not all INFOCOM games. Still, I was convinced the random pirates only added to the sense of constant, impending threat, coaxing you on to solve the game.

 

The first game I ever played on a Commodore 64 was an INFOCOM text adventure called Infidel. I was setting up a computer for a friend and he got the game with his system. He called me up later and said "How do I get out of this desert?"

So I went over and tried to find out what he was talking about. I had heard of Zork, I think in 1983 we all had, but I had only seen it played or played it briefly on another computer. I sat down with my friend and said "Ok, so what's going on here?" Apparently he needed to open a locked chest, and didn't know how. I typed "break lock with rock" and the lock opened. I was amazed.

I was so hooked.

I played many, many INFOCOM games after that, and eventually had bought most of the versions that were available for the Commodore 64, and when I upgraded to a Commodore 128, I confess I was motivated by the fact that there were a few new INFOCOM games that would not play on the limited memory of the Commodore 64. (In fact, a few games, like Sorceror, played very badly on a Commodore 64 due to memory restrictions causing the machine to go to the disk drive at every command, which was aggravating.

So in 1984 I played Planetfall, one of the most known and loved INFOCOM games. I played that thing obsessively until I finally finished it (with a little help from a small circle of friends - we'd get together and combine brains to finish these things.)

So in the fall of 1984 I started college, and brought my Commodore 64 with me. During that fall and winter I played more INFOCOM games and came up with a decent story idea for my own text adventure.

The intent of Piracy was many-fold:

I don't recall exactly where the idea of Space Piracy came from but it was ideal for Interactive Fiction. It set you down in a basically empty ship with a mission. Of course you have to discover the mission as you went.

On October 7, 2007, I was looking through some old files in storage when I came across a Commodore Reference Diary for 1985. It's something I bought in 1985 to keep track of my days, but it also featured some excellent reference information in the back, such as memory maps, that kind of thing. Very useful.

There are a couple of entries about PIRACY.

Sunday, June 30 - Start PIRACY - Piracy is the text adventure I planned out the previous fall and winter in college
July 1, 1985 - Canada Day - PAID HOLIDAY! Worked on PIRACY!

Nice to have that memory of the time I was working on these. I don't recall a lot of detail about the coding and development except that I closely followed the story I had written during the previous fall and winter at college.

 

I admit discovering what you had to do to be successful at the end of Piracy is not entirely obvious. I give clues through the computer monitors, and in the form of the crew member in the Sick Bay, but even then it's a bit difficult to get all the steps. but hey, that's what repeatability is for. Trial and error. You can always restart and play again.

Still, it's hopefully fairly easy to figure out that, armed with cutting tools and the like you have to disable something. You may actually get to the point of separating the ship's hull only to have the pirates use your lasers against you before you come to the realization that you have to disable the wing lasers, but really, with the wings so accessible, it's fairly obvious they must be disabled. Basically if you go to the wings, it's something you can do so you generally end up doing it. The only mystery at that point is which tool disables which laser. And figure it out fast, otherwise you will get sick from radiation.

The clue from the dying crew member to eject is vital, as eject is not a common IF command. And I don not give out a list of commands in-game which would only serve to break the illusion of a larger variety of things you can do.

In a game this small it would be a shame to reveal the man behind the curtain, id: if people realized that apart from the standard directions, look and examine, there were less than 20 verbs the game could understand and less than 35 nouns.

Non-standard commands may also make the game unintentionally difficult. Eject, set course, insert, touch and move are a bit situationally specific. common sense should reveal the commands. I hope they do in Piracy.

Take the body of the pirate as an example. In the Engine Room a pirate's body is slung over a lever, making it impossible to operate. To me move pirate is obvious. But in Interactive Fiction, move (like use) is a bit non-specific.

I never sat and watched someone play my game out of the blue. That would have been an interesting exercise.

So in hindsight, what would I have changed about this version of PIRACY?

One plan I have is to learn the INFORM language and re-code this entire game with a good parser and much more options and features. If I ever do, you'll find it on my page.

 

The Commodore 64 had 64K of memory. (Technically it had 80K, 64K of RAM and 20K of ROM which used parts of the RAM in real-time. BASIC memory space was something like 38K.) Believe it or not, this game used nearly all of it. I seem to remember actually running out of memory as I wrote it. I was nearly finished, though, so I didn't have to change much to get it all to fit. This was rather fortunate, though, because the whole game as designed did fit. For all I knew when I set out, I could have run out of memory with the game only half in there. It was luck that it all fit and so tightly.

Using the loader file helped. This was the "PIRACY" program you load up. This sets the screen colors, disables input and prints out the premise. When you get to the end of the prologue, it loads the game file. If that text had to be in the main game file, I would have run out of BASIC memory.

To look more like more recent INFOCOM games I colored the screen gray. And since the C64 INPUT routine allowed you to use the cursor keys and backspace, it really could interfere with input, so I wrote my own input code using GET$ that only accepted lowercase ASCII characters.

BASIC Compilers existed when I wrote this game. Generally people used them because BASIC was too slow for games. However text adventures didn't really require a lot of speed. But BASIC Compilers had a hidden side-effect. It shrunk down BASIC code, but also added the Compiler run-time module, so for small games, the compiler made the much, much larger. But the weird thing they made large games (that threatened to eat up all of BASIC's memory) not only faster, but smaller.

Sometime in 1986 I bought a Commodore 128, which doubled the memory and improved memory usage so I actually had a LOT more available memory to use. I set about re-writing PIRACY with a larger ship, more commands, and the roaming pirates.

After writing PIRACY I came up with an idea for a game which takes place in a cave complex in which you build or discover a time machine. The game would take place in three times. The present, the past and the future. You'd have to go from one time to another as you would go from one room to another fixing things and bringing things from one time to another, etc. It would have been fun, but I never coded it. It would have been done on the C128, not the C64 for memory reasons. Also, I could have used the loader-program concept to make three separate game files for each time period, poking certain variables into memory if I needed variables to carry over from one time to another. (Variable memory is wiped when you load another program in BASIC so poking the variables into safe memory could solve that problem.)

 

Sigh. There are errors in the game. Some of which are annoying typos such as "discluding you..." rather than "excluding you...". I mis-spelled Michelangelo's name. When you type read without a noun it says I prever T.V.. Duh, this is first-person point of view. It should have read You prefer T.V..

 

To complete the game, the following must be done. This is a minimal walkthrough and doesn't include many things you may find yourself doing in the run of the game. This walkthrough doesn't include the responses to the commands.

>get all
>open panel
>push button
>s
>e
>get pistol
>insert battery
>shoot door
>n
>e
>s
>move pirate
>pull lever
>n
>e
>read monitor (this gets you the codes you need for the computer room)
>s
>type 832179
>n
>w
>n
>u
>w
>get cutters
>get torch
>e
>d
>w
>w
>open door
>w
>open door
>n
>cut cable
>s
>e
>e
>e
>e
>e
>open door
>e
>open door
>n
>torch pipe
>s
>w
>w
>w
>u
>touch pad
>s
>read screen
>type 73 (write down coordinates. Eg: X-304 Y96 Z201
>n
>d
>n
>d
>n
>n
>u
>n
>d
>push m
>u
>e
>touch switch
>w
>w
>read monitor (yields CURRENT course. You must change this at the Bridge:)
>e
>set course
?304 (this is of course random, and must be obtained in the computer room. See above)
?96
?201
>eject
>shoot
>l
>l
>l
>l (enters populated space)
>l
>l
>l
>l
>l (Approaching Starbase Theta)
>l
>l
>l
>l
>l (You have docked at Starbase Theta.)
>s
>get tape
>d

 

GI Joe

Go To HomeGo To E-Mail

 

All content of these pages © Sean Huxter.