Provided by: xboing_2.4-31_i386 bug


       xboing - An X Window System based blockout clone. V2.4


       xboing  [-version]  [-usage]  [-help]  [-sync] [-display <displayName>]
       [-speed <1-10>] [-scores] [-keys] [-sound]  [-setup]  [-nosfx]  [-grab]
       [-maxvol  <1-100>] [-startlevel <1-MAXLEVELS>] [-usedefcmap] [-nickname
       <name>] [-noicon]

              -speed <n>         - The game speed, 1 - 9. 9=Fast
              -maxvol <n>        - The maximum volume as percentage
              -startlevel <n>    - The starting level for game
              -help              - Produce this help message
              -sync              - Turn on X synchronisation
              -usage             - Print a brief help message
              -version           - Print out the current version
              -scores            - Print out current highscores
              -keys              - Use keys instead of mouse control
              -sound             - Turn audio ON for game
              -setup             - Print setup information
              -nosfx             - Turn off special effects
              -grab              - Turn pointer grabbing on
              -usedefcmap        - Use the default colourmap
              -nickname <name>   - Use nickname instead of real one
              -noicon            - Do not create a custom icon
              -display <display> - Set the display for the game


       XBoing is a blockout type game  where  you  have  a  paddle  which  you
       control  to bounce a ball around the game zone destroying blocks with a
       proton ball.

       Each block carries  a  different  point  value.  The  more  blocks  you
       destroy, the better your score. The person with the highest score wins.

       The  arena  is  filled with blocks and other objects. You have a paddle
       that can move from left to right  at  the  bottom  of  the  arena.  You
       control  the  paddle  so that the proton ball bounces around blowing up
       blocks and that it does not go past the paddle and out the bottom, much
       like a pinball game.

       You  may like to check out my WWW Home Page for XBoing at the following


       The blocks exhibit different behaviour. The bomb block  when  hit  will
       explode  all  other blocks around it. You will score the points for the
       blocks exploded by the bomb. If another bomb is beside it then it  will
       explode  also  causing  a chain reaction. The solid wall brick will not
       explode unless next a bomb. The ammunition block  will  give  you  four
       bullets  and so on. Special blocks such as reverse and machine gun will
       only last for one ball/level.

       There is also a unlimited ammo block that will  enable  unlimited  ammo
       for that level. You will always have bullets to shoot with. Cool.

       There  are  random  blocks that change their colour and therefore their
       points every now and then. They add a bit of interest to the levels.

       There is a pirate symbol that will kill your ball if touched.  You  can
       shoot this block 3 times to kill it. Keep away from the Death block, it
       terminates your ball!

       The walls off block will turn the wall bounce off on both the left  and
       right  side  of  the arena. This will mean the ball will not bounce off
       the walls but continue through the wall and wrap around to the opposite
       side respectively.

       The  extra time block will add an extra 20 seconds to the clock to help
       you out.

       The reverse block will when hit, reverse the controls  to  the  paddle.
       This  block should be avoided as it makes the game really hard. Hitting
       another reverse while already in reverse mode will turn  it  off.  This
       control mode is reset to normal for each new ball.

       The teleport block will teleport the ball somewhere else on that level.
       It will not place you too close to the  bottom  of  the  screen  or  on
       another block. If the teleport cannot teleport the ball anywhere as the
       board may be full - it will teleport your ball to the paddle and  shoot
       it off there.

       The sticky paddle block will stick the ball to your paddle each time it
       is hit and wait until you press fire to shoot it off again.

       Some blocks will drop from their starting positions and head  off  down
       the  screen  until they nearly hit your paddle. These are normal blocks
       except they move... They will not clobber an  existing  block  or  move
       into  a  ball. Note that their score will decrease as the move down the
       screen!! Get in early I suspect.

       There is a roaming dude that just roams around the arena. It has  logic
       to  stop it bouncing into something and will not roam off screen! It is
       worth a few hundred points and must be killed.

       There is a machine gun block that allows you to shoot much faster. Note
       that  you  will  also use your bullets at a greater rate. Can be fun to
       let off a burst every now and then. Erases counter blocks very fast.

       An extra ball symbol may appear and when hit by a proton ball  it  will
       give you an extra ball!

       There  is  a  shrink  paddle  block  that  will shrink your paddle to a
       smaller size for the level. If you currently have the  smallest  paddle
       then it has no effect.

       There  is  also  an  expand paddle block that will grow you paddle to a
       larger size for the level. If you currently  have  the  largest  paddle
       then it has no effect.

       You  can  use  the bullets to shoot the last pesky blocks or to collect
       lots of bonus coins. You will be given  4  bullets  when  a  new  level
       starts.  If  you  lose  a ball you will be given a token 2 bullets. Use
       bullets wisely as you will hate yourself when there is one  brick  left
       and the ball is missing it for ever.

       Throughout  the  game  the  bonus  coins will appear. Collect these for
       bonus points awarded when the level is finished. Sometimes the coin may
       appear  as  a x2 or x4 symbol which will indicate that the scoring from
       then onwards will be multiplied by 2 or 4 respectively.  Note:  if  you
       get  a  x2  then x4 then x2 you will go back to x2 mode. Also note that
       this x2 or x4 mode will be disabled after each ball death.

       Also during the game some special  blocks  will  appear  like  reverse,
       death,  extra ball, etc. and then disappear like the bonus coins. These
       blocks behave like normal but will disappear.

       Sometimes a little eye dude will walk across the top and if shot or hit
       by the ball will earn you 10000 points! He will only walk across if the
       top row is clear.

       If you collect more than 10 bonuses during a level the killer  mode  is
       activated which will turn the ball red and the ball will plough through
       all blocks except the solid ones and finish the level very quickly.

       The bonus screen will tell you how you went in  the  last  level.  Your
       bonuses  will  be  added  plus  the bullet and level bonus. You get 500
       points for each bullet not used. You get 3000 points for each bonus and
       if  you get more than 8 bonuses you get a SUPER BONUS of 50,000 points.
       You also receive a new ball every 100,000 points. Pressing  space  will
       skip  the bonus animations when the bonus screen appears and your bonus
       points will still be added.

       Like the special popup blocks you may see a dynamite  block  that  will
       when  hit  kill  all  other  blocks of the same type. Pretty good block

       There is a level timer that counts down while playing  each  level.  If
       you  don't complete the level in the allotted time you will not receive
       the time bonus which is 100 points per second remaining. You will  miss
       out on the level bonus if your time runs out.

       The  ball  will  be  automatically  shot  off  the paddle after about 5
       seconds unless you press the space bar. You can  always  press  `P'  to
       pause the game.

       If  the  ball gets stuck in an infinite loop it will automatically tilt
       the board if the ball hasn't hit the paddle after a certain time  span.
       The time span is about 8 seconds I think.

       When  you  get  a  new  ball you will see a small red arc with a moving
       yellow dot go from left to  right  and  back  again.  This  yellow  dot
       indcates the direction of the ball when you start it.

       XBoing was started like many other projects to learn Xlib better. I had
       the XPM library and was already using it  in  a  Motif  application.  I
       thought  that  it would be cool to have nice colour pictures/animations
       in an Xlib game. So I did. Without the XPM library  I  would  be  still
       playing with the colours I think.


       The  speed  option  will  adjust the speed of the overall game. It will
       except integer numbers between 1 and 9. The speed of the  game  can  be
       changed  from  within  the  game as well. See Game Control. The default
       value is warp 3.

       The maxvol option allows you to adjust the maximum volume  to  be  used
       for the sound effects if sound is supported. It doesn't mean all sounds
       will be this volume but they will use that volume as the top volume  to
       scale against.

       The  startlevel  option  allows  you to set the starting level for your
       games. Note that when your score is placed in the highscore  table  the
       level number is the number of levels completed and not the level number
       attained. Also, in the bonus screen your level bonus will be the number
       of  levels  completed  multiplied  by the level bonus value and not the
       current level number! Unless this option is used the first  level  will
       always be level one.

       The  help  option  will display a brief one line description of all the
       command line options used with xboing.

       The sync option will turn on the X Window System synchronisation of all
       Xlib  calls  which  means  that  all  calls are flushed by the X server
       before continuing. This will cause the game to become slower but enable
       some debugging. The default is OFF.

       The  usage  option  will print a very brief synopsis of all the command
       line options and there value ranges.

       The version option prints the version of xboing that you are running.

       The scores option will print both the roll of honour and your  personal
       best  scores to standard out. This can be useful if you are not running
       the program on an X window display and  still  want  to  see  what  the
       scores are.

       The  keys  option will enable the use of the keyboard for game control.
       Within the game you may press <g>  to  toggle  between  mouse  and  key
       control. The default is MOUSE control.

       The  sound option will enable sound to be turned on if possible. Within
       the game you may press <s> to toggle sound on or off.  The  default  is

       The  setup option is useful when you have just compiled the program. It
       will display the paths of the level & sound directories and  also  give
       you some information on other things.

       The  nosfx  option will turn OFF special effects. The special effect in
       question at this stage is the explosion  shake.  Turning  it  off  will
       speed  the  game  up  a  little bit. The default is ON. Servers without
       backing store will have it turn off automatically  as  the  shaking  is

       The  grab  option  will  tell xboing to grab the mouse pointer when the
       game is visible. Pointer grabbing has the effect of stopping  you  move
       the  pointer  outside  the game window. This is useful as it constrains
       the mouse and you don't get colourmap flashes. The default is Off.

       The  usedefcmap  option  will  make  xboing  try  to  use  the  default
       colourmap.  This  will  be fine if the default colourmap is reasonabily
       empty (ie: 200 free colour cells!). If you have a  complex  picture  on
       your  background  then  this  option  will  not work and xboing will be
       unable to allocate enough colours.

       The nickname option allows you to specify a nick name for  you  instead
       of  using your real name found in the password file. This can be useful
       for hiding your identity. Please note that I store the user id  in  the
       highscore  file  and  use that for checking and sorting. You will still
       appear only once in the global highscore table.

       The noicon option will tell xboing not to create a custom icon. This is
       needed  with  some window managers as they only allow a small number of
       colours and the icon uses a quite a few. You may  not  like  this  icon
       either and want to use your own.

       The display option will force the game to be viewed on another display.
       The format of  the  display  name  is  <xserver:0.0>  like  most  other
       programs  where xserver is the name of the display. The default is your
       display of course.

       You may also set three  environment  variables  used  by  xboing.  They
       specify the location of the level files, sounds and the highscore file.
       They are listed below.

       These  environment  variables  will  override  the  settings  that  are
       compiled into the program.

              XBOING_SCORE_FILE = the highscore file to be used.
              XBOING_LEVELS_DIR = the directory with the levels.
              XBOING_SOUND_DIR  = the directory with the sounds.


       Use  the  mouse  to  move the paddle left and right by moving the mouse
       left and right. All mouse buttons shoot bullets, start ball. The paddle
       will  follow  the mouse pointer. This is the best method and easiest to
       use by far IMHO.

       Below are the keyboard controls. (Non case sensitive)

              Space   = Start game
              J       = Paddle Left
              K       = Shoot bullet
              L       = Paddle Right
              Right   = Paddle Right
              Left    = Paddle Left
              Escape  = End game and return to introduction.
              i       = iconify the game and pause.
              H       = View roll of honour.
              h       = View personal highscores.
              p       = Pause game.
              d       = Kill the ball.
              a       = Toggle audio on/off.
              s       = Toggle special effects on/off.
              c       = Cycle through the intro screens.
              1-9     = Game speed where 9 is fastest.
              +       = Increase maximum volume level.
              -       = Decrease maximum volume level.
              t       = Tilt board bumping ball.
              z       = Save current game.
              x       = Load saved game.
              w       = Set starting level.
              e       = Change to level editor.
              q       = Quit XBoing.


       XBoing supports a one level save game facility. Every five  levels  you
       complete  you  have the ability to save the game once. The game will be
       saved in your home directory in your account. The ability to save  will
       be  indicated by the highlighted word "Save" in the specials area below
       the arena.

       When playing you can press the save key  (see  GAME  CONTROL)  and  the
       current  state of the game will be saved. If you save it will overwrite
       any previously saved games. If you had more than 1 saved game it  would
       make it too easy IMHO.

       To  load  a  game  that has been saved you start a normal game and then
       press the load game key. The saved game will appear and you  can  start
       playing from where you saved.

       Please  note  that  the paddle position and ball position is not saved.
       The paddle will start from where the mouse is and the ball  will  start
       from the beginning position.


       The  built  in  level  editor  allows  you  to  design  your own levels
       interactively. You can simply click on a block type and then draw  into
       the  level  to  add blocks. The level editor can also let you play test
       the level before saving it.

       To change to the level editor simply press "e" while watching the intro
       screens. The window will grow right a bit and a tool bar will be shown.
       You are now ready to draw away.

       The left mouse button is the draw button while the middle mouse  button
       is  the  eraser.  You can press the mouse button down and also move the
       mouse to provide continuous drawing until you  release  the  button  in
       both draw and erase modes.

       The  right most most button can be used to find out how much a block is
       worth in points. Simply click on a block in the toolbar or  level  area
       and the score will change to the score for that block.

       You can play test the level. You will have infinite lives and the level
       never finishes. Simply press "p" to enter test mode  and  "p"  to  exit
       test mode.

       Some  basic editing facilities are available such as flipping the board
       vertically and horizontally and also scrolling 1 block  vertically  and

       Within the editor there are several keys that can be used.

       Below are the keyboard controls. Case sensitive.

              q = Exit editor.
              p = Start/End play test.
              r = Redraw the level.
              s = Save the level.
              l = Load the level.
              c = Clear the level.
              t = Change the time bonus.
              n = Change the level name.
              v = Flip board vertically.
              h = Flip board horizontally.
              V = Scroll 1 block vertically.
              H = Scroll 1 block horizontally.


       Note:  Highscores are saved at the end of each game. If you quit a game
       while playing your score will be added to the highscores.

       Each block has a point score. Some blocks such  as  the  counter  block
       will have more than one score associated with it.

       Each  time  the  paddle  is  hit with the ball your earn 10 points. I'm

       There is a death symbol (a pirate) that when hit by a ball will destroy
       your ball. You can shoot them three times to remove them.

       At  the  end of each level you are awarded a level bouns which is level
       <n> x 100 points. So for level 20 you get 20,000 points! If you fail to
       complete  the  level  in the time allotted you will not receive a level

       XBoing uses two highscore files. One displays the global  scores  which
       will  be  your  best  score to date. The other is a personal high score
       table with all your attempts (stored in your home directory).

       If you obtain the highest score then you will be asked  to  imput  some
       words  of  wisdom  to  your  fellow game players. This short message is
       displayed under the Boing Master's name and is there for  all  to  see.
       This message is saved with the high score file so watch out if it rude.

              red = 100
              blue = 110
              green = 120
              yellow = 140
              tan = 130
              purple = 150
              bomb = 50
              wall = 0
              roamer = 400
              drop = row * 100
              specials = 100
              ammo = 50 plus bullets
              counter = 200 (each number).


       Xboing  has  support  for  sound.  It  has sound code for the following
       machines :-

       HP, SUN, NetAudio, LINUX & NetBSD PC Soundblaster, RPLAY sound  system,
       and DEC Audiofile.

       Most support and use the .au format sound files. The linux version just
       sends the data down to the audio device which may cause slight clicking
       sounds  due  to  the  audio file header. Future versions of xboing will
       support other machines if patches are sent to me  or  if  I  learn  the
       sound  format. I am not going to have heaps of converted files all over
       the place in different formats as the archive would be HUGE.


       The levels are not increasingly harder to play - some are but some  are
       easy. This is because it takes ages to create and design levels.

       The  level data is specified in a simple ASCII file that can be edited.
       The levels are loaded when required from the directory  specified  when
       the game was made.

       You can create more levels if you like making sure that they are in the
       correct format and that they have a correct filename.

       Copy to level??.data and use that for the editing of  new

       The  format  of  the  level  is  shown in the file in the
       source distribution in the levels directory.

       Make sure you have a level title and a time bonus in seconds.

       level format: (case sensitive)

              . = blank
              w = wall block
              r = red block
              g = green block
              b = blue block
              t = tan block
              p = purple block
              y = yellow block
              X = Bomb
              B = Ammo
              c = Unlimited Ammo
              D = Death
              R = Reverse
              H = Teleport
              L = Extra ball
              M = Machine Gun
              W = Walls off
              ? = Random block
              d = Drop Block
              + = Roaming dude
              m = Multiple balls
              s = sticky block
              < = Shrink paddle block
              > = Grow paddle block
              T = Extra Time block


       I will place all new  versions  of  XBoing  in  /contrib  on  the  site  I  will  post  an  announcement  of  the new release in the


       XBoing - An X11 blockout style computer game

       (c) Copyright 1993-1997, Justin C. Kibell, All Rights Reserved

       The X Consortium, and any party obtaining a copy of  these  files  from
       the X Consortium, directly or indirectly, is granted, free of charge, a
       full and unrestricted irrevocable, world-wide, paid  up,  royalty-free,
       nonexclusive   right   and   license  to  deal  in  this  software  and
       documentation files (the "Software"), including without limitation  the
       rights  to  use,  copy, modify, merge, publish, distribute, sublicense,
       and/or sell copies of the Software, and to permit persons  who  receive
       copies  from  any  such  party to do so.  This license includes without
       limitation a license to do the foregoing actions under any  patents  of
       the party supplying this software to the X Consortium.

       In  no  event  shall  the  author  be  liable  to any party for direct,
       indirect, special, incidental, or consequential damages arising out  of
       the  use of this software and its documentation, even if the author has
       been advised of the possibility of such damage.

       The author specifically disclaims any warranties,  including,  but  not
       limited to, the implied warranties of merchantability and fitness for a
       particular purpose.  The software provided hereunder is on an  "AS  IS"
       basis,  and  the  author  has  no  obligation  to  provide maintenance,
       support, updates, enhancements, or modifications.


             Justin C. Kibell - Systems Programmer/System Administrator
                CATT Centre RMIT - Melbourne - Victoria - Australia.
              SnailMail: PO BOX 260, Eltham, Victoria, Australia, 3095

                              Computer Science Graduate
                   Royal Melbourne Institute of Technology (RMIT)


       See README documents in source distribution for list of  bugs  and  bug

       Mail all bug reports/suggestions to specifying the
       version and machine type you are using. Use 'uname -a' to  explain  the
       machine type. Please note the version of X11 that you have installed as
       well, ie: X11R6, X11R5, X11R4, etc.

       Please read all documentation before asking for help - only fair.