1 XBLOCKBUSTER \- 
Break out type game under X

SYNOPSIS

 $ xblockbuster -playground play_ground -display display
                -geometry geometry -nopause

2 DESCRIPTION
XBlockbuster is a variation of the break-out type games, only a bit more
complex in the type of bricks it has and effects the bricks have.  It is
X11 based.
The object of the game is to collect as many points as possible by
busting through blocks of various types with a ball that reflects from 
the blocks and from a pallet controlled by mouse movement.

The ball must be seen as a high-energy particle that penetrates the block
before being repelled.
If it gets repelled into another block it will find its own way out again.
This process, which often leads to surprises, is known as tunnelling.

(By design, tunnelling only occurs along a horizontal connection between blocks
or along the vertical sides, so never vertically between blocks.)

As the game progresses, balls are launched faster and faster.
When the speed has reached it maximum, the pallet is gradually,
though cumulatively, shrunk.
Be aware that the maximum launch speed (see below),
and hence the point from which the pallet is shrunk,
is only 2/3 of the speed limit, and the effect is much larger than that of
hitting a speeder (but of course you may hit them often).

The pallet is convex.
Hence reflection is a function of both the incoming angle and the excentricity
of the point of impact.
If the pallet is sufficiently convex (differs from stage to stage), the ball
may even rebound.

The mouse buttons control the pallet:
LEFT moves it up one row, MIDDLE moves it all the way down again.
Each ball is launched with the RIGHT mouse button.

A stage can be halted by closing the window.
Be advised however, that the game will resume immediately upon opening the
window.
If no-pause has not
been selected (see below), moving the pointer out 
of the XBlockBuster window will also stop the action.

During a game, the score, number of balls left and speeds are shown.
The speeds are represented by up to 3 thin lines (one for each ball),
above a thick line representing the speed limit.
The short vertical bar indicates the launch speed
(black upon reaching the maximum launch speed, white below that).
If, during a stage, you have busted a 'double' or 'triple' brick, your
bonus multiplier will also be displayed at the top.

A game can be saved in between stages with the Escape key.
At this point, as well as at the end of the game, your score is logged.
The score board shows scores, number of balls left between parentheses if any
and user name.
Finally, an indication of your current pallet shrinkage is given.

At any time, 'q' or 'Q' may be pressed to quit the present game.  This quits
the game immediately, so may be useful if your boss is closing in.  Also
useful if you mess up on the first stage, and thus, continuing play of that
game is no longer worth it.

 'P' or 'p' may be pressed during the game to toggle the no-pause option.
When no-pause is active, the game will continue even when the mouse pointer
is outside the window.  With it turned off, action stops once the mouse
pointer is outside the window.

2 COMMAND_LINE_OPTIONS

    -playground playground
This determines the playground to use.  Either the directory containing
the score file, stages, and save directory can be given, or only the
final part after the STAGES name can be given for public play grounds.

By default, the standard playground will be used if this option is
not given.

To see a list of the public play grounds, enter list\fB as the 
playground name.

    -display display
This is the display to run XBlockBuster on.  If not otherwise specified,
the DISPLAY environmental variable will be used to determine the 
display to use.

    -geometry geometry
This is the geometry to use for the XBlockBuster window.  Only the
positioning, and not size, information is used.  If size information
is given, it is just ignored.

    -nopause
Determines if no-pause mode is on by default when the game is started up.
When no-pause mode is on, action continues if the mouse pointer is outside
the XBlockBuster window.

2 NOTES

In order to avoid infinite loops
(i.e., the ball(s) never reflecting from the pallet),
a ball will, upon hitting too many solid bricks,
undergo a horizontal shift,
proportional to, but opposite to the current horizontal speed.

The score board imposes a maximum on the number of entries for any given user
name. If your current score didn't make it onto the score board,
it will be displayed at the bottom.

If a score entry is detected which obviously must have originated from a saved
game which for some reason "died", a `+' is appended and the entry will hence
forward be treated as any completed game.

A common problem players encounter is that of losing track of their mouse.
Be advised that mouse movement only alters the horizontal pallet position,
but the mouse of course may move vertically as well.
If your mouse is not neatly perpendicular to the reflection plate, you may
find yourself outside the window, halting play.
For this reason the horizontal crosshair is shown at the window border,
helping you to keep track of the mouse.

By design, the pointer is invisible while in the XBlockBuster window.
I found that a visible pointer in the window was very distracting
during play.

2 X_Defaults

The resource name XBlockbuster
can be used to control the color the bricks to be displayed.  Each brick
has both a foreground and background color that can be displayed.  The
format is brickcode_fg or brickcode_bg.

code represents the brick code, as detailed above.  Therefore a line such
as:

XBlockbuster.brick0_fg:		green

Makes the foreground color of the solid brick green.

In addition, the resource alternate_bricks
exists.  If selected,  alternate brick patterns will be used on color displays.
The alternate bricks tend to take coloring better than the standard bricks.
If you want to use alternate bricks, add the line:

XBlockbuster.alternate_bricks:  True

to your .Xdefaults file.

The coloring information and alternate brick request is ignored on
black and white systems.


2 BUGS
When two balls hit the same brick simultaneously,
one may leave a shadow on the stage.

If the ball hits the bottom corners of the playing area, they will at times
reflect back in a reverse direction, instead of reflecting downward and
out of bounds.

XBlockbuster uses a public colormap for systems which use color.  If it is
unable to get all the colors it wants, it will use black and white for
the bricks it was unable to color.  If using alternate bricks, it can be
difficult to differentiate bricks without the coloring.

Only a few of the standard command line X arguements are interperted.
Likewise,
only a few of the standard X defaults (in the .Xdefaults file) are used.
