Import Rogue 3.6 from the Roguelike Restoration Project (r1490)
This commit is contained in:
commit
4662bbf65b
44 changed files with 15930 additions and 0 deletions
411
rogue3/rogue.r
Normal file
411
rogue3/rogue.r
Normal file
|
|
@ -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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue