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 stage is started 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.
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).
A game can be saved in between stages with the R1 button. 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.
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 in the middle of some hectic action, causing loss of control (and usually loss of one or several balls). For this reason the horizontal crosshair is shown at the window border, helping you to keep track of the mouse.
Individual stages can be tried in the public play ground "try" (q.v. 'try'), provided you have write access.
CODENAMEREPRESENTATION ' ' clear spacewhite #solid wallblack /,\launchpadblack with arrow (like solid wall) The balls enters the stage diagonally at the tip of the arrow.
0solid brick75% gray
Scores 1 on each hit.
1-9hit brickswhite with border (and slanted bars)
Requires as many hits as their are bars (plus 1),
each scoring equal to how often you have hit it.
The stage is over when no such bricks remain.
a-e,jbonus bricks50% gray with value inscribed
Requires value/10+1 hits before scoring.
Aabsorber25% gray (no border)
^emitterblack (like solid wall)
The ball is absorbed and emitted (whilst being reflected).
Cclipperpair of scissors between "> <"
(On 2nd hit) Clips 10% off the pallet.
By design, the remnants litter the screen!
[Until the end of the current stage only.]
Ddouble"double"
(On 2nd hit) Doubles all subsequent hit values.
[Until the end of the current stage only.]
Eextra ball"+O+"
(On 2nd hit) Adds an extra ball to the stock.
Ggapthe danger sign (! in a triangle)
(On 2nd hit) The ball is lost.
[As if it would have left the stage.]
Hhaltmaze of small squares
Successively takes 10, 20 and 30% of the speed.
Iinvisible brickwhite (like open space)
Turns into a single hit brick when first hit, scoring 1.
Llaunch ball"=O="
(On 2nd hit) Launches an extra ball.
[Behaves like an 'extra ball' from 3 balls in game.]
Mmine"kaboom" in dashed border
(On 3rd hit) Blows up all adjacent bricks (no score);
leaving debris 'refractor's.
Ppausemaze of small squares with launchpad images.
(On 8th hit) Takes 30% of the excessive launch speed.
Rrefractordashed border with crosses
Interchanges motion along the axes.
Sspeederconcentric borders
Adds speed (up to the speed limit; then pallet shrinkage).
Ttriple"triple"
(On 3rd hit) Triples all subsequent hit values.
[Until the end of the current stage only.]
Uundo"undo"
Restores the last block busted (with 0 hit count).
Wopen windowbracketed set of vertical lines
%closed windowblack (like solid wall)
Alternates between the two states upon each hit.
Xexpandera pallet image between "< >"
(On 4th hit) Expands the pallet.
[Equivalent to twice the full launch speed shrinkage.]
[Effective in the next stage only.]
When two balls hit the same brick simultaneously, one may leave a shadow on the stage.
The game (re)starts immediately after opening the window. If it had not yet been started officially (using the right mouse button), the message on top will be garbled. Pressing the right mouse button will tidy up at any time.
Through lack of proper real time primitives, it is difficult to tune the speed range over various architectures.