MDL 104-106 and Zork executables from Rich Alderson.
[pdp10-muddle.git] / lcml / madadv.help
1 ZORK/DUNGEON User Information\r
2 \r
3 I. Getting a ZORK/DUNGEON\r
4  \r
5     a. ITS:  Say ZORK^K to DDT rather than :ZORK to get a zork. \r
6     b. 10X/20X:  Invoke the local dungeon (usually DUNGEO)\r
7 \r
8 II. Bugs, comments, suggestions...\r
9 \r
10     Always welcome and encouraged.  All mail should be sent to\r
11     DUNGEON@MIT-DMS.  Dungeon has a BUG command, in addition, which\r
12     may be used to report strange happenings.  Its use is described\r
13     below.  Please note that for 10X/20X systems, net mail to DUNGEON\r
14     will be acted on much more quickly than BUG command reports.\r
15 \r
16     If, in making a bug report, you know what symptoms were exhibited\r
17     by the program, PLEASE, PLEASE!!!!! include them.  It is at best\r
18     extremely irritating and at worst useless to receive a bug report\r
19     like 'mumble frotz' loses, or 'try saying \"mumble frotz\"'.  With\r
20     such reports, we have no way of knowing the situation when your\r
21     'mumble frotz' lost, and no way of knowing if any bug we manage\r
22     to reproduce (if we do) is the same one you saw.  In consequence,\r
23     everyone's time is wasted.\r
24 \r
25 III. Typing to Dungeon.\r
26 \r
27     A number of characters in Dungeon have special effects.  These\r
28     include a number of line editing commands.  The characters are:\r
29 \r
30      <rubout> or <backspace>:  delete the last character typed\r
31      <ctrl-W>:  delete the last word typed\r
32      <ctrl-U> or <ctrl-X> or <ctrl-@>:  delete the entire buffer\r
33      <ctrl-D>:  redisplay the buffer\r
34      <ctrl-L>:  redisplay the buffer.  Sometimes this also clears the\r
35         screen.\r
36      \r
37      <altmode/cr>:  terminate commands\r
38      <ctrl-S>:  flush long typeouts\r
39      <ctrl-G>:  like the QUIT command (vide infra)\r
40      <semicolon>:  Causes the remainder of the command line to be ignored.\r
41         This may be useful for annotating hard copies/scripts of games.\r
42 \r
43 IV.  Garbage Collection\r
44 \r
45     Dungeon may occasionally type out a message 'GIN FREE STORAGE-\r
46     <long pause> GOUT TIME=10.92'.  This indicates that a garbage\r
47     collection is occurring.  We have attempted to prevent this, since it\r
48     may take a significant amount of real time on a loaded system; should\r
49     it ever occur, please send mail to DUNGEON@MIT-DMS describing the\r
50     circumstances--how many moves have been made, whether a RESTORE has\r
51     been done, and so on.  THIS IS NOT FATAL:  after the GOUT message is\r
52     printed, you may continue playing.\r
53 \r
54 V.  User Commands\r
55 \r
56     The following commands may prove useful for the playing of Dungeon.\r
57 They are not, however, game commands (i.e. they have no side effects\r
58 in the current game).\r
59 \r
60  a. Verbosity\r
61 \r
62     Verbose:      The default:  print long room descriptions on first\r
63                  visit, 20% of the time thereafter.\r
64 \r
65     Brief:        Supresses printing of long room descriptions for rooms\r
66                  which have been visited.  Short object descriptions\r
67                  are also used in such rooms.\r
68  \r
69    Super(brief): Suppresses printing of all long descriptions, even\r
70                  on the first visit.  Short object descriptions are\r
71                  always used.\r
72 \r
73    Noobj:        Suppresses printing of object descriptions in rooms\r
74                  already visited.  See the 'object' command.\r
75 \r
76 Note that the maximally verbose description (that printed on the\r
77 first visit to a room in verbose mode) may always be obtained by\r
78 saying 'look'.  See also the 'room' and 'object' commands.\r
79 \r
80 b. Help\r
81     \r
82     Info:        Prints a file which might give some idea of\r
83                  what the game is about.\r
84      \r
85     Help:        Prints this.\r
86 \r
87  c. Progress\r
88 \r
89     Quit:        Prints your score, and asks whether you wish to\r
90                  continue playing.\r
91 \r
92     Score:       Deflate your ego.\r
93 \r
94     Time:        Describe how much of eternity you have injured.\r
95 \r
96     Versi(on):   Describe the current version.\r
97 \r
98  d. Hard copy (directory owners only!)\r
99 \r
100     Scrip(t):    Script to a file ZORK.SCRIPT \r
101 \r
102     Unscr(ipt):  End scripting\r
103 \r
104  e. Save/restore  (directory owners only!)\r
105 \r
106     Save:        Save the game for future continuation (to ZORK.SAVE)\r
107 \r
108     Resto(re):   Restore a saved game (from ZORK.SAVE)\r
109                  Only the player who created the save file can restore\r
110                  it at a later time!  You are warned.\r
111                 \r
112  f. Bugs, etc.\r
113 \r
114     Bug:         Although the best way to report bugs is to send mail\r
115                  to DUNGEON@MIT-DMS, there is a 'bug' and command\r
116                  built in to the game.  This generates files which \r
117                  must, alas, be manually transmitted to the\r
118                  maintainers.  It is, however, better than nothing.\r
119      \r
120     Featu(re):   Like Bug, to make a suggestion for a feature.\r
121 \r
122  g. General\r
123 \r
124     Again:       Repeat the last input.\r
125 \r
126     Look:        Describe the current surroundings. 'L' is equivalent.\r
127 \r
128     Room:        Print the verbose description of the room, without\r
129                  mentioning any objects.\r
130 \r
131     Object:      Print the verbose description of all the objects in\r
132                  the room, without describing the room.  'Look' is\r
133                  equivalent to a 'room' command followed by an\r
134                  'object' command.\r
135 \r
136     Inven(t):    Describe your possessions. 'I' is equivalent.\r
137 \r
138     Diagn(ose):  Describe your state of health.\r
139 \r
140     Wait:        Causes 'time' to pass.\r
141 \r
142 V.  Dungeon Command Parser\r
143      \r
144        A command is one line of text terminated by a carriage return or\r
145     altmode.  For reasons of simplicity all words are distinguished by\r
146     their first five letters.  All others are ignored.  For example,\r
147     typing 'DISASSEMBLE THE ENCYLOPEDIA', while meaningless, is also\r
148     creating excess finger motion.  Note also that ambiguities can be\r
149     introduced by this:  'unscr' is 'UNSCRipt', not 'UNSCRew'.\r
150 \r
151        You are talking to a moderately stupid parser, which understands\r
152     the following types of things.\r
153 \r
154  Actions:       \r
155 \r
156      Among the more obvious of these, TAKE, DROP, etc.  Fairly general\r
157      forms of these may be used:  PICK UP, PUT DOWN, etc.\r
158 \r
159  Directions:\r
160 \r
161      NORTH, SOUTH, UP, DOWN, etc. and their various abbreviations.\r
162      Other more obscure directions (LAND, CLIMB) are appropriate in\r
163      only certain situations.  Because words are only five letters,\r
164      you must say 'nw' for 'northwest':  the latter is truncated to\r
165      'north', which isn't quite what you had in mind.\r
166      \r
167  Objects: \r
168 \r
169      Most objects have names, and can be referenced by them.\r
170 \r
171  Adjectives:\r
172 \r
173      Some adjectives are understood and are required when there are\r
174      two objects which can be referenced with the same 'name' (e.g.\r
175      DOORs, BUTTONs)\r
176 \r
177  Prepositions:\r
178 \r
179      It may be necessary in some cases to include prepositions, but\r
180      the parser attempts to handle cases which aren't ambiguous\r
181      without.  Thus 'Give car to demon' will work, as will 'Give demon\r
182      car.'  When a preposition is used, it should be appropriate:\r
183      'Give car with demon' does not parse.\r
184 \r
185  Sentences:\r
186 \r
187      The parser understands a reasonable number of things.  Rather\r
188      than listing them, we advise you to do reasonable things.  Note\r
189      that several sentences may be typed on the same line, separated\r
190      by commas or by 'and':  'n,e,s,w,open mailb and read' will [try\r
191      to] do just that.\r
192 \r
193  Multiple Objects:\r
194 \r
195      Sentences of the following forms will parse:\r
196         Put A and B and C in trophy case\r
197         Put A, B, and C in trophy case\r
198         Give A and B to the troll\r
199      The following will not:\r
200         Put A B in case\r
201         Take A B C\r
202      The point is that an AND or a <comma> are required so as not\r
203      to hopelessly confuse the parser.\r
204      Special objects named 'everything' and 'valuables' exist; one\r
205      may, for example, say 'take everything' and 'put valuables in\r
206      trophy case'. \r
207 \r
208  Multiple commands:\r
209 \r
210      Several commands may be included on a single line.  They must be\r
211      separated by 'then' or '.'.  Thus:\r
212         TAKE BOOK. N. DROP BOOK AND CANDLE\r
213      is correct.  Note that the use of a comma between commands will\r
214      cause the command line to be parsed incorrectly:  comma should\r
215      only be used between multiple objects.\r
216 \r
217  Ambiguity:\r
218 \r
219      The parser tries to be clever about what to do in the case of\r
220      actions which require objects in the case that the object is not\r
221      specified.  If there is only one possible object, the parser will\r
222      assume that it should be used.  Otherwise, the parser will ask.\r
223      Most questions asked by the parser can be answered (e.g. With\r
224      what?).  \r
225          \r
226 VI.  Theories\r
227 \r
228      The following 'theories' are fundamental to the game and should\r
229      be noted:\r
230 \r
231   Containment:  \r
232 \r
233       Some objects can contain other objects.  Many such containers\r
234       can be opened and closed; the rest are always open.  They may or\r
235       may not be transparent.  For you to access (take, for example)\r
236       an object which is in a container, the container must be open;\r
237       for you to see such an object, the container must either be open\r
238       or transparent.  Containers have a capacity, and objects have\r
239       sizes; the number of objects which will fit therefore depends on\r
240       their sizes.  You may "put" any object you have access to (it\r
241       need not be in your hands) into any other object; at some point,\r
242       the program will attempt to pick it up if you don't already have\r
243       it, which process may fail if you're carrying too much.\r
244       Although  containers can contain other containers, the program\r
245       doesn't access more than one level down.\r
246 \r
247   Fighting:\r
248 \r
249       Occupants of the dungeon will, as a rule, fight back when\r
250       attacked; they may in some cases attack you unprovoked.  Useful\r
251       verbs here are 'attack <villain> with <weapon>', 'kill', etc. \r
252       Knife-throwing may or may not be useful.  The adventurer has a\r
253       fighting strength, which varies with time:  in particular, being\r
254       in a fight, getting killed, and getting injured, all lower it. \r
255       One's carrying capacity may also be reduced after a fight. \r
256       Strength is regained with time.  (Thus, it is not a good idea to\r
257       fight someone immediately after being killed.)  Other details\r
258       may become apparent in the course of a few melees.  The\r
259       'diagnose' command describes your state of health.\r
260 \r
261   Vehicles:\r
262 \r
263       There are some objects in the dungeon which are rumoured to have\r
264       the ability to transport the fearless adventurer to mysterious\r
265       regions which are inaccessible on foot.  Needless to say, the\r
266       adventurer faces great personal peril as he encounters these     \r
267       regions.  The 'vehicles' can usually be entered with the 'board'\r
268       command, and can be exited with the 'disembark' command. \r
269       \ 3\ 3\ 3