Annotation of early-roguelike/rogue5/rogue.html.in, Revision 1.1
1.1 ! rubenllo 1: <!-- Creator : groff version 1.18.1 -->
! 2: <!-- CreationDate: Sat Dec 31 10:58:15 2005 -->
! 3: <html>
! 4: <head>
! 5: <meta name="generator" content="groff -Thtml, see www.gnu.org">
! 6: <meta name="Content-Style" content="text/css">
! 7: <title></title>
! 8: </head>
! 9: <body>
! 10:
! 11: <h1 align=center><b>A Guide to the Dungeons of Doom</b></h1>
! 12:
! 13: <h2 align=center><i>Michael C. Toy<br>
! 14: Kenneth C. R. C. Arnold</i></h2>
! 15:
! 16: <h3 align=center>Computer Systems Research
! 17: Group<br>
! 18: Department of Electrical Engineering and Computer
! 19: Science<br>
! 20: University of California<br>
! 21: Berkeley, California 94720</h3>
! 22:
! 23:
! 24: <h2 align=center><i>ABSTRACT</i></h2>
! 25:
! 26: <blockquote>
! 27: <blockquote>
! 28: <p align="justify"><b><i><font size="2">Rogue</font></i></b><font size="2"> is a visual CRT based fantasy game which runs under the
! 29: UNIX† timesharing system. This paper describes how
! 30: to play rogue, and gives a few hints for those who might otherwise get
! 31: lost in the Dungeons of Doom. </font></p>
! 32: </blockquote>
! 33: </blockquote>
! 34:
! 35: <h2 align="justify"><b>1. Introduction</b></h2>
! 36:
! 37: <p align="justify">You have just finished your years as a
! 38: student at the local fighter’s guild. After much
! 39: practice and sweat you have finally completed your training
! 40: and are ready to embark upon a perilous adventure. As a test
! 41: of your skills, the local guildmasters have sent you into
! 42: the Dungeons of Doom. Your task is to return with the Amulet
! 43: of Yendor. Your reward for the completion of this task will
! 44: be a full membership in the local guild. In addition, you
! 45: are allowed to keep all the loot you bring back from the
! 46: dungeons.</p>
! 47:
! 48: <p align="justify">In preparation for your journey, you are
! 49: given an enchanted mace, a bow, and a quiver of arrows taken
! 50: from a dragon’s hoard in the far off Dark Mountains.
! 51: You are also outfitted with elf-crafted armor and given
! 52: enough food to reach the dungeons. You say goodbye to family
! 53: and friends for what may be the last time and head up the
! 54: road.</p>
! 55:
! 56: <p align="justify">You set out on your way to the dungeons and
! 57: after several days of uneventful travel, you see the
! 58: ancient ruins that mark the entrance to the Dungeons of
! 59: Doom. It is late at night, so you make camp at the entrance
! 60: and spend the night sleeping under the open skies. In the
! 61: morning you gather your weapons, put on your armor, eat what
! 62: is almost your last food, and enter the
! 63: dungeons.</p>
! 64:
! 65: <h2 align="justify"><b>2. What is going on here?</b></h2>
! 66: <p align="justify">You have just begun a game of rogue. Your
! 67: goal is to grab as much treasure as you can, find the Amulet
! 68: of Yendor, and get out of the Dungeons of Doom alive. On the
! 69: screen, a map of where you have been and what you have seen
! 70: on the current dungeon level is kept. As you explore more of
! 71: the level, it appears on the screen in front of
! 72: you.</p>
! 73: <p align="justify">Rogue differs from most computer fantasy
! 74: games in that it is screen oriented. Commands are all one or
! 75: two keystrokes<sup>1 </sup>and the
! 76: results of your commands are displayed graphically on the
! 77: screen rather than being explained in words<sup>2</sup>.</p>
! 78: <p align="justify">Another major difference between rogue and other computer fantasy games is that once you have solved
! 79: all the puzzles in a standard fantasy game, it has lost most
! 80: of its excitement and it ceases to be fun. Rogue, on the
! 81: other hand, generates a new dungeon every time you play it
! 82: and even the author finds it an entertaining and exciting
! 83: game.</p>
! 84:
! 85: <h2 align="justify"><b>3. What do all those things on the screen mean?</b></h2>
! 86: <p align="justify">In order to understand what is going on in
! 87: rogue you have to first get some grasp of what rogue is
! 88: doing with the screen. The rogue screen is intended to
! 89: replace the “You can see ...” descriptions of
! 90: standard fantasy games. Figure 1 is a sample of what a
! 91: rogue screen might look like.</p>
! 92:
! 93: <div align="center">
! 94:
! 95: <table><tr><td>
! 96: <pre>
! 97: ____________________________________________________________
! 98:
! 99:
! 100: ------------
! 101: |..........+
! 102: |..@....]..|
! 103: |....B.....|
! 104: |..........|
! 105: -----+------
! 106:
! 107:
! 108:
! 109: Level: 1 Gold: 0 Hp: 12(12) Str: 16(16) Arm: 4 Exp: 1/0
! 110:
! 111: Figure 1
! 112: ____________________________________________________________
! 113: </pre>
! 114: </td></tr></table>
! 115: </div>
! 116: <h3 align="justify"><b>3.1. The bottom line</b></h3>
! 117: <p align="justify">At the bottom line of the screen are a few
! 118: pieces of cryptic information describing your current
! 119: status. Here is an explanation of what these things
! 120: mean:<br>
! 121: </p>
! 122:
! 123: <table border="0" width="100%" id="table1" cellspacing="3" cellpadding="3">
! 124: <tr>
! 125: <td width="7%" valign="top">
! 126: <p align="justify">Level</td>
! 127: <td>
! 128: <p align="justify">This number indicates how deep you
! 129: have gone in the dungeon. It starts at one and goes up as
! 130: you go deeper into the dungeon.</td>
! 131: </tr>
! 132: <tr>
! 133: <td valign="top">
! 134: <p align="justify">Gold</td>
! 135: <td>
! 136: <p align="justify">The number of gold pieces you have managed to find and keep with you
! 137: so far.</td>
! 138: </tr>
! 139: <tr>
! 140: <td valign="top">
! 141: <p align="justify">Hp</td>
! 142: <td>
! 143: <p align="justify">Your current and maximum health points.
! 144: Health points indicate how much damage you can take before
! 145: you die. The more you get hit in a fight, the lower they
! 146: get. You can regain health points by resting. The number in
! 147: parentheses is the maximum number your health points can
! 148: reach.</p>
! 149:
! 150: </td>
! 151: </tr>
! 152: <tr>
! 153: <td valign="top">
! 154: <p align="justify">Str</td>
! 155: <td>
! 156:
! 157: <p align="justify">Your current strength and maximum ever
! 158: strength. This can be any integer less than or equal to 31,
! 159: or greater than or equal to three. The higher the num- ber,
! 160: the stronger you are. The number in the parentheses is the
! 161: maximum strength you have attained so far this
! 162: game.</p>
! 163:
! 164: </td>
! 165: </tr>
! 166: <tr>
! 167: <td valign="top">
! 168: <p align="justify">Arm</td>
! 169: <td>
! 170: <p align="justify">Your current armor protection. This
! 171: number indicates how effective your armor is in stopping
! 172: blows from unfriendly creatures. The higher this number is,
! 173: the more effective the armor.</p>
! 174:
! 175: </td>
! 176: </tr>
! 177: <tr>
! 178: <td valign="top">
! 179: <p align="justify">Exp</td>
! 180: <td>
! 181: <p align="justify">These two numbers give your current
! 182: experience level and experience points. As you do things,
! 183: you gain experience points. At certain experience point
! 184: totals, you gain an experience level. The more experienced
! 185: you are, the better you are able to fight and to withstand
! 186: magical attacks.</p>
! 187:
! 188: </td>
! 189: </tr>
! 190: </table>
! 191:
! 192: <p align="justify"> </p>
! 193:
! 194: <h3 align="justify"><b>3.2. The top line</b></h3>
! 195: <p align="justify">The top line of the screen is reserved for
! 196: printing messages that describe things that are impossible
! 197: to represent visually. If you see a “--More--”
! 198: on the top line, this means that rogue wants to print
! 199: another message on the screen, but it wants to make certain
! 200: that you have read the one that is there first. To read the
! 201: next message, just type a space.</p>
! 202:
! 203:
! 204: <h3 align="justify"><b>3.3. The rest of the screen</b></h3>
! 205: <p align="justify">The rest of the screen is the map of the
! 206: level as you have explored it so far. Each symbol on the
! 207: screen repre- sents something. Here is a list of what the
! 208: various symbols mean:</p>
! 209: <table border="0" width="100%" id="table2" cellspacing="3" cellpadding="3">
! 210: <tr>
! 211: <td width="7%" align="center" valign="top">
! 212: <p align="justify">@</td>
! 213: <td>
! 214: <p align="justify">This symbol represents you, the adventurer.</td>
! 215: </tr>
! 216: <tr>
! 217: <td align="center" valign="top">
! 218: <p align="justify">- |</td>
! 219: <td>
! 220: <p align="justify">These symbols represent the walls of rooms.</td>
! 221: </tr>
! 222: <tr>
! 223: <td align="center" valign="top">
! 224: <p align="justify">+</td>
! 225: <td>
! 226: <p align="justify">A door to/from a room.</td>
! 227: </tr>
! 228: <tr>
! 229: <td align="center" valign="top">
! 230: <p align="justify">.</td>
! 231: <td>
! 232: <p align="justify">The floor of a room.</td>
! 233: </tr>
! 234: <tr>
! 235: <td align="center" valign="top">
! 236: <p align="justify">#</td>
! 237: <td>
! 238: <p align="justify">The floor of a passage between rooms.</td>
! 239: </tr>
! 240: <tr>
! 241: <td align="center" valign="top">
! 242: <p align="justify">*</td>
! 243: <td>
! 244: <p align="justify">A pile or pot of gold.</td>
! 245: </tr>
! 246: <tr>
! 247: <td align="center" valign="top">
! 248: <p align="justify">)</td>
! 249: <td>
! 250: <p align="justify">A weapon of some sort.</td>
! 251: </tr>
! 252: <tr>
! 253: <td align="center" valign="top">
! 254: <p align="justify">]</td>
! 255: <td>
! 256: <p align="justify">A piece of armor.</td>
! 257: </tr>
! 258: <tr>
! 259: <td align="center" valign="top">
! 260: <p align="justify">!</td>
! 261: <td>
! 262: <p align="justify">A flask containing a magic potion.</td>
! 263: </tr>
! 264: <tr>
! 265: <td align="center" valign="top">
! 266: <p align="justify">?</td>
! 267: <td>
! 268: <p align="justify">A piece of paper, usually a magic scroll.</td>
! 269: </tr>
! 270: <tr>
! 271: <td align="center" valign="top">
! 272: <p align="justify">=</td>
! 273: <td>
! 274: <p align="justify">A ring with magic properties</td>
! 275: </tr>
! 276: <tr>
! 277: <td align="center" valign="top">
! 278: <p align="justify">/</td>
! 279: <td>
! 280: <p align="justify">A magical staff or wand</td>
! 281: </tr>
! 282: <tr>
! 283: <td align="center" valign="top">
! 284: <p align="justify">^</td>
! 285: <td>
! 286: <p align="justify">A trap, watch out for these.</td>
! 287: </tr>
! 288: <tr>
! 289: <td align="center" valign="top">
! 290: <p align="justify">%</td>
! 291: <td>
! 292: <p align="justify">A staircase to other levels</td>
! 293: </tr>
! 294: <tr>
! 295: <td align="center" valign="top">
! 296: <p align="justify">:</td>
! 297: <td>
! 298: <p align="justify">A piece of food.</td>
! 299: </tr>
! 300: <tr>
! 301: <td align="center" valign="top">
! 302: <p align="justify">A-Z</td>
! 303: <td>
! 304: <p align="justify">The uppercase letters represent the various
! 305: inhabitants of the Dungeons of Doom. Watch out, they can be nasty and
! 306: vicious.</td>
! 307: </tr>
! 308: </table>
! 309:
! 310:
! 311: <h2 align="justify"><b>4. Commands</b></h2>
! 312: <p align="justify">Commands are given to rogue by typing one or two characters.
! 313: Most commands can be preceded by a count to repeat them (e.g. typing “10s” will
! 314: do ten searches). Commands for which counts make no sense have the count
! 315: ignored. To cancel a count or a prefix, type <ESCAPE> . The list of commands is
! 316: rather long, but it can be read at any time during the game
! 317: with the “?” command. Here it is for reference,
! 318: with a short explanation of each
! 319: command.<br>
! 320: </p>
! 321:
! 322: <div align="center">
! 323:
! 324: <table border="0" cellspacing="3" cellpadding="3" id="table3">
! 325: <tr>
! 326: <td valign="top" align="left">
! 327: <p>?</td>
! 328: <td align="justify">
! 329: <p align="justify">The help command. Asks for a character to give help
! 330: on. If you type a “*”, it will list all the commands, otherwise it will
! 331: explain what the character you typed does.</td>
! 332: </tr>
! 333: <tr>
! 334: <td align="left" valign="top">
! 335: <p>/</td>
! 336: <td align="justify">
! 337: <p>This is the “What is that on the screen?” command. A
! 338: “/” followed by any character that you see on the level, will tell you
! 339: what that character is. For instance, typing “/@” will tell you that the
! 340: “@” symbol represents you, the player.</td>
! 341: </tr>
! 342: <tr>
! 343: <td nowrap align="left" valign="top" colspan="2">
! 344: <p>h, H, ^H</td>
! 345: </tr>
! 346: <tr>
! 347: <td align="left" valign="top">
! 348: </td>
! 349: <td align="justify">
! 350: <p align="justify">Move left. You move one space to the left. If you use
! 351: upper case “h”, you will continue to move left until you run into
! 352: something. This works for all movement commands (e.g. “L” means run in
! 353: direction “l”) If you use the “control” “h”, you will continue moving in
! 354: the specified direction until you pass something interesting or run into
! 355: a wall. You should experiment with this, since it is a very useful
! 356: command, but very difficult to describe. This also works for all movement
! 357: commands.</td>
! 358: </tr>
! 359: <tr>
! 360: <td align="left" valign="top">
! 361: <p>j</td>
! 362: <td align="justify">
! 363: <p align="justify">Move down.</td>
! 364: </tr>
! 365: <tr>
! 366: <td align="left" valign="top">
! 367: <p>k</td>
! 368: <td align="justify">
! 369: <p align="justify">Move up.</td>
! 370: </tr>
! 371: <tr>
! 372: <td align="left" valign="top">
! 373: <p>l</td>
! 374: <td align="justify">
! 375: <p align="justify">Move right.</td>
! 376: </tr>
! 377: <tr>
! 378: <td align="left" valign="top">
! 379: <p>y</td>
! 380: <td align="justify">
! 381: <p align="justify">Move diagonally up and left.</td>
! 382: </tr>
! 383: <tr>
! 384: <td align="left" valign="top">
! 385: <p>u</td>
! 386: <td align="justify">
! 387: <p align="justify">Move diagonally up and right.</td>
! 388: </tr>
! 389: <tr>
! 390: <td align="left" valign="top">
! 391: <p>b</td>
! 392: <td align="justify">
! 393: <p align="justify">Move diagonally down and left.</td>
! 394: </tr>
! 395: <tr>
! 396: <td align="left" valign="top">
! 397: <p>n</td>
! 398: <td align="justify">
! 399: <p align="justify">Move diagonally down and right.</td>
! 400: </tr>
! 401: <tr>
! 402: <td align="left" valign="top">
! 403: <p>t</td>
! 404: <td align="justify">
! 405: <p align="justify">Throw an object. This is a prefix command. When followed with a
! 406: direction it throws an object in the specified direction. (e.g. type
! 407: “th” to throw something to the
! 408: left.)</td>
! 409: </tr>
! 410: <tr>
! 411: <td align="left" valign="top">
! 412: <p>f</td>
! 413: <td align="justify">
! 414: <p align="justify">Fight until someone dies. When followed with a direction this will force you to fight the creature
! 415: in that direction until either you or it bites the big
! 416: one.</td>
! 417: </tr>
! 418: <tr>
! 419: <td align="left" valign="top">
! 420: <p>m</td>
! 421: <td align="justify">
! 422: <p align="justify">Move onto something without picking it up. This will move you one
! 423: space in the direction you specify and, if there is an object there you
! 424: can pick up, it won’t do it.</td>
! 425: </tr>
! 426: <tr>
! 427: <td align="left" valign="top">
! 428: <p>z</td>
! 429: <td align="justify">
! 430: <p align="justify">Zap prefix. Point a staff or wand in a given direction and fire it.
! 431: Even non-directional staves must be pointed in some direction to be
! 432: used.</td>
! 433: </tr>
! 434: <tr>
! 435: <td align="left" valign="top">
! 436: <p>^</td>
! 437: <td align="justify">
! 438: <p align="justify">Identify trap command. If a trap is on your map and you can’t
! 439: remember what type it is, you can get rogue to remind you by getting
! 440: next to it and typing “^” followed by the direction that would move
! 441: you on top of it.</td>
! 442: </tr>
! 443: <tr>
! 444: <td align="left" valign="top">
! 445: <p>s</td>
! 446: <td align="justify">
! 447: <p align="justify">Search for traps and secret doors. Examine each space immediately
! 448: adjacent to you for the existence of a trap or secret door. There is a
! 449: large chance that even if there is something there, you won’t find it,
! 450: so you might have to search a while before you find something.</td>
! 451: </tr>
! 452: <tr>
! 453: <td align="left" valign="top">
! 454: <p>></td>
! 455: <td align="justify">
! 456: <p>Climb down a staircase to the next level. Not surprisingly, this can only be done if you are
! 457: standing on staircase.</td>
! 458: </tr>
! 459: <tr>
! 460: <td align="left" valign="top">
! 461: <p><</td>
! 462: <td align="justify">
! 463: <p>Climb up a staircase to the level above. This can’t be done without
! 464: the Amulet of Yendor
! 465: in your possession.</td>
! 466: </tr>
! 467: <tr>
! 468: <td align="left" valign="top">
! 469: <p>.</td>
! 470: <td align="justify">
! 471: <p>Rest. This is the “do nothing” command. This is good for waiting and
! 472: healing.</td>
! 473: </tr>
! 474: <tr>
! 475: <td align="left" valign="top">
! 476: <p>,</td>
! 477: <td align="justify">
! 478: <p>Pick up something. This picks up whatever you are currently standing on, if you are
! 479: standing on anything at all.</td>
! 480: </tr>
! 481: <tr>
! 482: <td align="left" valign="top">
! 483: <p>i</td>
! 484: <td align="justify">
! 485: <p>Inventory. List what you are carrying in
! 486: your pack.</td>
! 487: </tr>
! 488: <tr>
! 489: <td align="left" valign="top">
! 490: <p>I</td>
! 491: <td align="justify">
! 492: <p>Selective inventory. Tells you what a single item in your pack is.</td>
! 493: </tr>
! 494: <tr>
! 495: <td align="left" valign="top">
! 496: <p>q</td>
! 497: <td align="justify">
! 498: <p align="justify">Quaff one of the potions you are carrying.</td>
! 499: </tr>
! 500: <tr>
! 501: <td align="left" valign="top">
! 502: <p>r</td>
! 503: <td align="justify">
! 504: <p align="justify">Read one of the scrolls in your pack.</td>
! 505: </tr>
! 506: <tr>
! 507: <td align="left" valign="top">
! 508: <p>e</td>
! 509: <td align="justify">
! 510: <p align="justify">Eat food from your pack.</td>
! 511: </tr>
! 512: <tr>
! 513: <td align="left" valign="top">
! 514: <p>w</td>
! 515: <td align="justify">
! 516: <p align="justify">Wield a weapon. Take a weapon out of your pack and carry it for use
! 517: in combat, replacing the one you are currently using (if any).</td>
! 518: </tr>
! 519: <tr>
! 520: <td align="left" valign="top">
! 521: <p>W</td>
! 522: <td align="justify">
! 523: <p align="justify">Wear armor. You can only wear one suit of armor at a time. This
! 524: takes extra time.</td>
! 525: </tr>
! 526: <tr>
! 527: <td align="left" valign="top">
! 528: <p>T</td>
! 529: <td align="justify">
! 530: <p align="justify">Take armor off. You can’t remove armor that is cursed. This takes
! 531: extra time.</td>
! 532: </tr>
! 533: <tr>
! 534: <td align="left" valign="top">
! 535: <p>P</td>
! 536: <td align="justify">
! 537: <p align="justify">Put on a ring. You can wear only two rings at a time (one on each
! 538: hand). If you aren’t wearing any rings, this command will ask you which
! 539: hand you want to wear it on, otherwise, it will place it on the unused
! 540: hand. The program assumes that you wield your sword in your right hand.</td>
! 541: </tr>
! 542: <tr>
! 543: <td align="left" valign="top">
! 544: <p>R</td>
! 545: <td align="justify">
! 546: <p align="justify">Remove a ring. If you are only wearing one ring, this command takes
! 547: it off. If you are wearing two, it will ask you which one you wish to
! 548: remove,</td>
! 549: </tr>
! 550: <tr>
! 551: <td align="left" valign="top">
! 552: <p>d</td>
! 553: <td align="justify">
! 554: <p align="justify">Drop an object. Take something out of your pack and leave it lying
! 555: on the floor. Only one object can occupy each space. You cannot drop a
! 556: cursed object at all if you are wielding or wearing it.</td>
! 557: </tr>
! 558: <tr>
! 559: <td align="left" valign="top">
! 560: <p>c</td>
! 561: <td align="justify">
! 562: <p align="justify">Call an object something. If you have a type of object in your pack
! 563: which you wish to remember something about, you can use the call command
! 564: to give a name to that type of object. This is usually used when you
! 565: figure out what a potion, scroll, ring, or staff is after you pick it
! 566: up, or when you want to remember which of those swords in your pack you
! 567: were wielding.</td>
! 568: </tr>
! 569: <tr>
! 570: <td align="left" valign="top">
! 571: <p>D</td>
! 572: <td align="justify">
! 573: <p align="justify">Print out which things you’ve discovered something about. This
! 574: command will ask you what type of thing you are interested in. If you
! 575: type the character for a given type of object (<i>e.g.</i>
! 576: “!” for potion) it will tell you which kinds of
! 577: that type of object you’ve discovered (<i>i.e.</i>, figured out what they
! 578: are). This command works for
! 579: potions, scrolls, rings, and staves and
! 580: wands.</td>
! 581: </tr>
! 582: <tr>
! 583: <td align="left" valign="top">
! 584: <p>o</td>
! 585: <td align="justify">
! 586: <p align="justify">Examine and set options. This command is further explained in the
! 587: section on options.</td>
! 588: </tr>
! 589: <tr>
! 590: <td align="left" valign="top">
! 591: <p>^R</td>
! 592: <td align="justify">
! 593: <p>Redraws the screen. Useful if spurious messages or transmission
! 594: errors have messed up the display.</td>
! 595: </tr>
! 596: <tr>
! 597: <td align="left" valign="top">
! 598: <p>^P</td>
! 599: <td align="justify">
! 600: <p align="justify">Print last message. Useful when a message disappears before you can
! 601: read it. This only repeats the last message that was not a mistyped
! 602: command so that you don’t loose anything by accidentally typing the
! 603: wrong character instead of ^P.</td>
! 604: </tr>
! 605: <tr>
! 606: <td align="left" valign="top" colspan="2">
! 607: <p><ESCAPE></td>
! 608: </tr>
! 609: <tr>
! 610: <td align="left" valign="top">
! 611: </td>
! 612: <td align="justify">
! 613: Cancel a command, prefix, or count.</td>
! 614: </tr>
! 615: <tr>
! 616: <td align="left" valign="top">
! 617: <p>!</td>
! 618: <td align="justify">
! 619: <p align="justify">Escape to a shell for some commands.</td>
! 620: </tr>
! 621: <tr>
! 622: <td align="left" valign="top">
! 623: <p>Q</td>
! 624: <td align="justify">
! 625: <p align="justify">Quit. Leave the game.</td>
! 626: </tr>
! 627: <tr>
! 628: <td align="left" valign="top">
! 629: <p>S</td>
! 630: <td align="justify">
! 631: <p align="justify">Save the current game in a file. It will ask you whether you wish to
! 632: use the default save file.
! 633: <i>Caveat</i>: Rogue won’t let you start up a copy of
! 634: a saved game, and it removes the save file as soon as you
! 635: start up a restored game. This is to prevent people from
! 636: saving a game just before a dangerous position and then
! 637: restart- ing it if they die. To restore a saved game, give
! 638: the file name as an argument to rogue. As
! 639: in</p>
! 640: <p align="justify">% rogue
! 641: <i>save_file</i></p>
! 642: <p align="justify">To restart from the default save file (see below), run </p>
! 643: <p align="justify">% rogue -r</td>
! 644: </tr>
! 645: <tr>
! 646: <td align="left" valign="top">
! 647: <p>v</td>
! 648: <td align="justify">
! 649: <p align="justify">Prints the program version number.</td>
! 650: </tr>
! 651: <tr>
! 652: <td align="left" valign="top">
! 653: <p>)</td>
! 654: <td align="justify">
! 655: <p align="justify">Print the weapon you are currently wielding</td>
! 656: </tr>
! 657: <tr>
! 658: <td height="28" align="left" valign="top">
! 659: <p>]</td>
! 660: <td height="28" align="justify">
! 661: <p align="justify">Print the armor you are currently wearing</td>
! 662: </tr>
! 663: <tr>
! 664: <td align="left" valign="top">
! 665: <p>=</td>
! 666: <td align="justify">
! 667: <p align="justify">Print the rings you are currently wearing</td>
! 668: </tr>
! 669: <tr>
! 670: <td align="left" valign="top">
! 671: <p>@</td>
! 672: <td align="justify">
! 673: <p align="justify">Reprint the status line on the message line</td>
! 674: </tr>
! 675: </table>
! 676:
! 677: </div>
! 678:
! 679: <h2 align="justify"><b>5. Rooms</b></h2>
! 680: <p align="justify">Rooms in the dungeons are either lit or
! 681: dark. If you walk into a lit room, the entire room will be
! 682: drawn on the screen as soon as you enter. If you walk into a
! 683: dark room, it will only be displayed as you explore it. Upon
! 684: leaving a room, all monsters inside the room are erased from
! 685: the screen. In the darkness you can only see one space in
! 686: all directions around you. A corridor is always
! 687: dark.</p>
! 688:
! 689: <h2 align="justify"><b>6. Fighting</b></h2>
! 690: <p align="justify">If you see a monster and you wish to fight
! 691: it, just attempt to run into it. Many times a monster you
! 692: find will mind its own business unless you attack it. It is
! 693: often the case that discretion is the better part of
! 694: valor.</p>
! 695:
! 696: <h2 align="justify"><b>7. Objects you can find</b></h2>
! 697: <p align="justify">When you find something in the dungeon, it
! 698: is common to want to pick the object up. This is
! 699: accomplished in rogue by walking over the object (unless you
! 700: use the “m” prefix, see above). If you are
! 701: carrying too many things, the pro- gram will tell you and it
! 702: won’t pick up the object, other- wise it will add it
! 703: to your pack and tell you what you just picked
! 704: up.</p>
! 705:
! 706: <p align="justify">Many of the commands that operate on
! 707: objects must prompt you to find out which object you want to
! 708: use. If you change your mind and don’t want to do that
! 709: command after all, just type an
! 710: <ESCAPE> and the command will be
! 711: aborted.</p>
! 712:
! 713: <p align="justify">Some objects, like armor and weapons, are
! 714: easily dif- ferentiated. Others, like scrolls and potions,
! 715: are given labels which vary according to type. During a
! 716: game, any two of the same kind of object with the same label
! 717: are the same type. However, the labels will vary from game
! 718: to game.</p>
! 719:
! 720: <p align="justify">When you use one of these labeled objects,
! 721: if its effect is obvious, rogue will remember what it is for
! 722: you. If it’s effect isn’t extremely obvious you
! 723: will be asked what you want to scribble on it so you will
! 724: recognize it later, or you can use the “call”
! 725: command (see above).</p>
! 726:
! 727: <h3 align="justify"><b>7.1. Weapons</b></h3>
! 728: <p align="justify">Some weapons, like arrows, come in bunches,
! 729: but most come one at a time. In order to use a weapon, you
! 730: must wield it. To fire an arrow out of a bow, you must first
! 731: wield the bow, then throw the arrow. You can only wield one
! 732: weapon at a time, but you can’t change weapons if the
! 733: one you are currently wielding is cursed. The commands to
! 734: use weapons are “w” (wield) and “t”
! 735: (throw).</p>
! 736:
! 737: <h3 align="justify"><b>7.2. Armor</b></h3>
! 738:
! 739: <p align="justify">There are various sorts of armor lying around in the dungeon. Some of it is
! 740: enchanted, some is cursed, and some is just normal. Different armor types have
! 741: different armor protection. The higher the armor protection, the more protection the armor affords against the blows of
! 742: monsters. Here is a list of the various armor types and
! 743: their normal armor protection:</p>
! 744: <div align="center">
! 745: <table border="1" cellspacing="3" cellpadding="3" id="table4" style="border-collapse: collapse">
! 746: <tr>
! 747: <th><i>Type</i></th>
! 748: <th><i>Protection</i></th>
! 749: </tr>
! 750: <tr>
! 751: <td>None</td>
! 752: <td align="center">0</td>
! 753: </tr>
! 754: <tr>
! 755: <td>Leather armor</td>
! 756: <td align="center">2</td>
! 757: </tr>
! 758: <tr>
! 759: <td>Studded leather / Ring mail</td>
! 760: <td align="center">3</td>
! 761: </tr>
! 762: <tr>
! 763: <td>Scale mail </td>
! 764: <td align="center">4</td>
! 765: </tr>
! 766: <tr>
! 767: <td>Chain mail </td>
! 768: <td align="center">5</td>
! 769: </tr>
! 770: <tr>
! 771: <td>Banded mail / Splint mail</td>
! 772: <td align="center">6</td>
! 773: </tr>
! 774: <tr>
! 775: <td>Plate mail </td>
! 776: <td align="center">7</td>
! 777: </tr>
! 778: </table>
! 779: <p> </div>
! 780: <p align="justify">
! 781: If a piece of armor is enchanted, its
! 782: armor protection will be higher than normal. If a suit of
! 783: armor is cursed, its armor protection will be lower, and you
! 784: will not be able to remove it. However, not all armor with a
! 785: protection that is lower than normal is
! 786: cursed.
! 787:
! 788: </p>
! 789:
! 790: <p align="justify">The commands to use weapons are
! 791: “W” (wear) and “T” (take
! 792: off).</p>
! 793:
! 794: <h3 align="justify">
! 795:
! 796: <b>7.3. Scrolls</b></h3>
! 797: <p align="justify">Scrolls come with titles in an unknown tongue<sup>3</sup>. After you read a scroll, it
! 798: disappears from your pack. The com mand to use a
! 799: scroll is “r” (read).</p>
! 800:
! 801: <h3 align="justify">
! 802:
! 803: <b>7.4. Potions</b>
! 804:
! 805: </h3>
! 806:
! 807: <p align="justify">Potions are labeled by the color of the
! 808: liquid inside the flask. They disappear after being quaffed.
! 809: The command to use a scroll is “q”
! 810: (quaff).</p>
! 811:
! 812: <h3 align="justify"><b>7.5. Staves and Wands</b></h3>
! 813: <p align="justify">Staves and wands do the same kinds of
! 814: things. Staves are identified by a type of wood; wands by a
! 815: type of metal or bone. They are generally things you want to
! 816: do to some- thing over a long distance, so you must point
! 817: them at what you wish to affect to use them. Some staves are
! 818: not affected by the direction they are pointed, though.
! 819: Staves come with multiple magic charges, the number being
! 820: random, and when they are used up, the staff is just a piece
! 821: of wood or metal.</p>
! 822:
! 823: <p align="justify">The command to use a wand or staff is
! 824: “z” (zap)</p>
! 825:
! 826: <h3 align="justify"><b>7.6. Rings</b></h3>
! 827:
! 828: <p align="justify">Rings are very useful items, since they are
! 829: relatively permanent magic, unlike the usually fleeting
! 830: effects of potions, scrolls, and staves. Of course, the bad
! 831: rings are also more powerful. Most rings also cause you to
! 832: use up food more rapidly, the rate varying with the type of
! 833: ring. Rings are differentiated by their stone settings. The
! 834: com- mands to use rings are “P” (put on) and
! 835: “R” (remove).</p>
! 836:
! 837: <h3 align="justify"><b>7.7. Food</b></h3>
! 838:
! 839: <p align="justify">Food is necessary to keep you going. If you
! 840: go too long without eating you will faint, and eventually
! 841: die of starvation. The command to use food is
! 842: “e” (eat).</p>
! 843:
! 844: <h2 align="justify"><b>8. Options</b></h2>
! 845: <p align="justify">Due to variations in personal tastes and
! 846: conceptions of the way rogue should do things, there are a
! 847: set of options you can set that cause rogue to behave in
! 848: various different ways.</p>
! 849:
! 850: <h3 align="justify"><b>8.1 Setting the options</b></h3>
! 851:
! 852: <p align="justify">There are two ways to set the options. The
! 853: first is with the “o” command of rogue; the
! 854: second is with the “ROGUEOPTS” environment
! 855: variable.</p>
! 856:
! 857: <h3 align="justify"><b>8.1.1. Using the ‘o’ command</b></h3>
! 858:
! 859: <p align="justify">When you type “o” in rogue, it
! 860: clears the screen and displays the current settings for all
! 861: the options. It then places the cursor by the value of the
! 862: first option and waits for you to type. You can type a
! 863: <RETURN> which means to go to the next
! 864: option, a “−” which means to go to the
! 865: previous option, an <ESCAPE> which
! 866: means to return to the game, or you can give the option a
! 867: value. For boolean options this merely involves typing
! 868: “t” for true or “f” for false. For
! 869: string options, type the new value followed by a
! 870: <RETURN> .</p>
! 871:
! 872: <h3 align="justify"><b>8.1.2. Using the ROGUEOPTS variable</b></h3>
! 873:
! 874: <p align="justify">The ROGUEOPTS variable is a string
! 875: containing a comma separated list of initial values for the
! 876: various options. Boolean variables can be turned on by
! 877: listing their name or turned off by putting a
! 878: “no” in front of the name. Thus to set up an
! 879: environment variable so that <b>jump</b> is on, <b>terse</b>
! 880: is off, and the <b>name</b> is set to “Blue
! 881: Meanie”, use the command</p>
! 882:
! 883: <p align="justify">% setenv ROGUEOPTS
! 884: "jump,noterse,name=Blue Meanie"<sup>4</sup></p>
! 885:
! 886: <h3 align="justify"><b>8.2. Option list</b></h3>
! 887:
! 888: <p align="justify">Here is a list of the options and an
! 889: explanation of what each one is for. The default value for
! 890: each is enclosed in square brackets. For character string
! 891: options, input over fifty characters will be
! 892: ignored.</p>
! 893:
! 894: <p align="justify"><b>terse</b>
! 895: [<i>noterse</i>]</p>
! 896: <blockquote>
! 897: <p align="justify">
! 898: Useful for those who are tired of the
! 899: sometimes lengthy messages of rogue. This is a useful option
! 900: for playing on slow terminals, so this option defaults to
! 901: <i>terse</i> if you are on a slow (1200 baud or under)
! 902: terminal.</p>
! 903: </blockquote>
! 904:
! 905: <p align="justify"><b>jump</b>
! 906: [<i>nojump</i>]</p>
! 907: <blockquote>
! 908: <p align="justify">If this option is set, running moves will
! 909: not be displayed until you reach the end of the move. This
! 910: saves considerable cpu and display time. This option
! 911: defaults to <i>jump</i> if you are using a slow
! 912: terminal.</p>
! 913: </blockquote>
! 914: <p align="justify"><b>flush</b>
! 915: [<i>noflush</i>]</p>
! 916: <blockquote>
! 917: <p align="justify">All typeahead is thrown away after each round of battle. This is useful for those who type far
! 918: ahead and then watch in dismay as a Bat kills
! 919: them.</p>
! 920: </blockquote>
! 921: <p align="justify"><b>seefloor</b>
! 922: [<i>seefloor</i>]</p>
! 923: <blockquote>
! 924: <p align="justify">Display the floor around you on the screen
! 925: as you move through dark rooms. Due to the amount of
! 926: characters generated, this option defaults to
! 927: <i>noseefloor</i> if you are using a slow
! 928: terminal.</p>
! 929: </blockquote>
! 930: <p align="justify"><b>passgo</b>
! 931: [<i>nopassgo</i>]</p>
! 932: <blockquote>
! 933: <p align="justify">Follow turnings in passageways. If you run
! 934: in a pas- sage and you run into stone or a wall, rogue will
! 935: see if it can turn to the right or left. If it can only turn
! 936: one way, it will turn that way. If it can turn either or
! 937: neither, it will stop. This algorithm can sometimes lead to
! 938: slightly confusing occurrences which is why it defaults to
! 939: <i>nopassgo</i>.</p>
! 940: </blockquote>
! 941: <p align="justify"><b>tombstone</b>
! 942: [<i>tombstone</i>]</p>
! 943: <blockquote>
! 944: <p align="justify">Print out the tombstone at the end if you
! 945: get killed. This is nice but slow, so you can turn it off if
! 946: you like.</p>
! 947: </blockquote>
! 948: <p align="justify"><b>inven</b>
! 949: [<i>overwrite</i>]</p>
! 950: <blockquote>
! 951: <p align="justify">Inventory type. This can have one of three
! 952: values: <i>overwrite</i>, <i>slow</i>, or <i>clear</i>. With
! 953: <i>overwrite</i> the top lines of the map are overwritten
! 954: with the list when inventory is requested or when
! 955: “Which item do you wish to <b>. . .</b>? ”
! 956: questions are answered with a “*”. How- ever, if
! 957: the list is longer than a screenful, the screen is cleared.
! 958: With <i>slow</i>, lists are displayed one item at a time on
! 959: the top of the screen, and with <i>clear</i>, the screen is
! 960: cleared, the list is displayed, and then the dungeon level
! 961: is re-displayed. Due to speed considerations, <i>clear</i>
! 962: is the default for terminals without clear-to-end-of-line
! 963: capabilities.</p>
! 964: </blockquote>
! 965: <p align="justify"><b>name</b> [account
! 966: name]</p>
! 967: <blockquote>
! 968: <p align="justify">This is the name of your character. It is
! 969: used if you get on the top ten scorer’s
! 970: list.</p>
! 971: </blockquote>
! 972: <p align="justify"><b>fruit</b>
! 973: [<i>slime-mold</i>]</p>
! 974: <blockquote>
! 975: <p align="justify">This should hold the name of a fruit that
! 976: you enjoy eating. It is basically a whimsy that rogue uses
! 977: in a couple of places.</p>
! 978: </blockquote>
! 979: <p align="justify"><b>file</b>
! 980: [<i>~/rogue.save</i>]</p>
! 981: <blockquote>
! 982: <p align="justify">The default file name for saving the game.
! 983: If your phone is hung up by accident, rogue will
! 984: automatically save the game in this file. The file name may
! 985: start with the special character “~” which
! 986: expands to be your home directory.</p>
! 987: </blockquote>
! 988: <h2 align="justify"><b>9. Scoring</b></h2>
! 989:
! 990: <p align="justify">Rogue usually maintains a list of the top
! 991: scoring people or scores on your machine. Depending on how
! 992: it is set up, it can post either the top scores or the top
! 993: players. In the latter case, each account on the machine can
! 994: post only one non-winning score on this list. If you score
! 995: higher than someone else on this list, or better your previous score on the list, you will be inserted in the proper
! 996: place under your current name. How many scores are kept can
! 997: also be set up by whoever installs it on your
! 998: machine.</p>
! 999:
! 1000: <p align="justify">If you quit the game, you get out with all
! 1001: of your gold intact. If, however, you get killed in the
! 1002: Dungeons of Doom, your body is forwarded to your
! 1003: next-of-kin, along with 90% of your gold; ten percent of
! 1004: your gold is kept by the Dungeons’ wizard as a fee<sup>5</sup>. This should make you
! 1005: consider whether you want to take one last hit at that
! 1006: monster and possibly live, or quit and thus stop with
! 1007: whatever you have. If you quit, you do get all your gold,
! 1008: but if you swing and live, you might find
! 1009: more.</p>
! 1010:
! 1011: <p align="justify">If you just want to see what the current top players/games list is, you can
! 1012: type</p>
! 1013: <p align="justify">% @PROGRAM@ −s</p>
! 1014:
! 1015: <h2 align="justify"><b>10. Acknowledgements</b></h2>
! 1016:
! 1017: <p align="justify">Rogue was originally conceived of by Glenn
! 1018: Wichman and Michael Toy. Ken Arnold and Michael Toy then
! 1019: smoothed out the user interface, and added jillions of new
! 1020: features. We would like to thank Bob Arnold, Michelle Busch,
! 1021: Andy Hatcher, Kipp Hickman, Mark Horton, Daniel Jensen, Bill
! 1022: Joy, Joe Kalash, Steve Maurer, Marty McNary, Jan Miller, and
! 1023: Scott Nelson for their ideas and assistance; and also the
! 1024: teeming multitudes who graciously ignored work, school, and
! 1025: social life to play rogue and send us bugs, complaints, suggestions, and just plain flames. And also
! 1026: Mom.</p>
! 1027: <table border="0" width="100%" cellspacing="3" cellpadding="0" id="table5">
! 1028: <tr>
! 1029: <td align="right" valign="top"><sup>†</sup></td>
! 1030: <td>UNIX is a registered trademark of The Open Group</td>
! 1031: </tr>
! 1032: <tr>
! 1033: <td align="right" valign="top"><sup>1</sup></td>
! 1034: <td>As opposed to pseudo English sentences.</td>
! 1035: </tr>
! 1036: <tr>
! 1037: <td align="right" valign="top"><sup>2</sup></td>
! 1038: <td>A minimum screen size of 24 lines by 80 columns is required. If the
! 1039: screen is larger, only the 24x80 section
! 1040: will be used for the map.</td>
! 1041: </tr>
! 1042: <tr>
! 1043: <td align="right" valign="top"><sup>3</sup></td>
! 1044: <td>Actually, it's a dialect spoken only by the twenty-seven members of
! 1045: a tribe in Outer Mongolia, but you're not supposed to know that.</td>
! 1046: </tr>
! 1047: <tr>
! 1048: <td align="right" valign="top"><sup>4</sup></td>
! 1049: <td>For those of you who use the Bourne shell sh (1), the commands would be<p>$ ROGUEOPTS="jump,noterse,name=Blue Meanie"<br>
! 1050: $ export ROGUEOPTS<br>
! 1051: </td>
! 1052: </tr>
! 1053: <tr>
! 1054: <td align="right" valign="top"><sup>5</sup></td>
! 1055: <td>The Dungeon's wizard is named Wally the Wonder Badger. Invocations
! 1056: should be accompanied by a sizable donation.</td>
! 1057: </tr>
! 1058: </table>
! 1059: </body>
! 1060: </html>
CVSweb