Mercurial > hg > early-roguelike
diff rogue3/rogue.r @ 0:527e2150eaf0
Import Rogue 3.6 from the Roguelike Restoration Project (r1490)
author | edwarj4 |
---|---|
date | Tue, 13 Oct 2009 13:33:34 +0000 |
parents | |
children | b343f42c1f01 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rogue3/rogue.r Tue Oct 13 13:33:34 2009 +0000 @@ -0,0 +1,411 @@ +.RP +.ds RH A Guide to the Dungeons of Doom +.ds CH +.ds CF - % - +.TL +A Guide to the Dungeons of Doom +.AU +Michael C. Toy +.AI +Computer Systems Research Group +Department of Electrical Engineering and Computer Science +University of California +Berkeley, California 94720 +.AB +Rogue 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. +.AE +.NH +Introduction +.PP +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. +.PP +In preparation for your journey, you are given an enchanted sword, 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. +.PP +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 sword, put on your armor, eat what is almost your last food and enter +the dungeons. +.NH +What is going on here? +.PP +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. +.PP +Rogue differs from most computer fantasy games in that it is screen +oriented. Commands are all one or two keystrokes\(dg +.FS +\(dgAs opposed to pseudo English sentences. +.FE +and the results of your commands are displayed +graphically on the screen rather than being explained in words. +.PP +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. +.NH +What do all those things on the screen mean? +.PP +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. Here is a sample of what a rogue screen might +look like. +.in +1i +.nf +.cs R 15 + --------------------- + |...................+ + |...@...........[...| + |........B..........| + |...................| + --------+------------ + + +.cs R +Level: 1 Gold: 0 Hp: 12(12) Str: 16 Ac: 6 Exp: 1/0 +.fi +.in 0 +.NH 2 +The bottom line +.PP +At the bottom line of the screen is a few pieces of cryptic information, +describing your current status. Here is an explanation of what these +things mean: +.IP Level 8 +This number indicates how deep you have gone in the dungeon. It starts +at one and goes up forever\(dg. +.FS +\(dgOr until you get killed or decide to quit. +.FE +.IP Gold +The number of gold pieces you have managed to find and keep with +you so far. +.IP Hp +Your current and maximum hit points. Hit 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 hit points by resting. The number in parentheses is +the maximum number your hit points can reach. +.IP Str +Your current strength. This can be any integer less than or +equal to eighteen. The higher the number, the stronger you are. +.IP Ac +Your current armor class. This number indicates how effective +your armor is in stopping blows from unfriendly creatures. The lower +this number is, the more effective the armor. +.IP Exp +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. +.NH 2 +The top line +.PP +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 press a +space. +.NH 2 +The rest of the screen +.PP +The rest of the screen is the map of the level as you have explored it so far. +Each symbol on the screen represents something. Here is a list of what +the various symbols mean: +.IP @ +This symbol represents you, the adventurer. +.IP "-|" 6 +These symbols represent the walls of rooms. +.IP + +A door to/from a room. +.IP . +The floor of a room. +.IP # +The floor of a passage between rooms. +.IP * +A pile or pot of gold. +.IP ) +A weapon of some sort. +.IP ] +A piece of armor. +.IP ! +A flask containing a magic potion. +.IP ? +A piece of paper, usually a magic scroll. +.IP ^ +A trap, watch out for these. +.IP % +The passage leading down to the next level. +.IP : +A piece of food. +.IP A-Z +The uppercase letters represent the various inhabitants of the +Dungeons of Doom. Watch out, they can be mean. +.NH +Commands +.PP +Commands are given to rogue by pressing single letters. Most commands can +be preceded by a count to repeat them (e.g. typing "10s" will do ten searches) +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. +.IP ? 6 +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. +.IP / +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. +.IP "h , H" +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") +.IP j +Move down. +.IP k +Move up. +.IP l +Move right. +.IP y +Move diagonally up and left. +.IP u +Move diagonally up and right. +.IP b +Move diagonally down and left. +.IP n +Move diagonally down and right. +.IP f +Find prefix. When followed by a direction it means to continue moving +in the specified direction until you pass something interesting or +run into a wall. +.IP t +Throw an object. This is a prefix command. Follow it with a direction and +you throw an object in the specified direction. (e.g. type "th" to throw +something left.) +.IP > +If you are standing over the passage down to the next level, this command +means to climb down. +.IP s +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. +.IP " " +(space) Rest. This is the "do nothing" command. +This is good for waiting and healing. +.IP i +Inventory. List what you are carrying in your pack. +.IP I +Selective inventory. Tells you what a single item in your pack is. +.IP q +Quaff. Drink one of the potions you are carrying. +.IP r +Read. Read one of the scrolls in your pack. +.IP e +Eat food. Take some food out of your pack and eat it. +.IP w +Wield a weapon. Take a weapon out of your pack and carry it. You must be +wielding weapon to use it (except to throw things). To fire an arrow, +you must wield the bow. You can only wield one weapon at a time. +.IP W +Wear armor. Take a piece of armor out of your pack and put it on. You can +only wear one suit of armor at a time. +.IP T +Take armor off. You can't remove armor that is cursed. +This takes extra time. +.IP d +Drop an object. Take something out of your pack and leave it lying +on the floor. Only one object can occupy each space. +.IP o +Examine and set options. This command is further explained in the section +on options. +.IP ^L +REdraws the screen. Useful if spurious messages or transmission errors +have messed up the display. +.IP v +Prints the program version number. +.IP Q +Quit. Leave the game. +.IP R +Repeat last message. Useful when a message disappears before you can +read it. +.IP S +Save the current game in a file. Caveat: 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 restarting it +if they die. To restore a saved game, give the file name as an argument +to rogue. As in +.ti +1i +.nf +% rogue save_file +.NH +Dealing with objects +.PP +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. If +you are carrying too many things, the program will tell you and it won't pick +up the object, otherwise it will add it to your pack and if the notify +option is set, tell you what you just picked up. +.PP +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 press an escape and the command will be +aborted. +.NH +Light +.PP +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 dark room, all objects inside the room which might move are +removed from the screen. In the darkness you can only see one space +in all directions around you. +.NH +Fighting +.PP +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. +.NH +Armor +.PP +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 classes. The lower the armor class, the +more protection the armor affords against the blows of monsters. +If a piece of armor is enchanted or +cursed, its armor class will be higher or lower than normal. Here is +a list of the various armor types and their normal armor class. +.TS +center box; +c c +l | c. +Type Class += +Leather armor 8 +Studded leather / Ring mail 7 +Scale mail 6 +Chain mail 5 +Banded mail / Splint mail 4 +Plate mail 3 +.TE +.NH +Options +.PP +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. +.NH 2 +Setting the options +.PP +There are basically two ways to set the options. The first is with the +"o" command of rogue, the second is with the ROGUEOPTS environment +variable. On Version 6 systems, there is no equivalent of +the ROGUEOPTS feature. +.NH 3 +Using the "o" command +.PP +When you press "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 pressing "t" for true or +"f" for false. For string options, type the new value followed by a +return. +.NH 3 +Using the ROGUEOPTS variable +.PP +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 and turned off by putting a "no" in front of the +name. Thus to set up an environment variable so that jump is on, terse is +off, the name is set to "Conan the Barbarian" and the fruit is "mango", +use the command +.nf +.nf +.ti +3 +% setenv ROGUEOPTS "jump,noterse,name=Conan the Barbarian,fruit=mango" \(dg +.fi +.ti +3 +% setenv ROGUEOPTS "jump,noterse,name=Conan the Barbarian,fruit=mango" \(dg +.fi +.FS +\(dgFor those of you who use the bourne shell, the commands would be +.in +3 +.nf +$ ROGUEOPTS="jump,noterse,name=Conan the Barbarian,fruit=mango" +$ export ROGUEOPTS +.fi +.in +0 +.FE +.NH 2 +Option list +.PP +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. +.IP "terse [noterse]" 25 +Useful for those who are tired of the sometimes lengthy messages of rogue. +This is a useful option for those on slow terminals. This option defaults to +on if your are on a slow (under 1200 baud) terminal. +.IP "jump [nojump]" +If this option is set, running moves will not be displayed until you +reach the end of the move. This saves considerable cpu time and +display time. This option defaults to on if you are using a slow terminal. +.IP "step [nostep] +When step is set, lists of things, like inventories or "*" responses to +"Which item do you wish to xxxx? " questions, are displayed one item +at a time on the top of the screen, rather than clearing the screen, +displaying the list, then re-displaying the dungeon level. +.IP "flush [noflush]" +If flush is set, all typeahead is thrown away after each round of battle. +This is useful for those who type way ahead and watch to their dismay as +a Kobold kills them. +.IP "askme [noaskme]" +Upon reading a scroll or quaffing a potion which does not automatically +identify it upon use, rogue will ask you what to name it so you can +recognize it in the future. +.IP "name [account name]" +This is the name of your character. It is used if you get on the top ten +scorer's list. It should be less than eighty characters long. +.IP "fruit [slime-mold]" +This should hold the name of a fruit that you enjoy eating. It is basically +a whimsy that the program uses in a couple of places. +.IP "file [rogue.save]" +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 contain the special character "~" which expands to be +your home directory. +.NH +Acknowledgements +.PP +Rogue was originally conceived of by Glenn Wichman and Michael Toy. The +help of Ken Arnold in making the program easier to use and putting the +finishing touches on is greatly appreciated. I would also like to thank +Marty McNary, Scott Nelson, Daniel Jensen, Kipp Hickman, Joe Kalash, +Steve Maurer, Bill Joy, Mark Horton and Jan Miller for their ideas +and assistance.