diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rogue3/rogue.r.in	Sat Aug 24 13:36:13 2013 -0700
@@ -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 [rogue3.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.