home *** CD-ROM | disk | FTP | other *** search
/ 1,000 Games / Disc2.iso / SPORTS / 2503 / APOOL.DOC < prev    next >
Text File  |  1995-05-26  |  11KB  |  318 lines

  1. This is the documentation file of the billiards game ANOTHER POOL (V 0.98).
  2. [ copyright (c) by Gerrit Jahn, (email: ub1g@rz.uni.karlsruhe.de) ]
  3.  
  4. -------------------------------------------------------------------------
  5.  
  6. Contents:
  7.  
  8. 1.      General Informations
  9.  
  10. 2.      
  11.  2.1    The Keys
  12.  2.2    Command Line Options
  13.  2.3    The File "Const.dat"
  14.  
  15. 3.    Rules 
  16.  
  17. 4.      
  18.  4.1    Known Bugs
  19.  4.2    Next Versions
  20.  4.3    Changes
  21.  
  22. --------------------------------------------------------------------------
  23.  
  24. 1.      General Informations
  25.  
  26.  
  27.     First thing: sorry for my english.... ;-)
  28.  
  29.     "Another Pool" simulates a pool game like 8-Ball with 16 Balls,
  30.     (white, black, 7 striped, 7 filled balls (here: red and yellow)). 
  31.     The (original) rules have been slightly modified to be easier
  32.     implemented (you will see it, if you play...). 
  33.     Another Pool is written with GNU-C 2.57 and uses cbgrx 2.0. 
  34.     Depending on this there will be some "mistakes" in the program,
  35.     (see 3.)
  36.     
  37.     Another pool simulates billiards as realistic as possible (for me :-).
  38.     So you can play "english" (with spin), play curve-balls and the 
  39.     balls will begin to "roll", "after" they slided a while (so they won't
  40.     stop after colliding with other balls but roll, as you would expect
  41.     from an    "unrealistic" full-elastic collision). 
  42.    
  43.     If you want to start the game, the files konst.dat and table.dat 
  44.     must be in the same directory as apool.exe. go32.exe must be in
  45.     this directory or path-environment. The .fnt files should be also 
  46.     in the game-directory.
  47.     
  48. !!!     If the game won't start correctly, look at the file "VIDEO.BAT"
  49.     for further details on installing the video-driver correctly.
  50.     If the file "table.dat" is missing, enter "billard -init 32",
  51.     to build it (s. 2.2).
  52.                    
  53.     By the way: it would be useful to own a 486DX or more. The
  54.     program won't work without fpu [and it's no good idea to use the
  55.     387-emulator :-( ]. So 386 without 387 or 486SX-user
  56.     can't play Another Pool (sorry!).
  57.     
  58. -------------------------------------------------------------------------
  59.  
  60. 2.
  61.  
  62.  
  63.  
  64. 2.1     The Keys
  65.  
  66.     During the game the following keys will cause an action: 
  67.  
  68.      c:     computer plays for actual player
  69.         (until you press any key if the computer plays or  
  70.         "c" again if you are playing (not the computer).
  71.         
  72.      x:     computer plays only one shot for actual player
  73.  
  74.      d:     start computer-demo
  75.         (in demo-mode: press any key to stop demo)
  76.  
  77.      w:     white ball rolls to mouse-cursor (test-procedure)
  78.      
  79.      W:     another computer-help (also a test-procedure)
  80.          doesn't work correctly.
  81.      
  82.      u:     undo last shot (no redo implemented!)
  83.      
  84.      r:     "slow motion"-mode on/off
  85.      
  86.      s:     show statistics
  87.      
  88.     F1:     help
  89.     
  90.     F2:     credits
  91.      
  92.     ENTER or SPACE: same as left mouse button
  93.     
  94.      n: new game
  95.      
  96.        ESC: "fast" quit game (works in allmost every situation)
  97.        
  98.      q: show statistics before quitting the  game
  99.       
  100.       
  101.      if you're asked to press "any key" during the game, press a n y 
  102.      key  e x c e p t "ESC" !!! (ESC quits)
  103.      
  104.      Most keys work only when the game is waiting for you. Some 
  105.      special keys like ESC work during the game, too.
  106.          
  107.  
  108.      
  109. 2.2      Command Line Options
  110.  
  111. !!!
  112.      If the game will flicker too much or the balls won't slide softly
  113.      you can try to change the values of steps and time_step.
  114.      You also might do this, if the game is too fast...            
  115.                                          !!!
  116.     "apool 16" 
  117.       starts billard in standard vga mode (640*480-16). May work, 
  118.       even if you don't have a vesa-compatible graphics-card. (May
  119.       even not! ;)
  120.  
  121.      "apool" 
  122.        enables 640*480 256 Mode. Needs a vesa-driver (see video.bat)
  123.        or a vesa compatible graphics card. Is (lots of) faster then
  124.        standard vga.
  125.  
  126.      "apool -init x" 
  127.        creates the 'geometry' of table new. "x" is the width of the
  128.        holes (25 < x < 45). -init x creates the file "table.dat" new.
  129.        x = 32 is the default.
  130.  
  131. 2.3     The File "konst.dat"
  132.  
  133.     This file contains all the "physical" constants the game needs. 
  134.     you can easily change them and see what happens...
  135.  
  136.     konst.dat has the following structure:
  137.     
  138.     0.0000001    alpha      transformation gliding <---> rolling (-> spin)
  139.     0.000000008    beta      friction that decreases z-spin
  140.     0.2        gamma      decrease of Spin when ball hits a side
  141.     0.000000025    delta      rolling- / gliding-friction
  142.     0.75         eta      1-loss of spin by transf. from spin -> speed
  143.     0.4        bandes      "strength" of z-spin at the sides
  144.     0.9        banderef   decrease of speed when hitting a side
  145.     1.0        mass_white mass of the white ball (others: 1.0)
  146.     50        step       painting new after 'step' calculations steps
  147.     6        clev        "level" of computer-op., (deepness of combies)
  148.     3.75    curves       how strong "breaks" ball (par.) out, (p.c.-b.)
  149.     7.5        curvep       h.s.b.b. (perpend.) out, (playing curve-balls)
  150.     30000    time_step  t.-freq.= 18.2 t/s * 65536 / (65536-time_step)    
  151. description: 
  152.     
  153.     -alpha: if you kick a ball it won't roll first but glide/slide. 
  154.         alpha describes how fast the transformation from gliding/
  155.         sliding to rolling will be.
  156.     
  157.     -beta:  if you don't hit the ball in the center it gets spin.
  158.         beta is the factor, how fast the spin around the z-axis
  159.         decreases. (a kind of friction, don't know the english name,
  160.         in german you say "Bohr-Reibung", means drill-friction)
  161.  
  162.     -gamma     describes the loss of the z-spin, when a ball hits a side
  163.  
  164.     -delta: "rolling- /gliding-friction"; describes, how fast the
  165.             velocity of the balls decreases.
  166.         
  167.     -eta:   describes the loss of energie by transforming rotation (spin)
  168.         to velocity.
  169.         
  170.     -bandes:        Describes the influence of the z-spin at the cushions.
  171.          
  172.     -banderef:      the loss of speed, if a ball was reflected by a
  173.             cushion.
  174.     
  175.     -mass_white:  the mass of the white ball (the other balls have the
  176.                   mass 1).
  177.     
  178.     -step:    describes how often the program paints all the balls new.
  179.         50 means that the program paints after 50 calculation-
  180.         steps. If you have a computer faster than a 486DX2-66,
  181.         you will have to decrease the value of step. 
  182.         (P5-100 : 15-25).
  183.         
  184.     -clev:  describes how "deep" the computer-opponent thinks. 2 means
  185.         that the computer will play combinations with 3 balls, ...
  186.         change clev to 0 and look at the result.
  187.  
  188.     -curve(s/p): if you (in the game) press the middle button and then
  189.             the right button, you can change the angle between the table
  190.         and the queu. If you now change (with only the right button)
  191.         the hit-point on the white-ball, you can play curve-balls.
  192.         curve(s/p) describes, how strong the ball breaks out.
  193.         (curves: perpnedicular, curvep: parallel)
  194.         
  195.     -time_step:    the "frequency" of the timer (s. timer). you get
  196.             the "real" frequency by calculating
  197.             f = 18.2 / s * 65536 / (65536 - time_step).
  198.         
  199.  
  200.             
  201. -----------------------------------------------------------------------------
  202.  
  203. 3.    Rules
  204.  
  205.     - Kick off, Place Cue-Ball:
  206.     
  207.       In the beginning of the game you or your opponent have to kick off:
  208.       
  209.       The player who begins can place the cue-ball anywhere in the left
  210.       quarter of the table (same procedure if the white ball disappears).
  211.       After this, you can set power and spin with the right/middle mouse
  212.       button and shoot with the left button. 
  213.       
  214.     - Choose Color:
  215.       
  216.       In a new game, you can hit any balls except of the black one.
  217.       If you pocket a ball correctly (without fouls), you 'choose' the
  218.       color of this ball.
  219.       You have to play this color until the ende of the game.
  220.       
  221.           If no color is chosen and you sink balls with different colors,
  222.       you can play again (and choose again if you hit a colored ball).
  223.       
  224.       If no color is chosen and you pocket a colored ball and make a 
  225.       foul at the same shot your opponent plays the next shot (and 
  226.       can 'choose', if he pockets a ball).
  227.       
  228.     - Black Ball
  229.     
  230.       If you sink all 'your' balls, you have to play the black one 
  231.       (without any foul!) in a hole to win the game.
  232.       If you shoot the black one in a hole by making a foul, you lost
  233.       the game.
  234.       If you play the black too "early" in a hole, you lost the game, 
  235.       too.
  236.           
  237.     - Freeball, Fouls
  238.       If your Opponent makes a foul, you have a `freeball'. That means,
  239.       you can hit ANY ball first (including the black one) and shoot
  240.       ANY ball in a hole (excluding the black one).
  241.       
  242.       If you don't make a foul and don't pocket a ball (after your 
  243.       opponent has made a foul), you will have an 'extra-shot', a 
  244.       second chance, the punishment for the foul of your opponent.
  245.  
  246.     - The following actions are fouls:
  247.     
  248.     -- pocketing the white ball.
  249.     -- hitting first another ball than one of 'yours'.    (e.f.)
  250.     -- pocketing wrong colors balls                (e.f.)
  251.     -- the white ball doesn't hit another ball.
  252.     -- no ball hits a cushion or falls in a pocket.
  253.  
  254.     (e.f.) means: except you have a freeball
  255.     
  256.      - The Loser kicks off the new game...
  257.  
  258.      
  259.     ( maybe implemented in one of the next versions: 
  260.       - Fouls: if a player kicks off and less than 4 ball hit the cushions
  261.                and no ball rolls in the pocket.
  262.       - Rule: the black ball has to be pocketed in opposite to the 
  263.               position of the last pocketed ball of the players color. )
  264.     
  265.      
  266. -----------------------------------------------------------------------------
  267.  
  268. 4.
  269.  
  270. 4.1     Known bugs: 
  271.  
  272.         - the balls will flicker if any ball is rolling.
  273.         
  274. 4.2     Next Versions:
  275.  
  276.    0.99 - 1.0:  - if cbgrx2.0 is out, there will be a double page-mode
  277.           implemented, so the balls won't flicker anymore.
  278.         - english comments in the source code and .dat-files.
  279.         - better menus, if I have time enough.
  280.         - more and 'better' rules will be implemented.
  281.         - computer-opponent will use the cushion and make tests, if
  282.           it will make a foul...
  283.         - The (z)-spin, a ball gets by hitting a cushion will be
  284.           implemented.
  285.         - ...
  286.  
  287.         
  288. 4.3    Changes since version 0.97
  289.  
  290.     In V 0.975:
  291.     - The handling of spin (english?) works now "physically" correct.
  292.       Depending on this the roll-after-collision of a ball works better.
  293.     - Some "fine-work" on the geometry.
  294.     
  295.     In V 0.98:
  296.     - Timer-dependent painting, the game will NOT increase speed anymore
  297.       if some balls are pocketed.
  298.     - Some bugs "at" the sides.
  299.     - If wanted, a "special-s3-version" (faster, "smoother" graphics) 
  300.       can be compiled. (with -DS3 at gcc ... -c graphics.c -DS3)
  301.       If anybody is interested in this, he/she may mail me...
  302.         
  303. ------------------------------------------------------------------------------
  304.  
  305.     If you have any suggestions or problems with Another Pool (-V 0.98)
  306.     email to        "ub1g@rz.uni-karlsruhe.de".
  307.     
  308.     You will find the newest version of the program at:
  309.     
  310.     ftp.heidelberg.de       (/incoming/apool.zip)
  311.     ftp.cdrom.com        (/pub/incoming/games/billiards/apool.zip???)
  312.     ftp.wuarchive.wustl.edu    (/pub/msdos_uploads/billiards/apool.zip)
  313.     
  314.     Have fun  ;-)
  315.  
  316.     Gerrit
  317.     
  318.