Mercurial > hg > early-roguelike
diff rogue5/rogue.html.in @ 33:f502bf60e6e4
Import Rogue 5.4 from the Roguelike Restoration Project (r1490)
author | elwin |
---|---|
date | Mon, 24 May 2010 20:10:59 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rogue5/rogue.html.in Mon May 24 20:10:59 2010 +0000 @@ -0,0 +1,1060 @@ +<!-- Creator : groff version 1.18.1 --> +<!-- CreationDate: Sat Dec 31 10:58:15 2005 --> +<html> +<head> +<meta name="generator" content="groff -Thtml, see www.gnu.org"> +<meta name="Content-Style" content="text/css"> +<title></title> +</head> +<body> + +<h1 align=center><b>A Guide to the Dungeons of Doom</b></h1> + +<h2 align=center><i>Michael C. Toy<br> +Kenneth C. R. C. Arnold</i></h2> + +<h3 align=center>Computer Systems Research +Group<br> +Department of Electrical Engineering and Computer +Science<br> +University of California<br> +Berkeley, California 94720</h3> + + +<h2 align=center><i>ABSTRACT</i></h2> + +<blockquote> + <blockquote> + <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 + UNIX† timesharing system. This paper describes how + to play rogue, and gives a few hints for those who might otherwise get + lost in the Dungeons of Doom. </font></p> + </blockquote> +</blockquote> + +<h2 align="justify"><b>1. Introduction</b></h2> + +<p align="justify">You have just finished your years as a +student at the local fighter’s guild. After much +practice and sweat you have finally completed your training +and are ready to embark upon a perilous adventure. As a test +of your skills, the local guildmasters have sent you into +the Dungeons of Doom. Your task is to return with the Amulet +of Yendor. Your reward for the completion of this task will +be a full membership in the local guild. In addition, you +are allowed to keep all the loot you bring back from the +dungeons.</p> + +<p align="justify">In preparation for your journey, you are +given an enchanted mace, a bow, and a quiver of arrows taken +from a dragon’s hoard in the far off Dark Mountains. +You are also outfitted with elf-crafted armor and given +enough food to reach the dungeons. You say goodbye to family +and friends for what may be the last time and head up the +road.</p> + +<p align="justify">You set out on your way to the dungeons and +after several days of uneventful travel, you see the +ancient ruins that mark the entrance to the Dungeons of +Doom. It is late at night, so you make camp at the entrance +and spend the night sleeping under the open skies. In the +morning you gather your weapons, put on your armor, eat what +is almost your last food, and enter the +dungeons.</p> + +<h2 align="justify"><b>2. What is going on here?</b></h2> +<p align="justify">You have just begun a game of rogue. Your +goal is to grab as much treasure as you can, find the Amulet +of Yendor, and get out of the Dungeons of Doom alive. On the +screen, a map of where you have been and what you have seen +on the current dungeon level is kept. As you explore more of +the level, it appears on the screen in front of +you.</p> +<p align="justify">Rogue differs from most computer fantasy +games in that it is screen oriented. Commands are all one or +two keystrokes<sup>1 </sup>and the +results of your commands are displayed graphically on the +screen rather than being explained in words<sup>2</sup>.</p> +<p align="justify">Another major difference between rogue and other computer fantasy games is that once you have solved +all the puzzles in a standard fantasy game, it has lost most +of its excitement and it ceases to be fun. Rogue, on the +other hand, generates a new dungeon every time you play it +and even the author finds it an entertaining and exciting +game.</p> + +<h2 align="justify"><b>3. What do all those things on the screen mean?</b></h2> +<p align="justify">In order to understand what is going on in +rogue you have to first get some grasp of what rogue is +doing with the screen. The rogue screen is intended to +replace the “You can see ...” descriptions of +standard fantasy games. Figure 1 is a sample of what a +rogue screen might look like.</p> + +<div align="center"> + +<table><tr><td> +<pre> +____________________________________________________________ + + + ------------ + |..........+ + |..@....]..| + |....B.....| + |..........| + -----+------ + + + +Level: 1 Gold: 0 Hp: 12(12) Str: 16(16) Arm: 4 Exp: 1/0 + + Figure 1 +____________________________________________________________ +</pre> +</td></tr></table> +</div> +<h3 align="justify"><b>3.1. The bottom line</b></h3> +<p align="justify">At the bottom line of the screen are a few +pieces of cryptic information describing your current +status. Here is an explanation of what these things +mean:<br> + </p> + +<table border="0" width="100%" id="table1" cellspacing="3" cellpadding="3"> + <tr> + <td width="7%" valign="top"> + <p align="justify">Level</td> + <td> + <p align="justify">This number indicates how deep you +have gone in the dungeon. It starts at one and goes up as +you go deeper into the dungeon.</td> + </tr> + <tr> + <td valign="top"> + <p align="justify">Gold</td> + <td> + <p align="justify">The number of gold pieces you have managed to find and keep with you + so far.</td> + </tr> + <tr> + <td valign="top"> + <p align="justify">Hp</td> + <td> + <p align="justify">Your current and maximum health points. +Health points indicate how much damage you can take before +you die. The more you get hit in a fight, the lower they +get. You can regain health points by resting. The number in +parentheses is the maximum number your health points can +reach.</p> + + </td> + </tr> + <tr> + <td valign="top"> + <p align="justify">Str</td> + <td> + +<p align="justify">Your current strength and maximum ever +strength. This can be any integer less than or equal to 31, +or greater than or equal to three. The higher the num- ber, +the stronger you are. The number in the parentheses is the +maximum strength you have attained so far this +game.</p> + + </td> + </tr> + <tr> + <td valign="top"> + <p align="justify">Arm</td> + <td> + <p align="justify">Your current armor protection. This +number indicates how effective your armor is in stopping +blows from unfriendly creatures. The higher this number is, +the more effective the armor.</p> + + </td> + </tr> + <tr> + <td valign="top"> + <p align="justify">Exp</td> + <td> + <p align="justify">These two numbers give your current +experience level and experience points. As you do things, +you gain experience points. At certain experience point +totals, you gain an experience level. The more experienced +you are, the better you are able to fight and to withstand +magical attacks.</p> + + </td> + </tr> +</table> + +<p align="justify"> </p> + +<h3 align="justify"><b>3.2. The top line</b></h3> +<p align="justify">The top line of the screen is reserved for +printing messages that describe things that are impossible +to represent visually. If you see a “--More--” +on the top line, this means that rogue wants to print +another message on the screen, but it wants to make certain +that you have read the one that is there first. To read the +next message, just type a space.</p> + + +<h3 align="justify"><b>3.3. The rest of the screen</b></h3> +<p align="justify">The rest of the screen is the map of the +level as you have explored it so far. Each symbol on the +screen repre- sents something. Here is a list of what the +various symbols mean:</p> +<table border="0" width="100%" id="table2" cellspacing="3" cellpadding="3"> + <tr> + <td width="7%" align="center" valign="top"> + <p align="justify">@</td> + <td> + <p align="justify">This symbol represents you, the adventurer.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">- |</td> + <td> + <p align="justify">These symbols represent the walls of rooms.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">+</td> + <td> + <p align="justify">A door to/from a room.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">.</td> + <td> + <p align="justify">The floor of a room.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">#</td> + <td> + <p align="justify">The floor of a passage between rooms.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">*</td> + <td> + <p align="justify">A pile or pot of gold.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">)</td> + <td> + <p align="justify">A weapon of some sort.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">]</td> + <td> + <p align="justify">A piece of armor.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">!</td> + <td> + <p align="justify">A flask containing a magic potion.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">?</td> + <td> + <p align="justify">A piece of paper, usually a magic scroll.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">=</td> + <td> + <p align="justify">A ring with magic properties</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">/</td> + <td> + <p align="justify">A magical staff or wand</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">^</td> + <td> + <p align="justify">A trap, watch out for these.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">%</td> + <td> + <p align="justify">A staircase to other levels</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">:</td> + <td> + <p align="justify">A piece of food.</td> + </tr> + <tr> + <td align="center" valign="top"> + <p align="justify">A-Z</td> + <td> + <p align="justify">The uppercase letters represent the various + inhabitants of the Dungeons of Doom. Watch out, they can be nasty and + vicious.</td> + </tr> +</table> + + +<h2 align="justify"><b>4. Commands</b></h2> +<p align="justify">Commands are given to rogue by typing one or two characters. +Most commands can be preceded by a count to repeat them (e.g. typing “10s” will +do ten searches). Commands for which counts make no sense have the count +ignored. To cancel a count or a prefix, type <ESCAPE> . The list of commands is +rather long, but it can be read at any time during the game +with the “?” command. Here it is for reference, +with a short explanation of each +command.<br> + </p> + +<div align="center"> + +<table border="0" cellspacing="3" cellpadding="3" id="table3"> + <tr> + <td valign="top" align="left"> + <p>?</td> + <td align="justify"> + <p align="justify">The help command. Asks for a character to give help + on. If you type a “*”, it will list all the commands, otherwise it will + explain what the character you typed does.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>/</td> + <td align="justify"> + <p>This is the “What is that on the screen?” command. A + “/” followed by any character that you see on the level, will tell you + what that character is. For instance, typing “/@” will tell you that the + “@” symbol represents you, the player.</td> + </tr> + <tr> + <td nowrap align="left" valign="top" colspan="2"> + <p>h, H, ^H</td> + </tr> + <tr> + <td align="left" valign="top"> + </td> + <td align="justify"> + <p align="justify">Move left. You move one space to the left. If you use + upper case “h”, you will continue to move left until you run into + something. This works for all movement commands (e.g. “L” means run in + direction “l”) If you use the “control” “h”, you will continue moving in + the specified direction until you pass something interesting or run into + a wall. You should experiment with this, since it is a very useful + command, but very difficult to describe. This also works for all movement +commands.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>j</td> + <td align="justify"> + <p align="justify">Move down.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>k</td> + <td align="justify"> + <p align="justify">Move up.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>l</td> + <td align="justify"> + <p align="justify">Move right.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>y</td> + <td align="justify"> + <p align="justify">Move diagonally up and left.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>u</td> + <td align="justify"> + <p align="justify">Move diagonally up and right.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>b</td> + <td align="justify"> + <p align="justify">Move diagonally down and left.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>n</td> + <td align="justify"> + <p align="justify">Move diagonally down and right.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>t</td> + <td align="justify"> + <p align="justify">Throw an object. This is a prefix command. When followed with a + direction it throws an object in the specified direction. (e.g. type +“th” to throw something to the +left.)</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>f</td> + <td align="justify"> + <p align="justify">Fight until someone dies. When followed with a direction this will force you to fight the creature +in that direction until either you or it bites the big +one.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>m</td> + <td align="justify"> + <p align="justify">Move onto something without picking it up. This will move you one + space in the direction you specify and, if there is an object there you + can pick up, it won’t do it.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>z</td> + <td align="justify"> + <p align="justify">Zap prefix. Point a staff or wand in a given direction and fire it. + Even non-directional staves must be pointed in some direction to be + used.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>^</td> + <td align="justify"> + <p align="justify">Identify trap command. If a trap is on your map and you can’t + remember what type it is, you can get rogue to remind you by getting + next to it and typing “^” followed by the direction that would move +you on top of it.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>s</td> + <td align="justify"> + <p align="justify">Search for traps and secret doors. Examine each space immediately + adjacent to you for the existence of a trap or secret door. There is a + large chance that even if there is something there, you won’t find it, + so you might have to search a while before you find something.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>></td> + <td align="justify"> + <p>Climb down a staircase to the next level. Not surprisingly, this can only be done if you are +standing on staircase.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p><</td> + <td align="justify"> + <p>Climb up a staircase to the level above. This can’t be done without + the Amulet of Yendor +in your possession.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>.</td> + <td align="justify"> + <p>Rest. This is the “do nothing” command. This is good for waiting and + healing.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>,</td> + <td align="justify"> + <p>Pick up something. This picks up whatever you are currently standing on, if you are +standing on anything at all.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>i</td> + <td align="justify"> + <p>Inventory. List what you are carrying in +your pack.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>I</td> + <td align="justify"> + <p>Selective inventory. Tells you what a single item in your pack is.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>q</td> + <td align="justify"> + <p align="justify">Quaff one of the potions you are carrying.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>r</td> + <td align="justify"> + <p align="justify">Read one of the scrolls in your pack.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>e</td> + <td align="justify"> + <p align="justify">Eat food from your pack.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>w</td> + <td align="justify"> + <p align="justify">Wield a weapon. Take a weapon out of your pack and carry it for use + in combat, replacing the one you are currently using (if any).</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>W</td> + <td align="justify"> + <p align="justify">Wear armor. You can only wear one suit of armor at a time. This + takes extra time.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>T</td> + <td align="justify"> + <p align="justify">Take armor off. You can’t remove armor that is cursed. This takes + extra time.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>P</td> + <td align="justify"> + <p align="justify">Put on a ring. You can wear only two rings at a time (one on each + hand). If you aren’t wearing any rings, this command will ask you which + hand you want to wear it on, otherwise, it will place it on the unused + hand. The program assumes that you wield your sword in your right hand.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>R</td> + <td align="justify"> + <p align="justify">Remove a ring. If you are only wearing one ring, this command takes + it off. If you are wearing two, it will ask you which one you wish to + remove,</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>d</td> + <td align="justify"> + <p align="justify">Drop an object. Take something out of your pack and leave it lying + on the floor. Only one object can occupy each space. You cannot drop a + cursed object at all if you are wielding or wearing it.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>c</td> + <td align="justify"> + <p align="justify">Call an object something. If you have a type of object in your pack + which you wish to remember something about, you can use the call command + to give a name to that type of object. This is usually used when you + figure out what a potion, scroll, ring, or staff is after you pick it + up, or when you want to remember which of those swords in your pack you + were wielding.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>D</td> + <td align="justify"> + <p align="justify">Print out which things you’ve discovered something about. This + command will ask you what type of thing you are interested in. If you + type the character for a given type of object (<i>e.g.</i> +“!” for potion) it will tell you which kinds of +that type of object you’ve discovered (<i>i.e.</i>, figured out what they + are). This command works for +potions, scrolls, rings, and staves and +wands.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>o</td> + <td align="justify"> + <p align="justify">Examine and set options. This command is further explained in the + section on options.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>^R</td> + <td align="justify"> + <p>Redraws the screen. Useful if spurious messages or transmission + errors have messed up the display.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>^P</td> + <td align="justify"> + <p align="justify">Print last message. Useful when a message disappears before you can + read it. This only repeats the last message that was not a mistyped + command so that you don’t loose anything by accidentally typing the + wrong character instead of ^P.</td> + </tr> + <tr> + <td align="left" valign="top" colspan="2"> + <p><ESCAPE></td> + </tr> + <tr> + <td align="left" valign="top"> + </td> + <td align="justify"> + Cancel a command, prefix, or count.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>!</td> + <td align="justify"> + <p align="justify">Escape to a shell for some commands.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>Q</td> + <td align="justify"> + <p align="justify">Quit. Leave the game.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>S</td> + <td align="justify"> + <p align="justify">Save the current game in a file. It will ask you whether you wish to + use the default save file. +<i>Caveat</i>: Rogue won’t let you start up a copy of +a saved game, and it removes the save file as soon as you +start up a restored game. This is to prevent people from +saving a game just before a dangerous position and then +restart- ing it if they die. To restore a saved game, give +the file name as an argument to rogue. As +in</p> + <p align="justify">% rogue +<i>save_file</i></p> + <p align="justify">To restart from the default save file (see below), run </p> + <p align="justify">% rogue -r</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>v</td> + <td align="justify"> + <p align="justify">Prints the program version number.</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>)</td> + <td align="justify"> + <p align="justify">Print the weapon you are currently wielding</td> + </tr> + <tr> + <td height="28" align="left" valign="top"> + <p>]</td> + <td height="28" align="justify"> + <p align="justify">Print the armor you are currently wearing</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>=</td> + <td align="justify"> + <p align="justify">Print the rings you are currently wearing</td> + </tr> + <tr> + <td align="left" valign="top"> + <p>@</td> + <td align="justify"> + <p align="justify">Reprint the status line on the message line</td> + </tr> +</table> + +</div> + +<h2 align="justify"><b>5. Rooms</b></h2> +<p align="justify">Rooms in the dungeons are either lit or +dark. If you walk into a lit room, the entire room will be +drawn on the screen as soon as you enter. If you walk into a +dark room, it will only be displayed as you explore it. Upon +leaving a room, all monsters inside the room are erased from +the screen. In the darkness you can only see one space in +all directions around you. A corridor is always +dark.</p> + +<h2 align="justify"><b>6. Fighting</b></h2> +<p align="justify">If you see a monster and you wish to fight +it, just attempt to run into it. Many times a monster you +find will mind its own business unless you attack it. It is +often the case that discretion is the better part of +valor.</p> + +<h2 align="justify"><b>7. Objects you can find</b></h2> +<p align="justify">When you find something in the dungeon, it +is common to want to pick the object up. This is +accomplished in rogue by walking over the object (unless you +use the “m” prefix, see above). If you are +carrying too many things, the pro- gram will tell you and it +won’t pick up the object, other- wise it will add it +to your pack and tell you what you just picked +up.</p> + +<p align="justify">Many of the commands that operate on +objects must prompt you to find out which object you want to +use. If you change your mind and don’t want to do that +command after all, just type an +<ESCAPE> and the command will be +aborted.</p> + +<p align="justify">Some objects, like armor and weapons, are +easily dif- ferentiated. Others, like scrolls and potions, +are given labels which vary according to type. During a +game, any two of the same kind of object with the same label +are the same type. However, the labels will vary from game +to game.</p> + +<p align="justify">When you use one of these labeled objects, +if its effect is obvious, rogue will remember what it is for +you. If it’s effect isn’t extremely obvious you +will be asked what you want to scribble on it so you will +recognize it later, or you can use the “call” +command (see above).</p> + +<h3 align="justify"><b>7.1. Weapons</b></h3> +<p align="justify">Some weapons, like arrows, come in bunches, +but most come one at a time. In order to use a weapon, you +must wield it. To fire an arrow out of a bow, you must first +wield the bow, then throw the arrow. You can only wield one +weapon at a time, but you can’t change weapons if the +one you are currently wielding is cursed. The commands to +use weapons are “w” (wield) and “t” +(throw).</p> + +<h3 align="justify"><b>7.2. Armor</b></h3> + +<p align="justify">There are various sorts of armor lying around in the dungeon. Some of it is +enchanted, some is cursed, and some is just normal. Different armor types have +different armor protection. The higher the armor protection, the more protection the armor affords against the blows of +monsters. Here is a list of the various armor types and +their normal armor protection:</p> +<div align="center"> + <table border="1" cellspacing="3" cellpadding="3" id="table4" style="border-collapse: collapse"> + <tr> + <th><i>Type</i></th> + <th><i>Protection</i></th> + </tr> + <tr> + <td>None</td> + <td align="center">0</td> + </tr> + <tr> + <td>Leather armor</td> + <td align="center">2</td> + </tr> + <tr> + <td>Studded leather / Ring mail</td> + <td align="center">3</td> + </tr> + <tr> + <td>Scale mail </td> + <td align="center">4</td> + </tr> + <tr> + <td>Chain mail </td> + <td align="center">5</td> + </tr> + <tr> + <td>Banded mail / Splint mail</td> + <td align="center">6</td> + </tr> + <tr> + <td>Plate mail </td> + <td align="center">7</td> + </tr> + </table> + <p> </div> +<p align="justify"> +If a piece of armor is enchanted, its +armor protection will be higher than normal. If a suit of +armor is cursed, its armor protection will be lower, and you +will not be able to remove it. However, not all armor with a +protection that is lower than normal is +cursed. + +</p> + +<p align="justify">The commands to use weapons are +“W” (wear) and “T” (take +off).</p> + +<h3 align="justify"> + +<b>7.3. Scrolls</b></h3> +<p align="justify">Scrolls come with titles in an unknown tongue<sup>3</sup>. After you read a scroll, it +disappears from your pack. The com mand to use a +scroll is “r” (read).</p> + +<h3 align="justify"> + +<b>7.4. Potions</b> + +</h3> + +<p align="justify">Potions are labeled by the color of the +liquid inside the flask. They disappear after being quaffed. +The command to use a scroll is “q” +(quaff).</p> + +<h3 align="justify"><b>7.5. Staves and Wands</b></h3> +<p align="justify">Staves and wands do the same kinds of +things. Staves are identified by a type of wood; wands by a +type of metal or bone. They are generally things you want to +do to some- thing over a long distance, so you must point +them at what you wish to affect to use them. Some staves are +not affected by the direction they are pointed, though. +Staves come with multiple magic charges, the number being +random, and when they are used up, the staff is just a piece +of wood or metal.</p> + +<p align="justify">The command to use a wand or staff is +“z” (zap)</p> + +<h3 align="justify"><b>7.6. Rings</b></h3> + +<p align="justify">Rings are very useful items, since they are +relatively permanent magic, unlike the usually fleeting +effects of potions, scrolls, and staves. Of course, the bad +rings are also more powerful. Most rings also cause you to +use up food more rapidly, the rate varying with the type of +ring. Rings are differentiated by their stone settings. The +com- mands to use rings are “P” (put on) and +“R” (remove).</p> + +<h3 align="justify"><b>7.7. Food</b></h3> + +<p align="justify">Food is necessary to keep you going. If you +go too long without eating you will faint, and eventually +die of starvation. The command to use food is +“e” (eat).</p> + +<h2 align="justify"><b>8. Options</b></h2> +<p align="justify">Due to variations in personal tastes and +conceptions of the way rogue should do things, there are a +set of options you can set that cause rogue to behave in +various different ways.</p> + +<h3 align="justify"><b>8.1 Setting the options</b></h3> + +<p align="justify">There are two ways to set the options. The +first is with the “o” command of rogue; the +second is with the “ROGUEOPTS” environment +variable.</p> + +<h3 align="justify"><b>8.1.1. Using the ‘o’ command</b></h3> + +<p align="justify">When you type “o” in rogue, it +clears the screen and displays the current settings for all +the options. It then places the cursor by the value of the +first option and waits for you to type. You can type a +<RETURN> which means to go to the next +option, a “−” which means to go to the +previous option, an <ESCAPE> which +means to return to the game, or you can give the option a +value. For boolean options this merely involves typing +“t” for true or “f” for false. For +string options, type the new value followed by a +<RETURN> .</p> + +<h3 align="justify"><b>8.1.2. Using the ROGUEOPTS variable</b></h3> + +<p align="justify">The ROGUEOPTS variable is a string +containing a comma separated list of initial values for the +various options. Boolean variables can be turned on by +listing their name or turned off by putting a +“no” in front of the name. Thus to set up an +environment variable so that <b>jump</b> is on, <b>terse</b> +is off, and the <b>name</b> is set to “Blue +Meanie”, use the command</p> + +<p align="justify">% setenv ROGUEOPTS +"jump,noterse,name=Blue Meanie"<sup>4</sup></p> + +<h3 align="justify"><b>8.2. Option list</b></h3> + +<p align="justify">Here is a list of the options and an +explanation of what each one is for. The default value for +each is enclosed in square brackets. For character string +options, input over fifty characters will be +ignored.</p> + +<p align="justify"><b>terse</b> +[<i>noterse</i>]</p> +<blockquote> + <p align="justify"> + Useful for those who are tired of the +sometimes lengthy messages of rogue. This is a useful option +for playing on slow terminals, so this option defaults to +<i>terse</i> if you are on a slow (1200 baud or under) +terminal.</p> +</blockquote> + +<p align="justify"><b>jump</b> +[<i>nojump</i>]</p> +<blockquote> + <p align="justify">If this option is set, running moves will +not be displayed until you reach the end of the move. This +saves considerable cpu and display time. This option +defaults to <i>jump</i> if you are using a slow +terminal.</p> +</blockquote> +<p align="justify"><b>flush</b> +[<i>noflush</i>]</p> +<blockquote> + <p align="justify">All typeahead is thrown away after each round of battle. This is useful for those who type far +ahead and then watch in dismay as a Bat kills +them.</p> +</blockquote> +<p align="justify"><b>seefloor</b> +[<i>seefloor</i>]</p> +<blockquote> + <p align="justify">Display the floor around you on the screen +as you move through dark rooms. Due to the amount of +characters generated, this option defaults to +<i>noseefloor</i> if you are using a slow +terminal.</p> +</blockquote> +<p align="justify"><b>passgo</b> +[<i>nopassgo</i>]</p> +<blockquote> + <p align="justify">Follow turnings in passageways. If you run +in a pas- sage and you run into stone or a wall, rogue will +see if it can turn to the right or left. If it can only turn +one way, it will turn that way. If it can turn either or +neither, it will stop. This algorithm can sometimes lead to +slightly confusing occurrences which is why it defaults to +<i>nopassgo</i>.</p> +</blockquote> +<p align="justify"><b>tombstone</b> +[<i>tombstone</i>]</p> +<blockquote> + <p align="justify">Print out the tombstone at the end if you +get killed. This is nice but slow, so you can turn it off if +you like.</p> +</blockquote> +<p align="justify"><b>inven</b> +[<i>overwrite</i>]</p> +<blockquote> + <p align="justify">Inventory type. This can have one of three +values: <i>overwrite</i>, <i>slow</i>, or <i>clear</i>. With +<i>overwrite</i> the top lines of the map are overwritten +with the list when inventory is requested or when +“Which item do you wish to <b>. . .</b>? ” +questions are answered with a “*”. How- ever, if +the list is longer than a screenful, the screen is cleared. +With <i>slow</i>, lists are displayed one item at a time on +the top of the screen, and with <i>clear</i>, the screen is +cleared, the list is displayed, and then the dungeon level +is re-displayed. Due to speed considerations, <i>clear</i> +is the default for terminals without clear-to-end-of-line +capabilities.</p> +</blockquote> +<p align="justify"><b>name</b> [account +name]</p> +<blockquote> + <p align="justify">This is the name of your character. It is +used if you get on the top ten scorer’s +list.</p> +</blockquote> +<p align="justify"><b>fruit</b> +[<i>slime-mold</i>]</p> +<blockquote> + <p align="justify">This should hold the name of a fruit that +you enjoy eating. It is basically a whimsy that rogue uses +in a couple of places.</p> +</blockquote> +<p align="justify"><b>file</b> +[<i>~/rogue.save</i>]</p> +<blockquote> + <p align="justify">The default file name for saving the game. +If your phone is hung up by accident, rogue will +automatically save the game in this file. The file name may +start with the special character “~” which +expands to be your home directory.</p> +</blockquote> +<h2 align="justify"><b>9. Scoring</b></h2> + +<p align="justify">Rogue usually maintains a list of the top +scoring people or scores on your machine. Depending on how +it is set up, it can post either the top scores or the top +players. In the latter case, each account on the machine can +post only one non-winning score on this list. If you score +higher than someone else on this list, or better your previous score on the list, you will be inserted in the proper +place under your current name. How many scores are kept can +also be set up by whoever installs it on your +machine.</p> + +<p align="justify">If you quit the game, you get out with all +of your gold intact. If, however, you get killed in the +Dungeons of Doom, your body is forwarded to your +next-of-kin, along with 90% of your gold; ten percent of +your gold is kept by the Dungeons’ wizard as a fee<sup>5</sup>. This should make you +consider whether you want to take one last hit at that +monster and possibly live, or quit and thus stop with +whatever you have. If you quit, you do get all your gold, +but if you swing and live, you might find +more.</p> + +<p align="justify">If you just want to see what the current top players/games list is, you can +type</p> +<p align="justify">% @PROGRAM@ −s</p> + +<h2 align="justify"><b>10. Acknowledgements</b></h2> + +<p align="justify">Rogue was originally conceived of by Glenn +Wichman and Michael Toy. Ken Arnold and Michael Toy then +smoothed out the user interface, and added jillions of new +features. We would like to thank Bob Arnold, Michelle Busch, +Andy Hatcher, Kipp Hickman, Mark Horton, Daniel Jensen, Bill +Joy, Joe Kalash, Steve Maurer, Marty McNary, Jan Miller, and +Scott Nelson for their ideas and assistance; and also the +teeming multitudes who graciously ignored work, school, and +social life to play rogue and send us bugs, complaints, suggestions, and just plain flames. And also +Mom.</p> +<table border="0" width="100%" cellspacing="3" cellpadding="0" id="table5"> + <tr> + <td align="right" valign="top"><sup>†</sup></td> + <td>UNIX is a registered trademark of The Open Group</td> + </tr> + <tr> + <td align="right" valign="top"><sup>1</sup></td> + <td>As opposed to pseudo English sentences.</td> + </tr> + <tr> + <td align="right" valign="top"><sup>2</sup></td> + <td>A minimum screen size of 24 lines by 80 columns is required. If the + screen is larger, only the 24x80 section +will be used for the map.</td> + </tr> + <tr> + <td align="right" valign="top"><sup>3</sup></td> + <td>Actually, it's a dialect spoken only by the twenty-seven members of + a tribe in Outer Mongolia, but you're not supposed to know that.</td> + </tr> + <tr> + <td align="right" valign="top"><sup>4</sup></td> + <td>For those of you who use the Bourne shell sh (1), the commands would be<p>$ ROGUEOPTS="jump,noterse,name=Blue Meanie"<br> +$ export ROGUEOPTS<br> + </td> + </tr> + <tr> + <td align="right" valign="top"><sup>5</sup></td> + <td>The Dungeon's wizard is named Wally the Wonder Badger. Invocations + should be accompanied by a sizable donation.</td> + </tr> +</table> +</body> +</html>