1 .\" $NetBSD: rogue.me,v 1.6 2004/02/13 11:36:08 wiz Exp $
3 .\" Copyright (c) 1986, 1993
4 .\" The Regents of the University of California. All rights reserved.
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\" notice, this list of conditions and the following disclaimer.
11 .\" 2. Redistributions in binary form must reproduce the above copyright
12 .\" notice, this list of conditions and the following disclaimer in the
13 .\" documentation and/or other materials provided with the distribution.
14 .\" 3. Neither the name of the University nor the names of its contributors
15 .\" may be used to endorse or promote products derived from this software
16 .\" without specific prior written permission.
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" @(#)rogue.me 8.2 (Berkeley) 6/1/94
38 \&\\$3\*(lq\\$1\*(rq\\$2
45 A Guide to the Dungeons of Doom
52 Kenneth C. R. C. Arnold
55 Computer Systems Research Group
56 Department of Electrical Engineering and Computer Science
57 University of California
58 Berkeley, California 94720
64 is a visual CRT based fantasy game
65 which runs under the \*U\(dg timesharing system.
67 \fR\(dg\*U is a trademark of Bell Laboratories\fP
69 This paper describes how to play rogue,
71 for those who might otherwise get lost in the Dungeons of Doom.
73 \".he '''\fBA Guide to the Dungeons of Doom\fP'
75 .eh 'USD:30-%''A Guide to the Dungeons of Doom'
76 .oh 'A Guide to the Dungeons of Doom''USD:30-%'
79 You have just finished your years as a student at the local fighter's guild.
80 After much practice and sweat you have finally completed your training
81 and are ready to embark upon a perilous adventure.
82 As a test of your skills,
83 the local guildmasters have sent you into the Dungeons of Doom.
84 Your task is to return with the Amulet of Yendor.
85 Your reward for the completion of this task
86 will be a full membership in the local guild.
88 you are allowed to keep all the loot you bring back from the dungeons.
90 In preparation for your journey,
91 you are given an enchanted mace,
92 a bow, and a quiver of arrows
93 taken from a dragon's hoard in the far off Dark Mountains.
94 You are also outfitted with elf-crafted armor
95 and given enough food to reach the dungeons.
96 You say goodbye to family and friends for what may be the last time
99 You set out on your way to the dungeons
100 and after several days of uneventful travel,
101 you see the ancient ruins
102 that mark the entrance to the Dungeons of Doom.
104 so you make camp at the entrance
105 and spend the night sleeping under the open skies.
106 In the morning you gather your weapons,
108 eat what is almost your last food,
109 and enter the dungeons.
110 .sh 1 "What is going on here?"
112 You have just begun a game of rogue.
113 Your goal is to grab as much treasure as you can,
114 find the Amulet of Yendor,
115 and get out of the Dungeons of Doom alive.
117 a map of where you have been
118 and what you have seen on the current dungeon level is kept.
119 As you explore more of the level,
120 it appears on the screen in front of you.
122 Rogue differs from most computer fantasy games in that it is screen oriented.
123 Commands are all one or two keystrokes\**
125 \** As opposed to pseudo English sentences.
127 and the results of your commands
128 are displayed graphically on the screen rather
129 than being explained in words.\**
131 \** A minimum screen size of 24 lines by 80 columns is required.
132 If the screen is larger, only the 24x80 section will be used
136 Another major difference between rogue and other computer fantasy games
137 is that once you have solved all the puzzles in a standard fantasy game,
138 it has lost most of its excitement and it ceases to be fun.
141 generates a new dungeon every time you play it
142 and even the author finds it an entertaining and exciting game.
143 .sh 1 "What do all those things on the screen mean?"
145 In order to understand what is going on in rogue
146 you have to first get some grasp of what rogue is doing with the screen.
147 The rogue screen is intended
148 to replace the \*(lqYou can see ...\*(rq descriptions
149 of standard fantasy games.
150 Figure 1 is a sample of what a rogue screen might look like.
156 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce0 ce.
157 - - - - - - - - - - - -
158 | . . . . . . . . . . +
159 | . . @ . . . . ] . . |
160 | . . . . B . . . . . |
161 | . . . . . . . . . . |
162 - - - - - + - - - - - -
167 Level: 1 Gold: 0 Hp: 12(12) Str: 16(16) Arm: 4 Exp: 1/0
173 .sh 2 "The bottom line"
175 At the bottom line of the screen
176 are a few pieces of cryptic information
177 describing your current status.
178 Here is an explanation of what these things mean:
179 .ip Level \w'Level\ \ 'u
180 This number indicates how deep you have gone in the dungeon.
181 It starts at one and goes up as you go deeper into the dungeon.
182 .ip Gold \w'Level\ \ 'u
183 The number of gold pieces you have managed to find
184 and keep with you so far.
185 .ip Hp \w'Level\ \ 'u
186 Your current and maximum health points.
187 Health points indicate how much damage you can take before you die.
188 The more you get hit in a fight,
190 You can regain health points by resting.
191 The number in parentheses
192 is the maximum number your health points can reach.
193 .ip Str \w'Level\ \ 'u
194 Your current strength and maximum ever strength.
195 This can be any integer less than or equal to 99,
196 or greater than or equal to 1.
197 The higher the number,
198 the stronger you are.
199 The number in the parentheses
200 is the maximum strength you have attained so far this game.
201 .ip Arm \w'Level\ \ 'u
202 Your current armor protection.
203 This number indicates how effective your armor is
204 in stopping blows from unfriendly creatures.
205 The higher this number is,
206 the more effective the armor.
207 .ip Exp \w'Level\ \ 'u
208 These two numbers give your current experience level
209 and experience points.
211 you gain experience points.
212 At certain experience point totals,
213 you gain an experience level.
214 The more experienced you are,
215 the better you are able to fight and to withstand magical attacks.
218 The top line of the screen is reserved
219 for printing messages that describe things
220 that are impossible to represent visually.
221 If you see a \*(lq--More--\*(rq on the top line,
222 this means that rogue wants to print another message on the screen,
223 but it wants to make certain
224 that you have read the one that is there first.
225 To read the next message,
227 .sh 2 "The rest of the screen"
229 The rest of the screen is the map of the level
230 as you have explored it so far.
231 Each symbol on the screen represents something.
232 Here is a list of what the various symbols mean:
234 This symbol represents you, the adventurer.
236 These symbols represent the walls of rooms.
238 A door to/from a room.
242 The floor of a passage between rooms.
244 A pile or pot of gold.
246 A weapon of some sort.
250 A flask containing a magic potion.
252 A piece of paper, usually a magic scroll.
254 A ring with magic properties
256 A magical staff or wand
258 A trap, watch out for these.
260 A staircase to other levels
264 The uppercase letters
265 represent the various inhabitants of the Dungeons of Doom.
266 Watch out, they can be nasty and vicious.
269 Commands are given to rogue by typing one or two characters.
270 Most commands can be preceded by a count to repeat them
273 will do ten searches).
274 Commands for which counts make no sense
275 have the count ignored.
276 To cancel a count or a prefix,
278 The list of commands is rather long,
279 but it can be read at any time during the game with the
282 Here it is for reference,
283 with a short explanation of each command.
286 Asks for a character to give help on.
289 it will list all the commands,
290 otherwise it will explain what the character you typed does.
292 This is the \*(lqWhat is that on the screen?\*(rq command.
295 followed by any character that you see on the level,
296 will tell you what that character is.
300 will tell you that the
302 symbol represents you, the player.
305 You move one space to the left.
306 If you use upper case
308 you will continue to move left until you run into something.
309 This works for all movement commands
312 means run in direction
314 If you use the \*(lqcontrol\*(rq
316 you will continue moving in the specified direction
317 until you pass something interesting or run into a wall.
318 You should experiment with this,
319 since it is a very useful command,
320 but very difficult to describe.
321 This also works for all movement commands.
329 Move diagonally up and left.
331 Move diagonally up and right.
333 Move diagonally down and left.
335 Move diagonally down and right.
338 This is a prefix command.
339 When followed with a direction
340 it throws an object in the specified direction.
344 something to the left.)
346 Fight until someone dies.
347 When followed with a direction
348 this will force you to fight the creature in that direction
349 until either you or it bites the big one.
351 Move onto something without picking it up.
352 This will move you one space in the direction you specify and,
353 if there is an object there you can pick up,
357 Point a staff or wand in a given direction
359 Even non-directional staves must be pointed in some direction
362 Identify trap command.
363 If a trap is on your map
364 and you can't remember what type it is,
365 you can get rogue to remind you
366 by getting next to it and typing
368 followed by the direction that would move you on top of it.
370 Search for traps and secret doors.
371 Examine each space immediately adjacent to you
372 for the existence of a trap or secret door.
373 There is a large chance that even if there is something there,
375 so you might have to search a while before you find something.
377 Climb down a staircase to the next level.
378 Not surprisingly, this can only be done if you are standing on staircase.
380 Climb up a staircase to the level above.
381 This can't be done without the Amulet of Yendor in your possession.
384 This is the \*(lqdo nothing\*(rq command.
385 This is good for waiting and healing.
388 This picks up whatever you are currently standing on,
389 if you are standing on anything at all.
392 List what you are carrying in your pack.
395 Tells you what a single item in your pack is.
397 Quaff one of the potions you are carrying.
399 Read one of the scrolls in your pack.
401 Eat food from your pack.
404 Take a weapon out of your pack and carry it for use in combat,
405 replacing the one you are currently using (if any).
408 You can only wear one suit of armor at a time.
409 This takes extra time.
412 You can't remove armor that is cursed.
413 This takes extra time.
416 You can wear only two rings at a time
418 If you aren't wearing any rings,
419 this command will ask you which hand you want to wear it on,
420 otherwise, it will place it on the unused hand.
421 The program assumes that you wield your sword in your right hand.
424 If you are only wearing one ring,
425 this command takes it off.
426 If you are wearing two,
427 it will ask you which one you wish to remove,
430 Take something out of your pack and leave it lying on the floor.
431 Only one object can occupy each space.
432 You cannot drop a cursed object at all
433 if you are wielding or wearing it.
435 Call an object something.
436 If you have a type of object in your pack
437 which you wish to remember something about,
438 you can use the call command to give a name to that type of object.
439 This is usually used when you figure out what a
440 potion, scroll, ring, or staff is
441 after you pick it up but before it is truly identified. Each type of
442 scroll and potion will become identified after its first use.
444 Examine and set options.
445 This command is further explained in the section on options.
448 Useful if spurious messages or transmission errors
449 have messed up the display.
452 Useful when a message disappears before you can read it.
453 Consecutive repetitions of this command will reveal the last
456 Cancel a command, prefix, or count.
458 Escape to a shell for some commands.
463 Save the current game in a file.
464 It will ask you whether you wish to use the default save file.
466 Rogue won't let you start up a copy of a saved game,
467 and it removes the save file as soon as you start up a restored game.
468 This is to prevent people from saving a game just before a dangerous position
469 and then restarting it if they die.
470 To restore a saved game,
471 give the file name as an argument to rogue.
475 % rogue \fIsave\*_file\fP
477 Prints the program version number.
479 Print the weapon you are currently wielding
481 Print the armor you are currently wearing
483 Print the rings you are currently wearing
486 Rooms in the dungeons are lit as you enter them.
488 all monsters inside the room are erased from the screen.
489 In the darkness of a corridor, you can only see one space
490 in all directions around you.
493 If you see a monster and you wish to fight it,
494 just attempt to run into it.
495 Many times a monster you find will mind its own business
496 unless you attack it.
497 It is often the case that discretion is the better part of valor.
498 .sh 1 "Objects you can find"
500 When you find something in the dungeon,
501 it is common to want to pick the object up.
502 This is accomplished in rogue by walking over the object
506 If you are carrying too many things,
507 the program will tell you and it won't pick up the object,
508 otherwise it will add it to your pack
509 and tell you what you just picked up.
511 Many of the commands that operate on objects must prompt you
512 to find out which object you want to use.
513 If you change your mind and don't want to do that command after all,
514 just type an \*E and the command will be aborted.
516 Some objects, like armor and weapons,
517 are easily differentiated.
518 Others, like scrolls and potions,
519 are given labels which vary according to type.
521 any two of the same kind of object
525 the labels will vary from game to game.
527 When you use one of these labeled objects,
528 if its effect may be obvious. Potions or scrolls will
529 become identified at this point, but not other items.
530 You may want to call these other items something
531 so you will recognize it later,
541 but most come one at a time.
542 In order to use a weapon,
544 To fire an arrow out of a bow,
545 you must first wield the bow,
546 then throw the arrow.
547 You can only wield one weapon at a time,
548 but you can't change weapons if the one
549 you are currently wielding is cursed.
550 The commands to use weapons are
558 There are various sorts of armor lying around in the dungeon.
559 Some of it is enchanted,
561 and some is just normal.
562 Different armor types have different armor protection.
563 The higher the armor protection,
564 the more protection the armor affords against the blows of monsters.
565 Here is a list of the various armor types and their normal armor protection:
570 \ \ \fIType Protection\fP
573 Studded leather / Ring mail 3
576 Banded mail / Splint mail 6
581 If a piece of armor is enchanted,
582 its armor protection will be higher than normal.
583 If a suit of armor is cursed,
584 its armor protection will be lower,
585 and you will not be able to remove it.
586 However, not all armor with a protection that is lower than normal is cursed.
588 The commands to use weapons are
596 Scrolls come with titles in an unknown tongue\**.
598 \** Actually, it's a dialect spoken only by the twenty-seven members
599 of a tribe in Outer Mongolia,
600 but you're not supposed to
604 After you read a scroll,
605 it disappears from your pack.
606 The command to use a scroll is
611 Potions are labeled by the color of the liquid inside the flask.
612 They disappear after being quaffed.
613 The command to quaff a potion is
616 .sh 2 "Staves and Wands"
618 Staves and wands do the same kinds of things.
619 Staves are identified by a type of wood;
620 wands by a type of metal or bone.
621 They are generally things you want to do to something
622 over a long distance,
623 so you must point them at what you wish to affect
625 Some staves are not affected by the direction they are pointed, though.
626 Staves come with multiple magic charges,
627 the number being random,
628 and when they are used up,
629 the staff is just a piece of wood or metal.
631 The command to use a wand or staff is
636 Rings are very useful items,
637 since they are relatively permanent magic,
638 unlike the usually fleeting effects of potions, scrolls, and staves.
640 the bad rings are also more powerful.
641 Most rings also cause you to use up food more rapidly,
642 the rate varying with the type of ring.
643 Rings are differentiated by their stone settings.
644 The commands to use rings are
652 Food is necessary to keep you going.
653 If you go too long without eating you will faint,
654 and eventually die of starvation.
655 The command to use food is
660 Due to variations in personal tastes
661 and conceptions of the way rogue should do things,
662 there are a set of options you can set
663 that cause rogue to behave in various different ways.
665 .sh 2 "Setting the options"
667 There are two ways to set the options.
668 The first is with the
671 the second is with the
673 environment variable\**.
675 \** On Version 6 systems,
676 there is no equivalent of the ROGUEOPTS feature.
680 .sh 3 "Using the `o' command"
686 and displays the current settings for all the options.
687 It then places the cursor by the value of the first option
688 and waits for you to type.
690 which means to go to the next option,
693 which means to go to the previous option,
695 which means to return to the game,
696 or you can give the option a value.
697 For boolean options this merely involves typing
703 type the new value followed by a \*R.
704 .sh 3 "Using the ROGUEOPTS variable"
706 The ROGUEOPTS variable is a string
707 containing a comma separated list of initial values
708 for the various options.
709 Boolean variables can be turned on by listing their name
710 or turned off by putting a
712 in front of the name.
713 Thus to set up an environment variable so that
720 is set to \*(lqBlue Meanie\*(rq,
724 % setenv ROGUEOPTS "jump,nopassgo,name=Blue Meanie"\**
728 For those of you who use the Bourne shell sh (1), the commands would be
731 $ ROGUEOPTS="jump,nopassgo,name=Blue Meanie"
738 Here is a list of the options
739 and an explanation of what each one is for.
740 The default value for each is enclosed in square brackets.
741 For character string options,
742 input over forty characters will be ignored.
743 .ip "\fBjump\fP [\fI\^nojump\^\fP]"
744 If this option is set,
745 running moves will not be displayed
746 until you reach the end of the move.
747 This saves considerable CPU and display time.
748 This option defaults to
750 if you are using a slow terminal.
751 .ip "\fBpassgo\fP [\fI\^nopassgo\^\fP]"
752 Follow turnings in passageways.
753 If you run in a passage
754 and you run into stone or a wall,
755 rogue will see if it can turn to the right or left.
756 If it can only turn one way,
757 it will turn that way.
758 If it can turn either or neither,
760 This algorithm can sometimes lead to slightly confusing occurrences
761 which is why it defaults to \fInopassgo\fP.
762 .ip "\fBskull\fP [\fI\^skull\^\fP]"
763 Print out the skull at the end if you get killed.
764 This is nice but slow, so you can turn it off if you like.
765 .ip "\fBname\fP [account name]"
766 This is the name of your character.
767 It is used if you get on the top ten scorer's list.
768 .ip "\fBfruit\fP [\fI\^slime-mold\^\fP]"
769 This should hold the name of a fruit that you enjoy eating.
770 It is basically a whimsey that rogue uses in a couple of places.
771 .ip "\fBfile\fP [\fI\^~/rogue.save\^\fP]"
772 The default file name for saving the game.
773 If your phone is hung up by accident,
774 rogue will automatically save the game in this file.
775 The file name may start with the special character
777 which expands to be your home directory.
780 Rogue maintains a list
781 of the top scoring people or scores on your machine.
782 If you score higher than someone else on this list,
783 or better your previous score on the list,
784 you will be inserted in the proper place
785 under your current name.
787 If you quit the game, you get out with all of your gold intact.
788 If, however, you get killed in the Dungeons of Doom,
789 your body is forwarded to your next-of-kin,
790 along with 90% of your gold;
791 ten percent of your gold is kept by the Dungeons' wizard as a fee\**.
793 \** The Dungeon's wizard is named Wally the Wonder Badger.
794 Invocations should be accompanied by a sizable donation.
796 This should make you consider whether you want to take one last hit
797 at that monster and possibly live,
798 or quit and thus stop with whatever you have.
799 If you quit, you do get all your gold,
800 but if you swing and live, you might find more.
802 If you just want to see what the current top players/games list is,
808 .sh 1 Acknowledgements
810 Rogue was originally conceived of by Glenn Wichman and Michael Toy.
811 Ken Arnold and Michael Toy then smoothed out the user interface,
812 and added jillions of new features.
813 We would like to thank
827 for their ideas and assistance;
828 and also the teeming multitudes
829 who graciously ignored work, school, and social life to play rogue
830 and send us bugs, complaints, suggestions, and just plain flames.
833 The public domain version of rogue now distributed with Berkeley UNIX
834 was written by Timothy Stoehr.