mirror of
https://github.com/PDP-10/its.git
synced 2026-02-07 08:57:06 +00:00
These two files came from the Panda distribution. They appear to be the most recent version of the documentation -- Rich Alderson found a slightly earlier version from UChicago, and there's an even earlier version in the 1978 Zork release.
331 lines
12 KiB
Plaintext
331 lines
12 KiB
Plaintext
ZORK User Information
|
||
|
||
I. Getting a ZORK
|
||
|
||
a. ITS: Say ZORK^K to DDT rather than :ZORK to get a zork.
|
||
b. 10X/20X: Invoke the local dungeon (usually ZORK.EXE)
|
||
|
||
II. Bugs, comments, suggestions...
|
||
|
||
Always welcome and encouraged. All mail should be sent to
|
||
ZORK@MIT-DMS. ZORK has a BUG command, in addition, which
|
||
may be used to report strange happenings. Its use is described
|
||
below. Please note that for 10X/20X systems, net mail to ZORK
|
||
will be acted on much more quickly than BUG command reports.
|
||
|
||
If, in making a bug report, you know what symptoms were exhibited
|
||
by the program, PLEASE, PLEASE!!!!! include them. It is at best
|
||
extremely irritating and at worst useless to receive a bug report
|
||
like 'mumble frotz' loses, or 'try saying \"mumble frotz\"'. With
|
||
such reports, we have no way of knowing the situation when your
|
||
'mumble frotz' lost, and no way of knowing if any bug we manage
|
||
to reproduce (if we do) is the same one you saw. In consequence,
|
||
everyone's time is wasted.
|
||
|
||
III. Typing to Zork.
|
||
|
||
A number of characters in Zork have special effects. These
|
||
include a number of line editing commands. The characters are:
|
||
|
||
<rubout> or <backspace>: delete the last character typed
|
||
<ctrl-W>: delete the last word typed
|
||
<ctrl-U> or <ctrl-X> or <ctrl-@>: delete the entire buffer
|
||
<ctrl-D>: redisplay the buffer
|
||
<ctrl-L>: redisplay the buffer. Sometimes this also clears the
|
||
screen.
|
||
|
||
<altmode/cr>: terminate commands
|
||
<ctrl-S>: flush long typeouts
|
||
<ctrl-G>: like the QUIT command (vide infra)
|
||
<semicolon>: Causes the remainder of the command line to be ignored.
|
||
This may be useful for annotating hard copies/scripts of games.
|
||
|
||
IV. Garbage Collection
|
||
|
||
Zork may occasionally type out a message 'GIN FREE STORAGE-
|
||
<long pause> GOUT TIME=10.92'. This indicates that a garbage
|
||
collection is occurring. We have attempted to prevent this, since it
|
||
may take a significant amount of real time on a loaded system; should
|
||
it ever occur, please send mail to ZORK@MIT-DMS describing the
|
||
circumstances -- how many moves have been made, whether a RESTORE has
|
||
been done, and so on. THIS IS NOT FATAL: after the GOUT message is
|
||
printed, you may continue playing.
|
||
|
||
V. User Commands
|
||
|
||
The following commands may prove useful for the playing of Zork.
|
||
They are not, however, game commands (i.e. they have no side effects
|
||
in the current game).
|
||
|
||
a. Verbosity
|
||
|
||
Verbose: The default: print long room descriptions on first
|
||
visit, 20% of the time thereafter.
|
||
|
||
Brief: Supresses printing of long room descriptions for rooms
|
||
which have been visited. Short object descriptions
|
||
are also used in such rooms.
|
||
|
||
Super(brief): Suppresses printing of all long descriptions, even
|
||
on the first visit. Short object descriptions are
|
||
always used.
|
||
|
||
Noobj: Suppresses printing of object descriptions in rooms
|
||
already visited. See the 'object' command.
|
||
|
||
Note that the maximally verbose description (that printed on the
|
||
first visit to a room in verbose mode) may always be obtained by
|
||
saying 'look'. See also the 'room' and 'object' commands.
|
||
|
||
b. Help
|
||
|
||
Info: Prints a file which might give some idea of
|
||
what the game is about.
|
||
|
||
Help: Prints a short summary of useful commands.
|
||
|
||
Doc: Prints this.
|
||
|
||
c. Progress
|
||
|
||
Quit: Prints your score, and asks whether you wish to
|
||
continue playing.
|
||
|
||
Score: Deflate your ego.
|
||
|
||
Time: Describe how much of eternity you have injured.
|
||
|
||
Versi(on): Describe the current version.
|
||
|
||
d. Hard copy (directory owners only!)
|
||
|
||
Scrip(t): Script to a file ZORK.SCRIPT
|
||
|
||
Unscr(ipt): End scripting
|
||
|
||
e. Save/restore (directory owners only!)
|
||
|
||
Save: Save the game for future continuation (to ZORK.SAVE)
|
||
|
||
Resto(re): Restore a saved game (from ZORK.SAVE)
|
||
Only the player who created the save file can restore
|
||
it at a later time! You are warned.
|
||
|
||
f. Bugs, etc.
|
||
|
||
Bug: Although the best way to report bugs is to send mail
|
||
to ZORK@MIT-DMS, there is a 'bug' and command
|
||
built in to the game. This generates files which
|
||
must, alas, be manually transmitted to the
|
||
maintainers. It is, however, better than nothing.
|
||
|
||
Featu(re): Like Bug, to make a suggestion for a feature.
|
||
|
||
g. General
|
||
|
||
Again: Repeat the last input.
|
||
|
||
Look: Describe the current surroundings. 'L' is equivalent.
|
||
|
||
Room: Print the verbose description of the room, without
|
||
mentioning any objects.
|
||
|
||
Rname: Print the short description of the room.
|
||
|
||
Object: Print the verbose description of all the objects in
|
||
the room, without describing the room. 'Look' is
|
||
equivalent to a 'room' command followed by an
|
||
'object' command.
|
||
|
||
Inven(t): Describe your possessions. 'I' is equivalent.
|
||
|
||
Diagn(ose): Describe your state of health.
|
||
|
||
Wait: Causes 'time' to pass.
|
||
|
||
Oops: Corrects a misspelled word: As an example,
|
||
for 'I don't know the word TORHC' -> say 'OOPS TORCH'.
|
||
|
||
VI. Zork Command Parser
|
||
|
||
A command is one line of text terminated by a carriage return or
|
||
altmode. For reasons of simplicity all words are distinguished by
|
||
their first five letters. All others are ignored. For example,
|
||
typing 'DISASSEMBLE THE ENCYLOPEDIA', while meaningless, is also
|
||
creating excess finger motion. Note also that ambiguities can be
|
||
introduced by this: 'unscr' is 'UNSCRipt', not 'UNSCRew'.
|
||
|
||
You are talking to a moderately stupid parser, which understands
|
||
the following types of things.
|
||
|
||
Actions:
|
||
|
||
Among the more obvious of these, TAKE, DROP, etc. Fairly general
|
||
forms of these may be used: PICK UP, PUT DOWN, etc.
|
||
|
||
Directions:
|
||
|
||
NORTH, SOUTH, UP, DOWN, etc. and their various abbreviations.
|
||
Other more obscure directions (LAND, CLIMB) are appropriate in
|
||
only certain situations. Because words are only five letters,
|
||
you must say 'nw' for 'northwest': the latter is truncated to
|
||
'north', which isn't quite what you had in mind.
|
||
|
||
Objects:
|
||
|
||
Most objects have names, and can be referenced by them. At most,
|
||
two objects can be specified in one command.
|
||
|
||
Adjectives:
|
||
|
||
Some adjectives are understood and are required when there are
|
||
two objects which can be referenced with the same 'name' (e.g.
|
||
DOORs, BUTTONs)
|
||
|
||
Prepositions:
|
||
|
||
It may be necessary in some cases to include prepositions, but
|
||
the parser attempts to handle cases which aren't ambiguous
|
||
without. Thus 'Give car to demon' will work, as will 'Give demon
|
||
car.' When a preposition is used, it should be appropriate:
|
||
'Give car with demon' does not parse.
|
||
|
||
Sentences:
|
||
|
||
The parser understands a reasonable number of things. Rather
|
||
than listing them, we advise you to do reasonable things. Note
|
||
that several sentences may be typed on the same line, separated
|
||
by periods or by 'and': 'n.e.s.w.open mailb and read' will [try
|
||
to] do just that.
|
||
|
||
Multiple Objects:
|
||
|
||
Sentences of the following forms will parse:
|
||
Put A and B and C in trophy case
|
||
Put A, B, and C in trophy case
|
||
Give A and B to the troll
|
||
The following will not:
|
||
Put A B in case
|
||
Take A B C
|
||
The point is that an AND or a <period> are required so as not
|
||
to hopelessly confuse the parser.
|
||
Special objects named 'everything' and 'valuables' exist; one
|
||
may, for example, say 'take everything' and 'put valuables in
|
||
trophy case'.
|
||
|
||
Multiple commands:
|
||
|
||
Several commands may be included on a single line. They must be
|
||
separated by 'then' or '.'. Thus:
|
||
TAKE BOOK. N. DROP BOOK AND CANDLE
|
||
is correct. Note that the use of a comma between commands will
|
||
cause the command line to be parsed incorrectly: comma should
|
||
only be used between multiple objects.
|
||
|
||
Ambiguity:
|
||
|
||
The parser tries to be clever about what to do in the case of
|
||
actions which require objects in the case that the object is not
|
||
specified. If there is only one possible object, the parser will
|
||
assume that it should be used. Otherwise, the parser will ask.
|
||
Most questions asked by the parser can be answered (e.g. With
|
||
what?).
|
||
|
||
Errors:
|
||
|
||
There are a number of errors which the parser may find in an input
|
||
sentence. Some of the more common ones are listed here:
|
||
|
||
1. 'I don't know the word ZROK'. Probably the most common parser
|
||
error. To correct the spelling of a work, use the OOPS command.
|
||
In this case, 'OOPS ZORK' would be the correct thing.
|
||
|
||
2. 'I can't make sense out of that.'. This error means that there
|
||
is no known syntax that matches the input. For example, saying
|
||
'PUT X WITH Y' does not match any known form for the verb 'PUT'.
|
||
This error never implies that the idea of the command was not
|
||
good, but rather that the parser doesn't know that form of the
|
||
verb. It's usually best to try another way of saying the same
|
||
thing.
|
||
|
||
3. 'Huh?'. A command usually without a noun or a verb. Sometimes
|
||
this is confusing, because a word thought to be a noun was really
|
||
an adjective. This is the case with, for example, 'GOLD'.
|
||
Other commands which cause this are: 'WITH' and 'THE'.
|
||
|
||
4. 'I can't see any <thing> here.'. An object represented by
|
||
'thing' was not found within the room or on your person.
|
||
|
||
5. 'It's too dark in here to see.'. A reference was made to
|
||
an object within an unlighted room.
|
||
|
||
6. 'I can't reach the <thing> from within the <vehicle>'. This
|
||
means that the <thing> referenced was within the room proper,
|
||
while you are in a vehicle within that room. Some vehicles
|
||
will not allow access to objects outside of themselves.
|
||
|
||
7. 'That doesn't make any sense.' Usually this will mean that
|
||
something like 'TAKE THE COIL OF KEYS' instead of the 'SET'
|
||
of keys. In the general case, 'THE <x> of <y>' is legal only
|
||
if <x> and <y> are names for the same thing.
|
||
|
||
8. 'Two verbs in command?' The parser believes that two verbs
|
||
were in the command. If you check carefully, you will find
|
||
that one of the words is really a verb, and not a noun as
|
||
supposed.
|
||
|
||
9. 'Double preposition?' Try 'TAKE WITH IN MAILBOX'.
|
||
|
||
10. 'Multiple inputs cannot be used with <verb>'. It is only
|
||
legal to use multiple inputs with certain verbs. The ones
|
||
which come to mind are TAKE, DROP, and PUT.
|
||
|
||
11. 'Too many objects specified?' A legal command may contain
|
||
at most two object references.
|
||
|
||
12. 'Beg pardon?'. A null input was parsed.
|
||
|
||
VII. Theories
|
||
|
||
The following 'theories' are fundamental to the game and should
|
||
be noted:
|
||
|
||
Containment:
|
||
|
||
Some objects can contain other objects. Many such containers
|
||
can be opened and closed; the rest are always open. They may or
|
||
may not be transparent. For you to access (take, for example)
|
||
an object which is in a container, the container must be open;
|
||
for you to see such an object, the container must either be open
|
||
or transparent. Containers have a capacity, and objects have
|
||
sizes; the number of objects which will fit therefore depends on
|
||
their sizes. You may "put" any object you have access to (it
|
||
need not be in your hands) into any other object; at some point,
|
||
the program will attempt to pick it up if you don't already have
|
||
it, which process may fail if you're carrying too much.
|
||
Although containers can contain other containers, the program
|
||
doesn't access more than one level down.
|
||
|
||
Fighting:
|
||
|
||
Occupants of the dungeon will, as a rule, fight back when
|
||
attacked; they may in some cases attack you unprovoked. Useful
|
||
verbs here are 'attack <villain> with <weapon>', 'kill', etc.
|
||
Knife-throwing may or may not be useful. The adventurer has a
|
||
fighting strength, which varies with time: in particular, being
|
||
in a fight, getting killed, and getting injured, all lower it.
|
||
One's carrying capacity may also be reduced after a fight.
|
||
Strength is regained with time. (Thus, it is not a good idea to
|
||
fight someone immediately after being killed.) Other details
|
||
may become apparent in the course of a few melees. The
|
||
'diagnose' command describes your state of health.
|
||
|
||
Vehicles:
|
||
|
||
There are some objects in the labyrinth which are rumoured to have
|
||
the ability to transport the fearless adventurer to mysterious
|
||
regions which are inaccessible on foot. Needless to say, the
|
||
adventurer faces great personal peril as he encounters these
|
||
regions. The 'vehicles' can usually be entered with the 'board'
|
||
command, and can be exited with the 'disembark' command.
|
||
|