XBL(6)

NAME
xbl - X Window block dropping game in 3 Dimension

SYNOPSIS
xbl [-display display:0.0] [-geometry geometrystring] [-scoregeometry geometrystring] [-zoogeometry geometrystring] [-menugeometry geometrystring] [-help] [-verbose] [-colormap] [-visual] [-bw] [-buffer 0...5] [-font font] [-bigfont font] [-buttonheight -1...16] [-color 0...6] [-speedtest] [-clearline 0...1] [-linewidth 0...16] [-time_to_demo 1...999] [-sync] [-stat] [-keytable String] [-keyboard 0...4] [-zoo] [-score] [-draw 0 or 2] [-x 3...8] [-y 3...8] [-z 6...18] [-smooth] [-training] [-shownext] [-level 0...10] [-bloctype 0...2] [-land 0...2] [-volume 0...10] [-eyedistance -1...1]

DESCRIPTION
Xbl is a game involving dropping blocks like Xtetris but in 3 dimensions. As they drop you can move them with numeric key pad (if you have), cursor key or rotate other 3 axis in 2 directions (6 other keys). Space key for dropping quickly and 'p' key for pause. All the possible keys are displayed in menu window.

Points are scored for each block that comes to rest on the gradually building up pile of blocks. When the pile reaches the top of the screen and no further blocks can be dropped the game ends. When a stage of blocks across the 3D matrix is completely filled, that stage is removed and all the blocks above are dropped down. As more stages are deleted the blocks fall faster.

There is one high score table by size of matrix and pieces types. For your information, another 3D tetris exists, its name is spatial. A sphere packing game also exists; its name is spheral. For these two games, contact Andrew Plotkin ( ap1i@andrew.cmu.edu ) or you can retrieve the file threedee.tar.Z somewhere in the world... An enhanced HTML version of this manual is in our computer (in the same directory than scores). If you can't find it, use the networked version: http://www710.univ-lyon1.fr/ftp/xbl/xbl-man.html

OPTIONS
The next options can only be set when the game starts.

-display hostname:0.0
    Gives the display name.

-geometry geometry_string

-scoregeometry geometry_string

-zoogeometry geometry_string

-menugeometry geometry_string
    Gives the geometry of the play, score, zoo and menu window.

-help
    Displays the options, possible values and current values.

-verbose
    Displays various things for debugging.

-colormap
    Creates its own colormap even if unnecessary.

-visual
    On screen with multiple visual, it search the best one to use. In this case it does not use the default visual.

-bw Displays in black and white even on color display.

-buffer 0...5
    Chooses the buffering method for animation. Each method uses resources. Speed of buffering method is hardware dependent. Perfect methods are 2,1 and 3, choose the fast one.

-font font_name
    Chooses font for menus, score window...

-bigfont font_name
    Chooses a big font for menu (the score and high score)

-buttonheight -1...16
    The height of 3D buttons. If your display is slow use small button. The -1 choice is half the height of the font.

-color 0...6
    Background color for menu window.
    0:Black
    1:Red
    2:Green
    3:Yellow
    4:Blue
    5:Magenta
    6:Cyan

-sync
    Uses X Synchronise. Only for debugging.

-clearline 0...1
    If 0, clears line with rectangle filling; otherwise with a black line. It's useful with some X servers that don't draw the same segment with the same pixels. Another method to avoid this problem is to use a linewidth equal to 1, though in this case drawing is slower.

-linewidth 0...16
    Thickness of the moving block lines.

-fps 1...100
    Number of frames by second. If it is set too high, the display might be jumpy. If set to 0, the game runs at maximum speed.

-time_to_demo 1...999
    Number of seconds before the automatic demonstration.

-speedtest
    This option helps you to find the fastest buffering mode.

-stat
    Statistics on launched blocks, they are displayed at the end of the game.

-keytable keys_list
    A 19 characters list in the order (D=Down L=Left R=Right U=Up) :
    Translations:DL,L,UL,U,UR,R,DR,D
    Rotations: RX+,RX-,RY+,RY-,RZ+,RZ-
    Others: LaunchBloc CancelGame SuspendGame QuitGame Drop1Level
    Don't forgot ' if there are special characters.

Next options can be changed while game is running.

-keyboard 0...5
    This switch chooses keyboard type :
    0:Use key table, given by -keytable
    1:AZERTY|
    2:QWERTY|
    3:AZERTY-
    4:QWERTY-
    5:SPATIAL
    SPATIAL is the set of keys of the other 3D tetris : spatial

-zoo
    Displays the zoo (all possible pieces) when game starts.

-score
    Displays the score table when game starts.

-draw 0 or 2
    Draw mode. 0 for wire frame piece and 2 for transparent pieces. On slow host, 0 is necessary.

-x  3...8  -y  3...8  -z  6...18"
    World size : width, height, depth.

-smooth
    Starts game with smooth drawing.

-training
    In this mode, pieces don't fall. By the way scores are not saved.

-shownext
    Next piece is shown. By the way score are multiplied by 0.7

-level 0...10
    Level 0 is slow, 10 is unplayable. This option chooses the starting game level. Level game increases during game.

-bloctype 0...2
    0 : Only flat pieces.
    1 : Some 3D pieces.
    2 : All possible pieces with less or equal than 5 cubes.

-land 0...2
    0 : Small land (3x3x15)
    1 : Big land (5x5x10)
    2 : User land (as defined by options)

-eyedistance -1...1
    If not 0 the game is with real 3D. But you need to cross-eye (or the opposite). The value is positive if your right eye look the left image et the left eye look the right one. Indicate a negative value to swap the two images.

FILES

/usr/local/lib/xbl
    Directory which contains the score tables and COPYING file (FSF GPL)

/usr/lib/X11/app-defaults/Xbl
    Defaults for Xbl, this file only contains a data: the option line for Xbl.
    xbl*args: -x 5 -y 5 -z 10 -level 0 \\
    -bloctype 2 -land 0 \\
    -draw 2 -smooth -buffer -1 \\
    -keyboard 4 \\
    -keytable '14789632azqswx ^[p^C0'

ENVIRONMENT VARIABLES

XBLOPTIONS
    Xbl will search his options in this variable, you can put :
    XBLOPTIONS='-smooth -draw 0' export XBLOPTIONS
    in your .profile or .login file.

BUGS
If sometime a block fall multiple level at once it indicates that your fps is set too high. SOUND isn't correct on some X server, no possible correction. FLICKING DISPLAY on some X server that doesn't handle XSync correctly. You can turn around using : -buffer 2 DIRTY POINT on screen because some X servers don't draw the same pixels for the same segment. You can turn around using : -clearline 0 or -linewidth 1 FOCUS WINDOW doesn't work with OpenWin, so put the cursor in the game window. DEMO mode seems to cheat (blocs going through other blocs) but it is because the visualization show a direct way (it sums all the transformations up). In fact, the real way could use very complex and tortuous indirect path.

SEE ALSO
X(1) xrdb(1)

AUTHORS
Thierry.EXCOFFIER@liris.univ-lyon1.fr and I thank all the people who gave me ideas, help, bugs :
tchaboud@lip.ens-lyon.fr (Thomas Chaboud)
jwz@lucid.com (Jamie Zawinski)
mqh@mqh.cit.cornell.edu (Mike Hojnowski)
g1berand@cdf.toronto.edu (Leung Chung Shing Anderson)
lemke@lupine.uucp (Dave Lemke)
And many others. Blockout is a registered trademark of Kadon Enterprises, Inc., used by permission. http://www.gamepuzzles.com