comparison rogue4/rogue.me.in @ 51:a1dc75e38e73

rogue4: ported to autoconf.
author elwin
date Tue, 11 Oct 2011 15:20:40 +0000
parents
children
comparison
equal deleted inserted replaced
50:c9382913d6df 51:a1dc75e38e73
1 .ds E \s-2<ESCAPE>\s0
2 .ds R \s-2<RETURN>\s0
3 .ds U \s-2UNIX\s0
4 .ie t .ds _ \d\(mi\u
5 .el .ds _ _
6 .de Cs
7 \&\\$3\*(lq\\$1\*(rq\\$2
8 ..
9 .sp 5
10 .ce 1000
11 .ps +4
12 .vs +4p
13 .b
14 A Guide to the Dungeons of Doom
15 .r
16 .vs
17 .ps
18 .sp 2
19 .i
20 Michael C. Toy
21 Kenneth C. R. C. Arnold
22 .r
23 .sp 2
24 Computer Systems Research Group
25 Department of Electrical Engineering and Computer Science
26 University of California
27 Berkeley, California 94720
28 .sp 4
29 .i ABSTRACT
30 .ce 0
31 .(b I F
32 .bi Rogue
33 is a visual CRT based fantasy game
34 which runs under the \*U\(dg timesharing system.
35 .(f
36 \fR\(dg\*U is a trademark of Bell Laboratories\fP
37 .)f
38 This paper describes how to play rogue,
39 and gives a few hints
40 for those who might otherwise get lost in the Dungeons of Doom.
41 .)b
42 .he '''\fBA Guide to the Dungeons of Doom\fP'
43 .fo ''- % -''
44 .bp 1
45 .sh 1 Introduction
46 .pp
47 You have just finished your years as a student at the local fighter's guild.
48 After much practice and sweat you have finally completed your training
49 and are ready to embark upon a perilous adventure.
50 As a test of your skills,
51 the local guildmasters have sent you into the Dungeons of Doom.
52 Your task is to return with the Amulet of Yendor.
53 Your reward for the completion of this task
54 will be a full membership in the local guild.
55 In addition,
56 you are allowed to keep all the loot you bring back from the dungeons.
57 .pp
58 In preparation for your journey,
59 you are given an enchanted mace,
60 a bow, and a quiver of arrows
61 taken from a dragon's hoard in the far off Dark Mountains.
62 You are also outfitted with elf-crafted armor
63 and given enough food to reach the dungeons.
64 You say goodbye to family and friends for what may be the last time
65 and head up the road.
66 .pp
67 You set out on your way to the dungeons
68 and after several days of uneventful travel,
69 you see the ancient ruins
70 that mark the entrance to the Dungeons of Doom.
71 It is late at night,
72 so you make camp at the entrance
73 and spend the night sleeping under the open skies.
74 In the morning you gather your mace,
75 put on your armor,
76 eat what is almost your last food,
77 and enter the dungeons.
78 .sh 1 "What is going on here?"
79 .pp
80 You have just begun a game of rogue.
81 Your goal is to grab as much treasure as you can,
82 find the Amulet of Yendor,
83 and get out of the Dungeons of Doom alive.
84 On the screen,
85 a map of where you have been
86 and what you have seen on the current dungeon level is kept.
87 As you explore more of the level,
88 it appears on the screen in front of you.
89 .pp
90 Rogue differs from most computer fantasy games in that it is screen oriented.
91 Commands are all one or two keystrokes\**
92 .(f
93 \** As opposed to pseudo English sentences.
94 .)f
95 and the results of your commands
96 are displayed graphically on the screen rather
97 than being explained in words.
98 .pp
99 Another major difference between rogue and other computer fantasy games
100 is that once you have solved all the puzzles in a standard fantasy game,
101 it has lost most of its excitement and it ceases to be fun.
102 Rogue,
103 on the other hand,
104 generates a new dungeon every time you play it
105 and even the author finds it an entertaining and exciting game.
106 .sh 1 "What do all those things on the screen mean?"
107 .pp
108 In order to understand what is going on in rogue
109 you have to first get some grasp of what rogue is doing with the screen.
110 The rogue screen is intended
111 to replace the \*(lqYou can see ...\*(rq descriptions
112 of standard fantasy games.
113 Figure 1 is a sample of what a rogue screen might look like.
114 .(z
115 .hl
116 .nf
117 .TS
118 center;
119 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce.
120 - - - - - - - - - - - -
121 | . . . . . . . . . . +
122 | . . @ . . . . ] . . |
123 | . . . . B . . . . . |
124 | . . . . . . . . . . |
125 - - - - - + - - - - - -
126 .TE
127
128
129 .ce 1000
130 Level: 1 Gold: 0 Hp: 12(12) Str: 16(16) Ac: 6 Exp: 1/0
131
132 Figure 1
133 .ce
134 .hl
135 .)z
136 .sh 2 "The bottom line"
137 .pp
138 At the bottom line of the screen
139 are a few pieces of cryptic information
140 describing your current status.
141 Here is an explanation of what these things mean:
142 .ip Level \w'Level\ \ 'u
143 This number indicates how deep you have gone in the dungeon.
144 It starts at one and goes up as you go deeper into the dungeon.
145 .ip Gold \w'Level\ \ 'u
146 The number of gold pieces you have managed to find
147 and keep with you so far.
148 .ip Hp \w'Level\ \ 'u
149 Your current and maximum hit points.
150 Hit points indicate how much damage you can take before you die.
151 The more you get hit in a fight,
152 the lower they get.
153 You can regain hit points by resting.
154 The number in parentheses
155 is the maximum number your hit points can reach.
156 .ip Str \w'Level\ \ 'u
157 Your current strength and maximum ever strength.
158 This can be any integer less than or equal to 31,
159 or greater than or equal to three.
160 The higher the number,
161 the stronger you are.
162 The number in the parentheses
163 is the maximum strength you have attained so far this game.
164 .ip Ac \w'Level\ \ 'u
165 Your current armor class.
166 This number indicates how effective your armor is
167 in stopping blows from unfriendly creatures.
168 The lower this number is,
169 the more effective the armor.
170 .ip Exp \w'Level\ \ 'u
171 These two numbers give your current experience level
172 and experience points.
173 As you do things,
174 you gain experience points.
175 At certain experience point totals,
176 you gain an experience level.
177 The more experienced you are,
178 the better you are able to fight and to withstand magical attacks.
179 .sh 2 "The top line"
180 .pp
181 The top line of the screen is reserved
182 for printing messages that describe things
183 that are impossible to represent visually.
184 If you see a \*(lq--More--\*(rq on the top line,
185 this means that rogue wants to print another message on the screen,
186 but it wants to make certain
187 that you have read the one that is there first.
188 To read the next message,
189 just type a space.
190 .sh 2 "The rest of the screen"
191 .pp
192 The rest of the screen is the map of the level
193 as you have explored it so far.
194 Each symbol on the screen represents something.
195 Here is a list of what the various symbols mean:
196 .ip @
197 This symbol represents you, the adventurer.
198 .ip "-\^|"
199 These symbols represent the walls of rooms.
200 .ip +
201 A door to/from a room.
202 .ip .
203 The floor of a room.
204 .ip #
205 The floor of a passage between rooms.
206 .ip *
207 A pile or pot of gold.
208 .ip )
209 A weapon of some sort.
210 .ip ]
211 A piece of armor.
212 .ip !
213 A flask containing a magic potion.
214 .ip ?
215 A piece of paper, usually a magic scroll.
216 .ip =
217 A ring with magic properties
218 .ip /
219 A magical staff or wand
220 .ip ^
221 A trap, watch out for these.
222 .ip %
223 A staircase to other levels
224 .ip :
225 A piece of food.
226 .ip A-Z
227 The uppercase letters
228 represent the various inhabitants of the Dungeons of Doom.
229 Watch out, they can be nasty and vicious.
230 .sh 1 Commands
231 .pp
232 Commands are given to rogue by typing one or two characters.
233 Most commands can be preceded by a count to repeat them
234 (e.g. typing
235 .Cs 10s
236 will do ten searches).
237 Commands for which counts make no sense
238 have the count ignored.
239 To cancel a count or a prefix,
240 type \*E.
241 The list of commands is rather long,
242 but it can be read at any time during the game with the
243 .Cs ?
244 command.
245 Here it is for reference,
246 with a short explanation of each command.
247 .ip ?
248 The help command.
249 Asks for a character to give help on.
250 If you type a
251 .Cs * ,
252 it will list all the commands,
253 otherwise it will explain what the character you typed does.
254 .ip /
255 This is the \*(lqWhat is that on the screen?\*(rq command.
256 A
257 .Cs /
258 followed by any character that you see on the level,
259 will tell you what that character is.
260 For instance,
261 typing
262 .Cs /@
263 will tell you that the
264 .Cs @
265 symbol represents you, the player.
266 .ip "h, H"
267 Move left.
268 You move one space to the left.
269 If you use upper case
270 .Cs h ,
271 you will continue to move left until you run into something.
272 This works for all movement commands
273 (e.g.
274 .Cs L
275 means run in direction
276 .Cs l )
277 .ip j
278 Move down.
279 .ip k
280 Move up.
281 .ip l
282 Move right.
283 .ip y
284 Move diagonally up and left.
285 .ip u
286 Move diagonally up and right.
287 .ip b
288 Move diagonally down and left.
289 .ip n
290 Move diagonally down and right.
291 .ip t
292 Throw an object.
293 This is a prefix command.
294 When followed with a direction
295 it throws an object in the specified direction.
296 (e.g. type
297 .Cs th
298 to throw
299 something to the left.)
300 .ip f
301 Find prefix.
302 When followed by a direction
303 it means to continue moving in the specified direction
304 until you pass something interesting or run into a wall.
305 You should experiment with this,
306 since it is a very useful command,
307 but very difficult to describe.
308 .ip z
309 Zap prefix.
310 Point a staff or wand in a given direction
311 and fire it.
312 Even non-directional staves must be pointed in some direction
313 to be used.
314 .ip ^
315 Identify trap command.
316 If a trap is on your map
317 and you can't remember what type it is,
318 you can get rogue to remind you
319 by getting next to it and typing
320 .Cs ^
321 followed by the direction that would move you on top of it.
322 .ip s
323 Search for traps and secret doors.
324 Examine each space immediately adjacent to you
325 for the existence of a trap or secret door.
326 There is a large chance that even if there is something there,
327 you won't find it,
328 so you might have to search a while before you find something.
329 .ip >
330 Climb down a staircase to the next level.
331 Not surprisingly, this can only be done if you are standing on staircase.
332 .ip <
333 Climb up a staircase to the level above.
334 This can't be done without the Amulet of Yendor in your posession.
335 .ip "."
336 Rest.
337 This is the \*(lqdo nothing\*(rq command.
338 This is good for waiting and healing.
339 .ip i
340 Inventory.
341 List what you are carrying in your pack.
342 .ip I
343 Selective inventory.
344 Tells you what a single item in your pack is.
345 .ip q
346 Quaff one of the potions you are carrying.
347 .ip r
348 Read one of the scrolls in your pack.
349 .ip e
350 Eat food from your pack.
351 .ip w
352 Wield a weapon.
353 Take a weapon out of your pack and carry it for use in combat,
354 replacing the one you are currently using (if any).
355 .ip W
356 Wear armor.
357 You can only wear one suit of armor at a time.
358 This takes extra time.
359 .ip T
360 Take armor off.
361 You can't remove armor that is cursed.
362 This takes extra time.
363 .ip P
364 Put on a ring.
365 You can wear only two rings at a time
366 (one on each hand).
367 If you aren't wearing any rings,
368 this command will ask you which hand you want to wear it on,
369 otherwise, it will place it on the unused hand.
370 The program assumes that you wield your sword in your right hand.
371 .ip R
372 Remove a ring.
373 If you are only wearing one ring,
374 this command takes it off.
375 If you are wearing two,
376 it will ask you which one you wish to remove,
377 .ip d
378 Drop an object.
379 Take something out of your pack and leave it lying on the floor.
380 Only one object can occupy each space.
381 You cannot drop a cursed object at all
382 if you are wielding or wearing it.
383 .ip c
384 Call an object something.
385 If you have a type of object in your pack
386 which you wish to remember something about,
387 you can use the call command to give a name to that type of object.
388 This is usually used when you figure out what a
389 potion, scroll, ring, or staff is
390 after you pick it up.
391 (See the
392 .Cs askme
393 option below.)
394 .ip D
395 Print out which things you've discovered something about.
396 This command will ask you what type of thing you are interested in.
397 If you type the character for a given type of object
398 (\fIe.g.\fP
399 .Cs !
400 for potion)
401 it will tell you which kinds of that type of object you've discovered
402 (\fIi.e.\fP, figured out what they are).
403 This command works for potions, scrolls, rings, and staves and wands.
404 .ip o
405 Examine and set options.
406 This command is further explained in the section on options.
407 .ip ^L
408 Redraws the screen.
409 Useful if spurious messages or transmission errors
410 have messed up the display.
411 .ip ^R
412 Repeat last message.
413 Useful when a message disappears before you can read it.
414 This only repeats the last message
415 that was not a mistyped command
416 so that you don't loose anything by accidentally typing
417 the wrong character instead of ^R.
418 .ip \*E
419 Cancel a command, prefix, or count.
420 .ip !
421 Escape to a shell for some commands.
422 .ip Q
423 Quit.
424 Leave the game.
425 .ip S
426 Save the current game in a file.
427 It will ask you whether you wish to use the default save file.
428 .i Caveat :
429 Rogue won't let you start up a copy of a saved game,
430 and it removes the save file as soon as you start up a restored game.
431 This is to prevent people from saving a game just before a dangerous position
432 and then restarting it if they die.
433 To restore a saved game,
434 give the file name as an argument to rogue.
435 As in
436 .ti +1i
437 .nf
438 % rogue \fIsave\*_file\fP
439 .ip
440 To restart from the default save file (see below),
441 run
442 .ti +1i
443 .nf
444 % rogue \-r
445 .ip v
446 Prints the program version number.
447 .sh 1 Rooms
448 .pp
449 Rooms in the dungeons are either lit or dark.
450 If you walk into a lit room,
451 the entire room will be drawn on the screen as soon as you enter.
452 If you walk into a dark room,
453 it will only be displayed as you explore it.
454 Upon leaving a room,
455 all objects inside the room which might move
456 or be removed
457 are erased from the screen.
458 In the darkness you can only see one space
459 in all directions around you.
460 A corridor is always dark.
461 .sh 1 Fighting
462 .pp
463 If you see a monster and you wish to fight it,
464 just attempt to run into it.
465 Many times a monster you find will mind its own business
466 unless you attack it.
467 It is often the case that discretion is the better part of valor.
468 .sh 1 "Objects you can find"
469 .pp
470 When you find something in the dungeon,
471 it is common to want to pick the object up.
472 This is accomplished in rogue by walking over the object.
473 If you are carrying too many things,
474 the program will tell you and it won't pick up the object,
475 otherwise it will add it to your pack
476 and tell you what you just picked up.
477 .pp
478 Many of the commands that operate on objects must prompt you
479 to find out which object you want to use.
480 If you change your mind and don't want to do that command after all,
481 just type an \*E and the command will be aborted.
482 .pp
483 Some objects, like armor and weapons,
484 are easily differentiated.
485 Others, like scrolls and potions,
486 are given labels which vary according to type.
487 During a game,
488 any two of the same kind of object
489 with the same label
490 are the same type.
491 However,
492 the labels will vary from game to game.
493 .pp
494 When you use one of these labeled objects,
495 if its effect is obvious,
496 rogue will remember what it is for you.
497 If it's effect isn't extremely obvious, you can use the
498 .Cs call
499 command
500 (see above)
501 or the
502 .Cs askme
503 option
504 (see below)
505 to scribble down something about it
506 so you will recognize it later.
507 .sh 2 Weapons
508 .pp
509 Some weapons,
510 like arrows,
511 come in bunches,
512 but most come one at a time.
513 In order to use a weapon,
514 you must wield it.
515 To fire an arrow out of a bow,
516 you must first wield the bow,
517 then throw the arrow.
518 You can only wield one weapon at a time,
519 but you can't change weapons if the one
520 you are currently wielding is cursed.
521 .sh 2 Armor
522 .pp
523 There are various sorts of armor lying around in the dungeon.
524 Some of it is enchanted,
525 some is cursed,
526 and some is just normal.
527 Different armor types have different armor classes.
528 The lower the armor class,
529 the more protection the armor affords against the blows of monsters.
530 Here is a list of the various armor types and their normal armor class:
531 .(b
532 .TS
533 center;
534 l r.
535 Type Class
536 =
537 None 10
538 Leather armor 8
539 Studded leather / Ring mail 7
540 Scale mail 6
541 Chain mail 5
542 Banded mail / Splint mail 4
543 Plate mail 3
544 .TE
545 .)b
546 .lp
547 If a piece of armor is enchanted,
548 its armor class will be lower than normal.
549 If a suit of armor is cursed,
550 its armor class will be higher,
551 and you will not be able to remove it.
552 However, not all armor with a class that is higher than normal is cursed.
553 .sh 2 Scrolls
554 .pp
555 Scrolls come with titles in an unknown tongue.
556 After you read a scroll,
557 it disappears from your pack.
558 .sh 2 Potions
559 .pp
560 Potions are labeled by the color of the liquid inside the flask.
561 They disappear after being quaffed.
562 .sh 2 "Staves and Wands"
563 .pp
564 Staves and wands do the same kinds of things.
565 Staves are identified by a type of wood;
566 wands by a type of metal or bone.
567 They are generally things you want to do to something
568 over a long distance,
569 so you must point them at what you wish to affect
570 to use them.
571 Some staves are not affected by the direction they are pointed, though.
572 Staves come with multiple magic charges,
573 the number being random,
574 and when they are used up,
575 the staff is just a piece of wood or metal.
576 .sh 2 Rings
577 .pp
578 Rings are very useful items,
579 since they are relatively permanent magic,
580 unlike the usually fleeting effects of potions, scrolls, and staves.
581 Of course,
582 the bad rings are also more powerful.
583 Most rings also cause you to use up food more rapidly,
584 the rate varying with the type of ring.
585 Rings are differentiated by their stone settings.
586 .sh 1 Options
587 .pp
588 Due to variations in personal tastes
589 and conceptions of the way rogue should do things,
590 there are a set of options you can set
591 that cause rogue to behave in various different ways.
592 .sh 2 "Setting the options"
593 .pp
594 There are two ways to set the options.
595 The first is with the
596 .Cs o
597 command of rogue;
598 the second is with the
599 .Cs ROGUEOPTS
600 environment variable\**.
601 .(f
602 \** On Version 6 systems,
603 there is no equivalent of the ROGUEOPTS feature.
604 .br
605 .)f
606 .br
607 .sh 3 "Using the `o' command"
608 .pp
609 When you type
610 .Cs o
611 in rogue,
612 it clears the screen
613 and displays the current settings for all the options.
614 It then places the cursor by the value of the first option
615 and waits for you to type.
616 You can type a \*R
617 which means to go to the next option,
618 a
619 .Cs \-
620 which means to go to the previous option,
621 an \*E
622 which means to return to the game,
623 or you can give the option a value.
624 For boolean options this merely involves typing
625 .Cs t
626 for true or
627 .Cs f
628 for false.
629 For string options,
630 type the new value followed by a \*R.
631 .sh 3 "Using the ROGUEOPTS variable"
632 .pp
633 The ROGUEOPTS variable is a string
634 containing a comma separated list of initial values
635 for the various options.
636 Boolean variables can be turned on by listing their name
637 or turned off by putting a
638 .Cs no
639 in front of the name.
640 Thus to set up an environment variable so that
641 .b jump
642 is on,
643 .b terse
644 is off,
645 and the
646 .b name
647 is set to \*(lqBlue Meanie\*(rq,
648 use the command
649 .nf
650 .ti +3n
651 % setenv ROGUEOPTS "jump,noterse,name=Blue Meanie"\**
652 .fi
653 .(f
654 \**
655 For those of you who use the bourne shell, the commands would be
656 .in +3
657 .nf
658 $ ROGUEOPTS="jump,noterse,name=Blue Meanie"
659 $ export ROGUEOPTS
660 .fi
661 .in +0
662 .)f
663 .sh 2 "Option list"
664 .pp
665 Here is a list of the options
666 and an explanation of what each one is for.
667 The default value for each is enclosed in square brackets.
668 For character string options,
669 input over fifty characters will be ignored.
670 .ip "\fBterse\fP [\fI\^noterse\^\fP]"
671 Useful for those who are tired of the sometimes lengthy messages of rogue.
672 This is a useful option for playing on slow terminals,
673 so this option defaults to
674 .b terse
675 if your
676 are on a slow (1200 baud or under) terminal.
677 .ip "\fBjump\fP [\fI\^nojump\^\fP]"
678 If this option is set,
679 running moves will not be displayed
680 until you reach the end of the move.
681 This saves considerable cpu and display time.
682 This option defaults to
683 .b jump
684 if you are using a slow terminal.
685 .ip "\fBstep\fP [\fI\^nostep\^\fP]"
686 When
687 .b step
688 is set,
689 lists of things,
690 like inventories or
691 .Cs *
692 responses to
693 \*(lqWhich item do you wish to \fB. . .\fP? \*(rq questions,
694 are displayed one item at a time on the top of the screen,
695 rather than clearing the screen,
696 displaying the list,
697 then re-displaying the dungeon level.
698 .ip "\fBflush\fP [\fI\^noflush\^\fP]"
699 All typeahead is thrown away after each round of battle.
700 This is useful for those who type far ahead
701 and then watch in dismay as a Kobold kills them.
702 .ip "\fBaskme\fP [\fI\^noaskme\^\fP]"
703 Upon reading a scroll or quaffing a potion
704 which does not automatically identify itself upon use,
705 rogue will ask you what to name it
706 so you can recognize it if you encounter it again.
707 .ip "\fBpassgo\fP [\fI\^nopassgo\^\fP]"
708 Follow turnings in passageways.
709 If you run in a passage
710 and you run into stone or a wall,
711 rogue will see if it can turn to the right or left.
712 If it can only turn one way,
713 it will turn that way.
714 If it can turn either or neither,
715 it will stop.
716 This is followed strictly,
717 which can sometimes lead to slightly confusing occurrences
718 (which is why it defaults to being off).
719 The
720 .Cs f
721 prefix still works.
722 .ip "\fBname\fP [account name]"
723 This is the name of your character.
724 It is used if you get on the top ten scorer's list.
725 .ip "\fBfruit\fP [\fI\^slime-mold\^\fP]"
726 This should hold the name of a fruit that you enjoy eating.
727 It is basically a whimsey that the program uses in a couple of places.
728 .ip "\fBfile\fP [\fI\^~/rogue.save\^\fP]"
729 The default file name for saving the game.
730 If your phone is hung up by accident,
731 rogue will automatically save the game in this file.
732 The file name may contain the special character
733 .Cs ~
734 which expands to be your home directory.
735 .sh 1 Scoring
736 .pp
737 Rogue usually maintains a list
738 of the top ten scoring people on your machine.
739 Some installations limit each account on the machine
740 to post only one non-winning score on this list, however
741 this is no longer considered the default behavior.
742 If you score higher than someone else on this list,
743 or better your previous score on the list,
744 you will be inserted in the proper place
745 under your current name.
746 .pp
747 If you quit the game, you get out with all of your gold intact.
748 If, however, you get killed in the Dungeons of Doom,
749 your body is forwarded to your next-of-kin,
750 along with 90% of your gold;
751 ten percent of your gold is kept by the Dungeons' wizard as a fee.
752 This should make you consider whether you want to take one last hit
753 at that monster and possibly live,
754 or quit and thus stop with whatever you have.
755 If you quit, you do get all your gold,
756 but if you swing and live, you might find more.
757 .pp
758 If you just want to see what the current top ten list is,
759 you can type
760 .ti +1i
761 .nf
762 % rogue \-s
763 .br
764 .sh 1 Acknowledgements
765 .pp
766 Rogue was originally conceived of by Glenn Wichman and Michael Toy.
767 Ken Arnold and Michael Toy then smoothed out the user interface,
768 and added jillions of new features.
769 We would like to thank
770 Bob Arnold,
771 Michelle Busch,
772 Andy Hatcher,
773 Kipp Hickman,
774 Mark Horton,
775 Daniel Jensen,
776 Bill Joy,
777 Joe Kalash,
778 Steve Maurer,
779 Marty McNary,
780 Jan Miller,
781 and
782 Scott Nelson
783 for their ideas and assistance,
784 and also the teeming multitudes
785 who graciously ignored work, school, and social life to play rogue
786 and send us bugs, complaints, suggestions, and just plain flames.
787 And also Mom.