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.