Annotation of early-roguelike/rogue3/rogue.r.in, Revision 1.1
1.1 ! rubenllo 1: .RP
! 2: .ds RH A Guide to the Dungeons of Doom
! 3: .ds CH
! 4: .ds CF - % -
! 5: .TL
! 6: A Guide to the Dungeons of Doom
! 7: .AU
! 8: Michael C. Toy
! 9: .AI
! 10: Computer Systems Research Group
! 11: Department of Electrical Engineering and Computer Science
! 12: University of California
! 13: Berkeley, California 94720
! 14: .AB
! 15: Rogue is a visual CRT based fantasy game which runs
! 16: under the UNIX timesharing system. This paper describes
! 17: how to play rogue and gives a few hints for those who might
! 18: otherwise get lost in the Dungeons of Doom.
! 19: .AE
! 20: .NH
! 21: Introduction
! 22: .PP
! 23: You have just finished your years as a student at the local fighter's guild.
! 24: After much practice and sweat you have finally completed your training and
! 25: are ready to embark upon a perilous adventure. As a test of your skills,
! 26: the local guildmasters have sent you into the Dungeons of Doom. Your
! 27: task is to return with the Amulet of Yendor. Your reward for the completion
! 28: of this task will be a full membership in the local guild. In addition, you are
! 29: allowed to keep all the loot you bring back from the dungeons.
! 30: .PP
! 31: In preparation for your journey, you are given an enchanted sword, taken
! 32: from a dragon's hoard in the far off Dark Mountains. You are also outfitted
! 33: with elf-crafted armor and given enough food to reach the dungeons. You
! 34: say goodbye to family and friends for what may be the last time and head
! 35: up the road.
! 36: .PP
! 37: You set out on your way to the dungeons and after several days of uneventful
! 38: travel, you see the ancient ruins that mark the entrance to the Dungeons
! 39: of Doom. It is late at night so you make camp at the entrance and spend
! 40: the night sleeping under the open skies. In the morning you gather
! 41: your sword, put on your armor, eat what is almost your last food and enter
! 42: the dungeons.
! 43: .NH
! 44: What is going on here?
! 45: .PP
! 46: You have just begun a game of rogue. Your goal is to grab as much treasure
! 47: as you can, find the Amulet of Yendor, and get out of the Dungeons of Doom
! 48: alive. On the screen, a map of where you have been and what you have seen on
! 49: the current dungeon level is kept. As you explore more of the level,
! 50: it appears on the screen in front of you.
! 51: .PP
! 52: Rogue differs from most computer fantasy games in that it is screen
! 53: oriented. Commands are all one or two keystrokes\(dg
! 54: .FS
! 55: \(dgAs opposed to pseudo English sentences.
! 56: .FE
! 57: and the results of your commands are displayed
! 58: graphically on the screen rather than being explained in words.
! 59: .PP
! 60: Another major difference between rogue and other computer fantasy games
! 61: is that once you have solved all the puzzles in a standard fantasy game,
! 62: it has lost most of its excitement and it ceases to be fun. Rogue on the
! 63: other hand generates a new dungeon every time you play it and
! 64: even the author finds it an entertaining and exciting game.
! 65: .NH
! 66: What do all those things on the screen mean?
! 67: .PP
! 68: In order to understand what is going on in rogue you have to first get
! 69: some grasp of what rogue is doing with the screen.
! 70: The rogue screen is intended to replace the "You can see ..." descriptions
! 71: of standard fantasy games. Here is a sample of what a rogue screen might
! 72: look like.
! 73: .in +1i
! 74: .nf
! 75: .cs R 15
! 76: ---------------------
! 77: |...................+
! 78: |...@...........[...|
! 79: |........B..........|
! 80: |...................|
! 81: --------+------------
! 82:
! 83:
! 84: .cs R
! 85: Level: 1 Gold: 0 Hp: 12(12) Str: 16 Ac: 6 Exp: 1/0
! 86: .fi
! 87: .in 0
! 88: .NH 2
! 89: The bottom line
! 90: .PP
! 91: At the bottom line of the screen is a few pieces of cryptic information,
! 92: describing your current status. Here is an explanation of what these
! 93: things mean:
! 94: .IP Level 8
! 95: This number indicates how deep you have gone in the dungeon. It starts
! 96: at one and goes up forever\(dg.
! 97: .FS
! 98: \(dgOr until you get killed or decide to quit.
! 99: .FE
! 100: .IP Gold
! 101: The number of gold pieces you have managed to find and keep with
! 102: you so far.
! 103: .IP Hp
! 104: Your current and maximum hit points. Hit points indicate how much
! 105: damage you can take before you die. The more you get hit in a
! 106: fight, the lower they
! 107: get. You can regain hit points by resting. The number in parentheses is
! 108: the maximum number your hit points can reach.
! 109: .IP Str
! 110: Your current strength. This can be any integer less than or
! 111: equal to eighteen. The higher the number, the stronger you are.
! 112: .IP Ac
! 113: Your current armor class. This number indicates how effective
! 114: your armor is in stopping blows from unfriendly creatures. The lower
! 115: this number is, the more effective the armor.
! 116: .IP Exp
! 117: These two numbers give your current experience level and experience points.
! 118: As you do things, you gain experience points. At certain experience point
! 119: totals, you gain an experience level. The more experienced you are, the
! 120: better you are able to fight and to withstand magical attacks.
! 121: .NH 2
! 122: The top line
! 123: .PP
! 124: The top line of the screen is reserved for printing messages that describe
! 125: things that are impossible to represent visually. If you see a
! 126: "--More--" on the top line, this means that rogue wants to print another
! 127: message on the screen, but it wants to make certain that you have read
! 128: the one that is there first. To read the next message, just press a
! 129: space.
! 130: .NH 2
! 131: The rest of the screen
! 132: .PP
! 133: The rest of the screen is the map of the level as you have explored it so far.
! 134: Each symbol on the screen represents something. Here is a list of what
! 135: the various symbols mean:
! 136: .IP @
! 137: This symbol represents you, the adventurer.
! 138: .IP "-|" 6
! 139: These symbols represent the walls of rooms.
! 140: .IP +
! 141: A door to/from a room.
! 142: .IP .
! 143: The floor of a room.
! 144: .IP #
! 145: The floor of a passage between rooms.
! 146: .IP *
! 147: A pile or pot of gold.
! 148: .IP )
! 149: A weapon of some sort.
! 150: .IP ]
! 151: A piece of armor.
! 152: .IP !
! 153: A flask containing a magic potion.
! 154: .IP ?
! 155: A piece of paper, usually a magic scroll.
! 156: .IP ^
! 157: A trap, watch out for these.
! 158: .IP %
! 159: The passage leading down to the next level.
! 160: .IP :
! 161: A piece of food.
! 162: .IP A-Z
! 163: The uppercase letters represent the various inhabitants of the
! 164: Dungeons of Doom. Watch out, they can be mean.
! 165: .NH
! 166: Commands
! 167: .PP
! 168: Commands are given to rogue by pressing single letters. Most commands can
! 169: be preceded by a count to repeat them (e.g. typing "10s" will do ten searches)
! 170: The list of commands is rather long, but it can be read at any time during
! 171: the game with the ? command. Here it is for reference, with a short
! 172: explanation of each command.
! 173: .IP ? 6
! 174: The help command. Asks for a character to give help on. If you type
! 175: a "*", it will list all the commands, otherwise it will explain what the
! 176: character you typed does.
! 177: .IP /
! 178: This is the "What is that on the screen?" command. A "/" followed by any
! 179: character that you see on the level, will tell you what that character
! 180: is. For instance, typing "/@" will tell you that the @ symbol represents
! 181: you, the player.
! 182: .IP "h , H"
! 183: Move left. You move one space to the left. If you use upper case
! 184: h, you will continue to move left until you run into something. This
! 185: works for all movement commands (e.g. "L" means run in direction "l")
! 186: .IP j
! 187: Move down.
! 188: .IP k
! 189: Move up.
! 190: .IP l
! 191: Move right.
! 192: .IP y
! 193: Move diagonally up and left.
! 194: .IP u
! 195: Move diagonally up and right.
! 196: .IP b
! 197: Move diagonally down and left.
! 198: .IP n
! 199: Move diagonally down and right.
! 200: .IP f
! 201: Find prefix. When followed by a direction it means to continue moving
! 202: in the specified direction until you pass something interesting or
! 203: run into a wall.
! 204: .IP t
! 205: Throw an object. This is a prefix command. Follow it with a direction and
! 206: you throw an object in the specified direction. (e.g. type "th" to throw
! 207: something left.)
! 208: .IP >
! 209: If you are standing over the passage down to the next level, this command
! 210: means to climb down.
! 211: .IP s
! 212: Search for traps and secret doors. Examine each space immediately adjacent
! 213: to you for the existence of a trap or secret door. There is a large chance
! 214: that even if there is something there, you won't find it so you might
! 215: have to search a while before you find something.
! 216: .IP " "
! 217: (space) Rest. This is the "do nothing" command.
! 218: This is good for waiting and healing.
! 219: .IP i
! 220: Inventory. List what you are carrying in your pack.
! 221: .IP I
! 222: Selective inventory. Tells you what a single item in your pack is.
! 223: .IP q
! 224: Quaff. Drink one of the potions you are carrying.
! 225: .IP r
! 226: Read. Read one of the scrolls in your pack.
! 227: .IP e
! 228: Eat food. Take some food out of your pack and eat it.
! 229: .IP w
! 230: Wield a weapon. Take a weapon out of your pack and carry it. You must be
! 231: wielding weapon to use it (except to throw things). To fire an arrow,
! 232: you must wield the bow. You can only wield one weapon at a time.
! 233: .IP W
! 234: Wear armor. Take a piece of armor out of your pack and put it on. You can
! 235: only wear one suit of armor at a time.
! 236: .IP T
! 237: Take armor off. You can't remove armor that is cursed.
! 238: This takes extra time.
! 239: .IP d
! 240: Drop an object. Take something out of your pack and leave it lying
! 241: on the floor. Only one object can occupy each space.
! 242: .IP o
! 243: Examine and set options. This command is further explained in the section
! 244: on options.
! 245: .IP ^L
! 246: REdraws the screen. Useful if spurious messages or transmission errors
! 247: have messed up the display.
! 248: .IP v
! 249: Prints the program version number.
! 250: .IP Q
! 251: Quit. Leave the game.
! 252: .IP R
! 253: Repeat last message. Useful when a message disappears before you can
! 254: read it.
! 255: .IP S
! 256: Save the current game in a file. Caveat: Rogue won't let you start
! 257: up a copy of a saved game, and it removes the save file as soon as
! 258: you start up a restored game. This is to prevent people from saving
! 259: a game just before a dangerous position and then restarting it
! 260: if they die. To restore a saved game, give the file name as an argument
! 261: to rogue. As in
! 262: .ti +1i
! 263: .nf
! 264: % rogue save_file
! 265: .NH
! 266: Dealing with objects
! 267: .PP
! 268: When you find something in the dungeon, it is common to want to pick the
! 269: object up. This is accomplished in rogue by walking over the object. If
! 270: you are carrying too many things, the program will tell you and it won't pick
! 271: up the object, otherwise it will add it to your pack and if the notify
! 272: option is set, tell you what you just picked up.
! 273: .PP
! 274: Many of the commands that operate on objects must prompt you to find
! 275: out which object you want to use. If you change your mind and don't want to
! 276: do that command after all, just press an escape and the command will be
! 277: aborted.
! 278: .NH
! 279: Light
! 280: .PP
! 281: Rooms in the dungeons are either lit or dark. If you walk into a lit room,
! 282: the entire room will be drawn on the screen as soon as you enter. If you
! 283: walk into a dark room, it will only be displayed as you explore it. Upon
! 284: leaving a dark room, all objects inside the room which might move are
! 285: removed from the screen. In the darkness you can only see one space
! 286: in all directions around you.
! 287: .NH
! 288: Fighting
! 289: .PP
! 290: If you see a monster and you wish to fight it, just attempt to run into it.
! 291: Many times a monster you find will mind its own business unless you attack
! 292: it. It is often the case that discretion is the better part of valor.
! 293: .NH
! 294: Armor
! 295: .PP
! 296: There are various sorts of armor lying around in the dungeon. Some of it
! 297: is enchanted, some is cursed and some is just normal. Different armor
! 298: types have different armor classes. The lower the armor class, the
! 299: more protection the armor affords against the blows of monsters.
! 300: If a piece of armor is enchanted or
! 301: cursed, its armor class will be higher or lower than normal. Here is
! 302: a list of the various armor types and their normal armor class.
! 303: .TS
! 304: center box;
! 305: c c
! 306: l | c.
! 307: Type Class
! 308: =
! 309: Leather armor 8
! 310: Studded leather / Ring mail 7
! 311: Scale mail 6
! 312: Chain mail 5
! 313: Banded mail / Splint mail 4
! 314: Plate mail 3
! 315: .TE
! 316: .NH
! 317: Options
! 318: .PP
! 319: Due to variations in personal tastes and conceptions of the way rogue
! 320: should do things, there are a set of options you can set that cause
! 321: rogue to behave in various different ways.
! 322: .NH 2
! 323: Setting the options
! 324: .PP
! 325: There are basically two ways to set the options. The first is with the
! 326: "o" command of rogue, the second is with the ROGUEOPTS environment
! 327: variable. On Version 6 systems, there is no equivalent of
! 328: the ROGUEOPTS feature.
! 329: .NH 3
! 330: Using the "o" command
! 331: .PP
! 332: When you press "o" in rogue, it clears the screen and displays the current
! 333: settings for all the options. It then places the cursor by the value of the
! 334: first option and waits for you to type. You can type a RETURN which means to
! 335: go to the next option, a "\-" which means to go to the previous option, an
! 336: escape which means to return to the game, or you can give the option a
! 337: value. For boolean options this merely involves pressing "t" for true or
! 338: "f" for false. For string options, type the new value followed by a
! 339: return.
! 340: .NH 3
! 341: Using the ROGUEOPTS variable
! 342: .PP
! 343: The ROGUEOPTS variable is a string containing a comma separated list of
! 344: initial values for the various options. Boolean variables can be turned
! 345: on by listing their name and turned off by putting a "no" in front of the
! 346: name. Thus to set up an environment variable so that jump is on, terse is
! 347: off, the name is set to "Conan the Barbarian" and the fruit is "mango",
! 348: use the command
! 349: .nf
! 350: .nf
! 351: .ti +3
! 352: % setenv ROGUEOPTS "jump,noterse,name=Conan the Barbarian,fruit=mango" \(dg
! 353: .fi
! 354: .ti +3
! 355: % setenv ROGUEOPTS "jump,noterse,name=Conan the Barbarian,fruit=mango" \(dg
! 356: .fi
! 357: .FS
! 358: \(dgFor those of you who use the bourne shell, the commands would be
! 359: .in +3
! 360: .nf
! 361: $ ROGUEOPTS="jump,noterse,name=Conan the Barbarian,fruit=mango"
! 362: $ export ROGUEOPTS
! 363: .fi
! 364: .in +0
! 365: .FE
! 366: .NH 2
! 367: Option list
! 368: .PP
! 369: Here is a list of the options and an explanation of what each one is for.
! 370: The default value for each is enclosed in square brackets.
! 371: .IP "terse [noterse]" 25
! 372: Useful for those who are tired of the sometimes lengthy messages of rogue.
! 373: This is a useful option for those on slow terminals. This option defaults to
! 374: on if your are on a slow (under 1200 baud) terminal.
! 375: .IP "jump [nojump]"
! 376: If this option is set, running moves will not be displayed until you
! 377: reach the end of the move. This saves considerable cpu time and
! 378: display time. This option defaults to on if you are using a slow terminal.
! 379: .IP "step [nostep]
! 380: When step is set, lists of things, like inventories or "*" responses to
! 381: "Which item do you wish to xxxx? " questions, are displayed one item
! 382: at a time on the top of the screen, rather than clearing the screen,
! 383: displaying the list, then re-displaying the dungeon level.
! 384: .IP "flush [noflush]"
! 385: If flush is set, all typeahead is thrown away after each round of battle.
! 386: This is useful for those who type way ahead and watch to their dismay as
! 387: a Kobold kills them.
! 388: .IP "askme [noaskme]"
! 389: Upon reading a scroll or quaffing a potion which does not automatically
! 390: identify it upon use, rogue will ask you what to name it so you can
! 391: recognize it in the future.
! 392: .IP "name [account name]"
! 393: This is the name of your character. It is used if you get on the top ten
! 394: scorer's list. It should be less than eighty characters long.
! 395: .IP "fruit [slime-mold]"
! 396: This should hold the name of a fruit that you enjoy eating. It is basically
! 397: a whimsy that the program uses in a couple of places.
! 398: .IP "file [rogue3.save]"
! 399: The default file name for saving the game. If your phone is hung up by
! 400: accident, rogue will automatically save the game in this file. The
! 401: file name may contain the special character "~" which expands to be
! 402: your home directory.
! 403: .NH
! 404: Acknowledgements
! 405: .PP
! 406: Rogue was originally conceived of by Glenn Wichman and Michael Toy. The
! 407: help of Ken Arnold in making the program easier to use and putting the
! 408: finishing touches on is greatly appreciated. I would also like to thank
! 409: Marty McNary, Scott Nelson, Daniel Jensen, Kipp Hickman, Joe Kalash,
! 410: Steve Maurer, Bill Joy, Mark Horton and Jan Miller for their ideas
! 411: and assistance.
CVSweb