-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Muddle 54 and Zork #1951
Merged
Merged
Add Muddle 54 and Zork #1951
Changes from 1 commit
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
11d163d
Fix wrong encoding of \r in Muddle 56 source.
atsampson 1075bbd
After initialisation, save TS MUD56, not TS MDL56.
atsampson 99f4dac
Use a second XFILE to patch/initialise Muddle 56.
atsampson 7713b5f
Add reconstructed Muddle 54, for running old Muddle images.
atsampson fc1bd06
Avoid POP TP,TP.
atsampson 9458e0f
Add MKSVFL, to generate SAV FILE and FIXUP FILE.
atsampson b6663ca
Add Zork documentation.
atsampson 01c441a
Add binary Zork and its launcher.
atsampson bc05417
Disable Zork's user check, and get Muddle from MUDSAV.
atsampson File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,331 @@ | ||
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. | ||
Binary file not shown.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any clue what the difference between ^K and a colon command would be? When I looked in DDT, I didn't see a difference.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you already have a ZORK job, ZORK^K will get rid of it before starting a new one. I guess they were worried about people accidentally running multiple copies.