GNU Backgammon 0.14.1
=====================

This is a pre-release version of GNU Backgammon (gnubg), a backgammon
player and analysis tool.  Please send comments and suggestions to
<bug-gnubg@gnu.org>.

Look for news and upcoming releases of GNU Backgammon at:
    http://www.gnu.org/software/gnubg/gnubg.html

For instructions on how to build gnubg, please read the file `INSTALL'
and the other sections in this file; for other information, please see
the GNU Backgammon manual in the `doc' directory.

There is also an tutorial written by Albert Silver available at 
    http://www.bkgm.com/gnu/AllAboutGNU.html

The tutorial is also available in Italian
    http://members.xoom.virgilio.it/free_bgammon/allaboutgnu.htm

Current features:
-----------------

 - Support for both 1-sided and 2-sided bearoff databases: 1-sided
   bearoff database for 15 chequers on the first 6 points and optional
   2-sided database kept in memory.  Optional larger 1-sided and 2-sided
   databases stored on disk. 
 - Neural net functions for giving cubeless evaluations of all other
   contact and race positions.
 - Functions to generate legal moves and evaluate positions at varying
   search depths.
 - Tournament match and money session cube handling.
 - A command line interface (with full command editing features if GNU
   readline is available) that lets you play matches and sessions against
   gnubg.
 - Support for either a GTK+ interface with a graphical board window, or
   a rough ASCII representation of a board on text terminals.
 - Automated rollouts of positions, with lookahead and race variance
   reduction where appropriate. Rollouts may also be extended.
 - Both TD(0) and supervised training of neural net weights.
 - Position databases for supervised training (if GNU dbm is available).
 - Loading and saving .sgf games and matches (.sgf files are in the
   Smart Game Format).
 - Exporting games and matches to HTML, LaTeX, .mat, PDF, PNG, PostScript 
   and plain text formats.
 - Importing .bkg, .mat, .pos, .sgg, .tmg and FIBS "oldmoves" files.
 - Scripting ability (if GNU Guile or Python is available).
 - Automatic and manual annotation (analysis and commentary) of games and
   matches.
 - Record keeping of statistics of players in games and matches (both native
   inside gnubg and externally using relational databases and Python).
 - Native language support; 10 languages (complete or in progress). See
   table for status of your language:

                  Completed in 0.14.1
   Czech (cs_CZ)      100%
   Danish (da_DK)     >10%
   English (en_GB)    100%
   English (en_US)    100%
   French (fr_FR)     >50%
   German (de_DE)     >90%
   Icelandic (is_IS)  >25%
   Italian (it_IT)    >90%
   Japanese (ja_JP)   >50%
   Turkish (tr_TR)    >25%
   
   If you would like to add a translation from English to 
   another language or contribute to one of the current translations, 
   please contact <bug-gnubg@gnu.org>.

Bearoff databases:
------------------

  GNU Backgammon is designed to work with files containing databases
of endgame positions, to evaluate moves and cube decisions during the
bearoff.  These files may be several megabytes large, and are
generally slow to generate, so they are not included in the
distribution.

If you wish to override the configuration for the one-sided 15 chequer,
6 point database, you have several choices:

  1) Do not generate any database at compile time.  In this case, a
     heuristic database will be used at runtime.  For this behaviour,
     you should specify "--disable-bearoff" to "./configure" (see
     the INSTALL file for more information about configuration options).

  2) Generate a database in a file which can be mapped or read into memory
     at runtime.  This option is the default if the mmap() system call is
     available on your system, and can be selected with the
     "--enable-bearoff=external" configure option.

  3) Statically link the database directly into the GNU Backgammon
     executable.  This option is the default if the mmap() system call is
     not available on your system, and can be selected with the
     "--enable-bearoff=static" configure option.

The "make" process will warn you if do not have "gnubg_ts0.bd", which is the
2-sided database that is read into memory when GNU Backgammon starts.
If you see this warning, you have three options:

  1) Ignore the database file.  You can run gnubg without the 2-sided
     database.

  2) Generate the file yourself.  You can do this with the command
     "make bearoff-database".  This procedure might take half an hour
     or more, depending on the speed of your computer.

  3) Obtain a copy of the database from the Internet.  It is available
     by FTP from:

        ftp://alpha.gnu.org/gnu/gnubg/gnubg_ts0.bd.gz

     Make sure you decompress the file (with gunzip) once you have
     retrieved it, and move it to the directory containing this README
     file.

You may also generate larger 1-sided and 2-sided bearoff databases that are
stored on disk and not read into memory. If present, GNU Backgammon will
read a 2-sided bearoff databases from the file "gnubg_ts.bd". You can 
generate such a 2-sided database with "makebearoff", for example, up to 
8 chequers on 6 points:

   makebearoff -t 6x8 -f gnubg_ts.bd

Note that this database is 72 megabytes and may take up to several hours to
generate (depending on the speed of your computer). 

Also, if present GNU Backgammon will use a 1-sided database from the file
"gnubg_os.bd". You can generate a one-sided databases with 15 chequers on
10 points with

   makebearoff -o 10 -f gnubg_os.bd

Note that this database is 118 megabtes and may take up to several hours
to generate (depending on the speed of your computer).

Larger bearoff databases are available for download at
<URL:ftp://ftp.demon.nl/pub/games/gnubg/databases/>.


The files `gnubg.weights' and `gnubg.wd':
-----------------------------------------

  The weights for gnubg's neural nets are stored in the files
`gnubg.weights' and `gnubg.wd'.  `gnubg.weights' is in ASCII format,
while `gnubg.wd' is a binary file.  However, both contain the same
information; you only need one of the two.  The advantage of
`gnubg.weights' is that it is platform independent; the advantage of
`gnubg.wd' is that it is somewhat smaller and much faster to load.
The build procedure will automatically generate `gnubg.wd' from
`gnubg.weights', if you have it.

  Although it is possible to run GNU Backgammon without a neural net
weight file at all (it will generate random weights), we recommend
that you obtain pre-trained weights; a file compatible with this
pre-release is available at:

        ftp://alpha.gnu.org/gnu/gnubg/gnubg.weights-0.14.gz

Make sure you decompress the file (with gunzip) and rename it to
`gnubg.weights' in the same directory as this README file.


Thanks for trying GNU Backgammon!
