home *** CD-ROM | disk | FTP | other *** search
/ swCHIP 1991 January / swCHIP_95-1.bin / chip / winboard / doc / gnuchess.txt < prev    next >
Text File  |  1995-12-09  |  13KB  |  352 lines

  1. gnuchess(6)              GAMES AND DEMOS              gnuchess(6)
  2.  
  3.  
  4.  
  5. NAME
  6.      gnuchess - Chess
  7.  
  8. SYNOPSIS
  9.      gnuchess [ [[-]a] [-b bookfile] [-B binbookfile] [[-]h ] [-L
  10.      language]  [-r  length] [-s pathname] [-l pathname] [-S bin-
  11.      booksize] [-t] [-c size] [-T size] [-v] [-x] arg1 arg2 ]
  12.  
  13. DESCRIPTION
  14.      Gnuchess plays a game of chess against the user or it  plays
  15.      against itself.
  16.  
  17.      Gnuchess is an updated version of the GNU chess playing pro-
  18.      gram.   It  has a simple alpha-numeric board display, an IBM
  19.      PC compatible interface, or it can be compiled for use  with
  20.      the  chesstool  program  on  a  SUN  workstation or with the
  21.      xboard program under X-windows.  To invoke the program type:
  22.  
  23.      gnuchess
  24.           - simple curses based version
  25.  
  26.      gnuchessn
  27.           - fancy version using curses and inverse video on UNIX,
  28.           or IBM PC cursor controls and characters on MSDOS
  29.  
  30.      gnuchessr
  31.           - ASCII based version
  32.  
  33.      gnuchessc
  34.           - chesstool compatible version
  35.  
  36.      gnuchessx
  37.           - xboard compatible version
  38.  
  39. TIME CONTROLS
  40.      If one argument is given, it is the search time per move  in
  41.      [minutes:]seconds.   So  gnuchess  30 will generate one move
  42.      every 30 seconds, while gnuchess 5:00 will generate one move
  43.      every 5 minutes.
  44.  
  45.      If two or more arguments are given, they will be used to set
  46.      tournament  time  controls  with  the first argument of each
  47.      pair being the number of moves  and  the  second  being  the
  48.      total  clock time in minutes[:seconds].  Thus, entering gnu-
  49.      chess 60 5 will set the clocks for 5 minutes  (300  seconds)
  50.      for  the  first  60 moves, and gnuchess 30 3:30 will allow 3
  51.      minutes and 30 seconds for 30 moves.
  52.  
  53.      gnuchess 30 5 1 :30 will allow 5 minutes for  the  first  30
  54.      moves  and  30  seconds  for  each move after that.  Up to 4
  55.      pairs of controls may be specified.
  56.      If no argument is given the program will prompt the user for
  57.      level of play.
  58.  
  59.      For use with chesstool or xboard, see the  documentation  on
  60.      those programs.
  61.  
  62. BOOK
  63.      At startup Gnuchess reads the binbook file if it is present.
  64.      It  then looks for a book file. If it is present it adds its
  65.      contents to the binbook data. If the binbook file  is  writ-
  66.      able a new combined binbook file is written.
  67.  
  68.      The book gnuchess.book consists of a sequence  of  openings.
  69.      An  opening  begins with a line starting with a ! , the rest
  70.      of the line is comments.  Following  this  is  a  series  of
  71.      moves  in  algebraic  notation  alternating  white and black
  72.      separated by white space. A move may have a ? after it indi-
  73.      cating  this  move  should  never  be made in this position.
  74.      Moves are stored as position:move so transpositions  between
  75.      openings can take place.
  76.  
  77. HASHFILE
  78.      The hashfile if created should be on the order  of  4  mega-
  79.      bytes  or  gnuchess  -c 22. This file contains positions and
  80.      moves learned from previous games. If a hashfile is used the
  81.      computer  makes  use  of  the  experience  it gained in past
  82.      games. Tests run so far show that it plays no worse with the
  83.      hashfile  than  without,  but it is not clear yet whether it
  84.      provides a real advantage.
  85.  
  86. LEGAL MOVES
  87.      Note: Piece letters and legal castling  notation  is  deter-
  88.      mined  by  the language file.  What is specified here is the
  89.      default English.
  90.  
  91.      Once gnuchess is invoked, the program will display the board
  92.      and  prompt  the  user  for a move. To enter a move, use the
  93.      notation e2e4 where the first letter-number  pair  indicates
  94.      the  origination  square  and  the second letter-number pair
  95.      indicates the destination square.  An alternative is to  use
  96.      the  notation nf3 where the first letter indicates the piece
  97.      type (p,n,b,r,q,k).  To castle, type the origin and destina-
  98.      tion  squares of the king just as you would do for a regular
  99.      move, or type o-o or 0-0 for kingside castling and o-o-o  or
  100.      0-0-0  for  queenside.  To promote a pawn append the type of
  101.      the new piece to the move, as in e7e8q or c7c8r.
  102.  
  103. FUNCTION LETTERS
  104.      -L lang
  105.           Use language lang from the file gnuchess.lang. If -L is
  106.           not  specified  it defaults to the language used in the
  107.           first line in the file. gnuchessr -L ger will  use  the
  108.           german language.
  109.  
  110.      -a   Do not search on opponents time.
  111.  
  112.      a    Do search on opponents time.
  113.  
  114.      -b bookfile
  115.           Use bookfile for opening book.
  116.  
  117.      -B binbookfile
  118.           Use binbookfile for binary opening book.
  119.  
  120.      -S size
  121.           Size of binbookfile for memory based and GDX books. For
  122.           creating a binbookfile.
  123.  
  124.      -P plylevels
  125.           Number of plys to include in the binbookfile. For  gen-
  126.           erating a binbookfile.
  127.  
  128.      -c size
  129.           Create a new HASHFILE. File size is 2^size  entries  of
  130.           approximately 65 bytes.
  131.  
  132.      -h   Do not use hashfile.
  133.  
  134.      h    Do use hashfile.
  135.  
  136.      -l pathname
  137.           Pathname of the loadfile use with the get or xget.
  138.  
  139.      -r length
  140.           Rehash length times in searching  entries for  position
  141.           in transposition table.
  142.  
  143.      -s pathname
  144.           Pathname of the save file to use with the save command.
  145.  
  146.      -t   Show statistics for HASHFILE
  147.  
  148.      -T size
  149.           Set the  transposition  table  size  to  size  entries.
  150.           (minimum is MINTTABLE)
  151.  
  152.      -v   Show version and patchlevel.
  153.  
  154.      -x value
  155.           Use value as the evaluation window xwndw.
  156.  
  157. COMMANDS
  158.      In addition to  legal  moves,  the  following  commands  are
  159.      available  as responses.  Note: command names are determined
  160.      by the language file and may vary with  the  implementation.
  161.      This is default English.
  162.  
  163.      alg -- allow algebraic input (not implemented)
  164.  
  165.      Awindow -- change Alpha window (default score + 90)
  166.  
  167.      Bwindow -- change Beta window (default score - 90)
  168.  
  169.      beep -- causes the program to beep after each move.
  170.  
  171.      bd -- updates the current board position on the display.
  172.  
  173.      book -- turns off use of the opening library.
  174.  
  175.      both -- causes the computer to play both sides  of  a  chess
  176.      game.
  177.  
  178.      black -- causes the computer to take the black  pieces.   If
  179.      the computer is to move first the go command must be given.
  180.  
  181.      coords -- show coordinates on the display (visual only)
  182.  
  183.      contempt -- allows the value of contempt to be modified.
  184.  
  185.      debug --  asks for a piece as color piece, as wb or bn,  and
  186.      shows its calculated value on each square.
  187.  
  188.      debuglevel --  sets level of debugging  output  if  compiled
  189.      with debug options.
  190.  
  191.      depth -- allows the user to change the search depth  of  the
  192.      program.   The  maximum depth is 29 ply.  Normally the depth
  193.      is set to 29 and the computer terminates its search based on
  194.      elapsed  time rather than depth.  If depth is set to (say) 4
  195.      ply, the program will search until all moves have been exam-
  196.      ined  to  a  depth  of 4 ply (with extensions up to 11 addi-
  197.      tional ply for sequences of checks and captures). If you set
  198.      a  maximum time per move and also use the depth command, the
  199.      search will stop at the  specified  time  or  the  specified
  200.      depth, whichever comes first.
  201.  
  202.      easy -- toggles easy mode (thinking on  opponents  time)  on
  203.      and  off. The default is easy mode ON.  If easy mode is dis-
  204.      abled, the keyboard is polled for input every so  often  and
  205.      when  input is seen the search is terminated. It may also be
  206.      terminated with a sigint
  207.  
  208.      edit -- allows the user to set up a board position.
  209.  
  210.           # - command will clear the board.
  211.  
  212.           c - toggle piece color.
  213.  
  214.           . - command will exit setup mode.
  215.  
  216.         pb3 - place a pawn on b3
  217.  
  218.      Pieces are entered by typing a letter (p,n,b,r,q,k) for  the
  219.      piece followed by the coordinate.
  220.  
  221.      The usual warning about the language file applies.
  222.  
  223.      exit -- exits gnuchess.
  224.  
  225.      first -- tells the computer to move first.  Computer  begins
  226.      searching for a move.  (same as "go").
  227.  
  228.      force -- allows the user to enter moves for both  sides.  To
  229.      get  the  program to play after a sequence of moves has been
  230.      entered use the 'white' or 'black' command followed by 'go'.
  231.  
  232.      gamein -- toggles game mode time control. Assumes  the  time
  233.      specified  for time control is the time for a complete game.
  234.      Input with the level command should be the game time and the
  235.      expected number of moves in a game.
  236.  
  237.      get -- retrieves a game from disk.  The program will  prompt
  238.      the user for a file name.
  239.  
  240.      hash -- use/don't use hashfile.
  241.  
  242.      hashdepth -- allows the user to change the minimum depth for
  243.      using the hashfile and the number of moves from the begining
  244.      of the game to use it.
  245.  
  246.      help -- displays a short description of the commands and the
  247.      current status of options.
  248.  
  249.      go -- tells the computer  to  move  first.  Computer  begins
  250.      searching for a move.  (same as "first").
  251.  
  252.      hint -- causes the program  to  supply  the  user  with  its
  253.      predicted move.
  254.  
  255.      level -- allows the user to set time  controls  such  as  60
  256.      moves  in  5  minutes  etc.  In tournament mode, the program
  257.      will vary the time it takes for each move depending  on  the
  258.      situation.   If easy mode is disabled (using the 'easy' com-
  259.      mand), the program will often respond with its move  immedi-
  260.      ately, saving time on its clock for use later on.
  261.  
  262.      list -- writes the game moves and some statistics on  search
  263.      depth, nodes, and time to the file 'chess.lst'.
  264.  
  265.  
  266.  
  267. Sun Release 4.1           Last change:                          5
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274. gnuchess(6)              GAMES AND DEMOS              gnuchess(6)
  275.  
  276.  
  277.  
  278.      material -- toggle material flag - draws  on  no  pawns  and
  279.      both sides < rook
  280.  
  281.      Mwpawn, Mbpawn, Mwknight, Mbknight,  Mwbishop,  Mbbishop  --
  282.      print out static position evaluation table
  283.  
  284.      new -- starts a new game.
  285.  
  286.      p -- evaluates the board and shows the point score for  each
  287.      piece.  The  total  score for a position is the sum of these
  288.      individual piece scores.
  289.  
  290.      post -- causes the program to display the  principle  varia-
  291.      tion  and  the  score  during the search.  A score of 100 is
  292.      equivalent to a 1 pawn advantage for the computer.
  293.  
  294.      quit -- exits the game.
  295.  
  296.      random -- causes the program to randomize its move selection
  297.      slightly.
  298.  
  299.      rcptr -- set recapture mode.
  300.  
  301.      remove -- backout the last level for both sides. Equal to  2
  302.      undo's.
  303.  
  304.      reverse -- causes the board display to  be  reversed.   That
  305.      is,  the  white  pieces  will  now  appear at the top of the
  306.      board.
  307.  
  308.      rv -- reverse board display.
  309.  
  310.      setup -- Compatibility with Unix chess and  the  nchesstool.
  311.      Set  up  a  board position.  Eight lines of eight characters
  312.      are used to setup the board. a8-h8 is the first line.  Black
  313.      pieces are  represented  by  uppercase characters.
  314.  
  315.      stars -- (gnuchessn only) add stars (*) to black pieces.
  316.  
  317.      save -- saves a game to disk.  The program will  prompt  the
  318.      user for a file name.
  319.  
  320.      switch -- causes the  program  to  switch  places  with  the
  321.      opponent and begin searching.
  322.  
  323.      test -- performs some speed tests for MoveList and CaptureL-
  324.      ist  generation,  and ScorePosition position scoring for the
  325.      current board.
  326.  
  327.      time otim -- time set computers time remaining, intended for
  328.      synchronizing  clocks  among  multiple players.  -- otim set
  329.      opponents time remaining, intended for synchronizing  clocks
  330.      among multiple players.
  331.  
  332.      undo -- undoes the last move whether it was  the  computer's
  333.      or  the  human's.  You  may  also  type  "remove".  This  is
  334.      equivalent to two "undo's" (e.g. retract one move  for  each
  335.      side).
  336.  
  337.      white -- causes the computer to take the white  pieces.   If
  338.      the computer is to move first the go command must be given.
  339.  
  340.      xget -- read an xboard position file.
  341.  
  342.      xwndw -- change X window. The window around alpha/beta  used
  343.      to  determine  whether the position should be scored or just
  344.      estimated.
  345.  
  346. BUGS
  347. SEE ALSO
  348.      chesstool(6)
  349.      xboard(6)
  350.  
  351.  
  352.