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