
Castle Adventure

  This is a text adventure game in the style of Infocom or "Colossal
Cave." Your goal is to enter the castle and make off with the king's
treasure. To achieve this goal, you must solve puzzles by interacting
with the game using simple English commands.


SYSTEM REQUIREMENTS

   5213 bytes to store prgmCASTLEA and prgmZSRL
  ~1500 bytes of free memory to run
  -----
  ~6700 total bytes


HOW TO PLAY

  Run prgmCASTLEA. After a short delay, you'll see a screenful of text.
In the upper left-hand corner of the screen is the name of the current
location; in the main window is a more verbose description.

  When the game is ready to accept input, a caret ">" will appear on the
last line of the screen. Press an alphabetic key, and a word beginning
with that letter will appear on the input line --- if the game thinks
such a word is appropriate! For example, your first move might be to go
WEST from the castle gate; therefore, you'd press the W key, and see
the fully-formed word WEST appear on the input line.

  To enter a two-word command, press the first word's letter first, and
then the second word's letter. For example, in order to DROP TREASURE,
you'd press D and then T.

  If the game doesn't know any words beginning with your letter, or
doesn't think you should bother trying them in your current situation,
it will just quietly wait for you to press a letter it does understand.

  If you mess up and produce a word or command you didn't mean to enter,
press left-arrow to backspace.

  In some cases, you might see a word you don't want, even when you
typed the correct letter --- for example, WEAR instead of WEST, or PUT
instead of PUSH. In that case, press up-arrow to cycle between the
options.

  Don't bother entering prepositions; the game will enter them for you.
It's smart enough to tell whether you meant TAKE GLOVES or TAKE OFF
GLOVES, depending on whether the gloves are on the floor or on your
hands. Pressing T and then G will produce the appropriate one of those
two commands (assuming either of them is appropriate).

  When the input line shows the command you mean to execute, press
"Enter". The game will think for a while and then tell you the results
of your action. (Again, if "Enter" is not appropriate, the game will
silently ignore it; for example, if the currently showing command is
DROP, the game will wait for a noun before letting you press "Enter".)

  When the game is finished processing your command and printing its
new information, the caret ">" will appear on the last line again.

  The SAVE command saves your current game to the list LCASTL,
and RESTORE loads a saved game from that list. Only one game can
be saved in LCASTL at a time.

  A sample transcript can be found in the accompanying file
TRSCRIPT.TXT.


VOCABULARY

  This is not meant to be a "guess the synonym" adventure game. If
you're trying to express a command to the game, and the game stubbornly
refuses to respond to any of the letters you push, it's probably
because that command isn't part of the game, not because you're
guessing the wrong letter. (Some computer adventure games have this
problem: do I "BREAK PUMPKIN" or "SMASH PUMPKIN"? Don't worry, not one
of those words occurs in Castle Adventure.)
  The only directions in the game are NORTH, SOUTH, EAST, and WEST.
Northwest, southwest, southeast, northeast, up, and down are all
foreign concepts to Castle Adventure.
  The only non-obvious word in the game is "WAIT", which corresponds
to the Z key instead of the W key because the W is already overloaded
with WEAR and WEST. Sorry about that.


SOLUTION

  There are three distinct ways to lose the game, and two ways to win
--- one "easy" way and one "hard" way. I'm not going to spoil any of
them here; if you really can't figure out the puzzles, then a quick
glance through ANNOTATE.TXT should give you enough information to
figure out the solution on your own (possibly with pencil and paper!).


TECHNICAL NOTES

  prgmZSRL is a general-purpose fast screen scroller utility. Although
I wrote it, it's public-domain; please do use it in your own games if
you want. ZSRL.TXT contains the text and documentation for prgmZSRL.

  ANNOTATE.TXT contains the text of prgmCASTLEA, indented to show
control flow. It doesn't have any explanatory comments, but the code
is surprisingly straightforward. One note: I used asterisks *** instead
of extra indentation in a few deeply nested If-Then-Else clauses. The
Elses could actually be taken out to conserve space, but that would
almost certainly make the game run a little more slowly. My goal was
to make the game as fast as possible while keeping the main program,
prgmCASTLEA, under 5 kilobytes.

  CASTLEA.I6 is a translation of Castle Adventure into the Inform 6
programming language, and CASTLEA.Z5 is the compiled version of that
translated program. You can play CASTLEA.Z5 on a Z-machine interpreter
such as Frotz, Fizmo, or Parchment. I'm including this translation
as a curiosity, and for people without TI-83 calculators. There is
essentially no difference in gameplay between the .83P and .Z5
versions, so don't worry if you can't figure out how to run one
of them.
