GOLDDIG(P)

NAME
golddig - Getting the Gold and Avoiding Death

golddig
[ -l level ] [ -s speed ] [ world ]
makelev -l level [ -w width ] [ -h height ] [ world ]

DESCRIPTION

golddig is a fast action game designed for use with the X window system. makelev is used to create and edit new levels which can be used by golddig.

The goal in golddig is to pick up all the gold pieces and then go to the next level without getting eaten by one of the bad guys. The gold pieces are distinctive small circular coins. After picking up all of the gold, the player must get to an open door or the top row of the level. After accomplishing this, the game will start the next level.

The -l option sets the level number for editing or for starting the game. This may be any integer greater than 0. By default, the game starts at level 1. The -s options sets the game speed. A value of 1 is very slow and a value of 10 is fast. The default value is 5. The -w and -h options set the width and height of the level when creating a new level. The world option is used to select a world name. A world is a distinct set of numbered levels. Any valid file name may be used as the world name. Different worlds may be used to allow users to control private sets of levels.

When playing golddig the following keyboard commands may be used:

<space>,R11 - stop
a,j,left arrow - move left
d,l,right arrow - move right
w,i,up arrow - move up
s,k,down arrow - move down
z,<,q,u,R13 - make hole left
x,>,e,o,R15 - make hole right
r,y,R7 - put down any held item
1-9 - change the game speed during the game

In addition, some control keys can be used:

^S,^Z - freeze the game
^Q,^Y - reactivate the game
^C,^U,^\ - kill the game
^R - redraw the level

The mouse must be placed in the game window to use the keyboard commands. When a level starts, everything is frozen, and any key will start the game.

makelev is used as a graphics editor. Each level is divided into a grid of blocks. The blocks are "painted" by pressing the left mouse button down and moving the mouse. The right mouse button always erases blocks. A new block type is selected by a keyboard key. Currently, the following block types are supported:

<space> - draw spaces
! - draw escapes
# - draw walls
$ - draw golds
- - draw ropes
< - draw left arrows
= - draw tubes
> - draw right arrows
@ - draw stones
^ - draw anti-spaces
a - draw armors
b - draw bad guys
c - draw chutes
d - draw down arrows
e - draw reverse monsters
f - draw up arrows
g - draw ghost bricks
i - draw invisible blocks
j - draw jump pads
k - draw kill zones
l - draw power shovels
m - draw super jump pads
n - draw nuclear shovels
o - draw anchors
p - draw players
q - draw speed boots
r - draw parachutes
s - draw step ladders
t - draw teleporters
u - draw leave levels
v - draw vertical ropes
w - draw windows
x - draw extra bricks
y - draw heavy fogs
z - draw time stops
| - draw ladders
~ - draw portable ropes

A player block sets where the player begins in the level. If more than one is used in a level, all but one will be ignored. Bad guy blocks set where the bad guys begin the level. There is a limit to the total number of bad guys, and that number is compiled into the game. Pressing control W inside the editor window will stop editing and save the level. Pressing control C quits without saving. Pressing control E will erase the contents of the editor. The properties of the rest of the block can be determined with experimentation.

A really good level has several properties. The first important property is efficiency. A good level makes careful use of all of the available space unless it is trying to achieve a specific effect. Another critical property is fairness. A player should always be forewarned or have an escape if trouble comes up. Nothing is more irritating than a killer trap where the user had no way of guessing that it was coming up. It is also important to avoid tedious and repetative levels. Really difficult traps should be rewarded with lots of gold.

AUTHORS
Alex Siegel at Cornell University during September of 1989.

/usr/games/golddig - golddig executable
/usr/games/makelev - level editor executable
/usr/games/lib/golddig - directory for storing files which are private to golddig
/usr/games/lib/golddig/scores - file for storing high score list
/usr/games/lib/golddig/default - default level for use when no generated level is available
/usr/games/lib/golddig/goldlev### - default levels used when no world name is specified

BUGS
This game is the first totally bug free program ever written.