Introduction
Introduction to GNU Backgammon
GNU Backgammon (gnubg) plays and analyses backgammon games and matches.
It is currently a work-in-progress. So far it is able to play both independent games and tournament matches, evaluate and roll out positions, tune its own evaluation functions using either TD or supervised training, maintain databases of positions for training and other purposes, and more. See the following section for a more complete list.
It is driven by a command-line interface, and displays an ASCII rendition of a board on text-only terminals, but also allows the user to play games and manipulate positions with a GTK+ board window (png 117k) where available. It is extensible on platforms which support Guile and/or Python.
It currently plays at about the level of a championship flight tournament player (depending on its parameters and its luck in recent games, it rates at around 2000 on FIBS, the First Internet Backgammon Server – at its best, it is in the top 5 of over 6000 rated players there) and is gradually improving; it should be somewhat stronger than this when released. GNU Backgammon can be played at numerous other online backgammon servers.
Features in GNU Backgammon
The following features can be found in the current prerelease 0.90.0 of GNU Backgammon. Note that some of the features are experimental and/or in progress:
- 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 GNU Backgammon.
- Support for either a GTK+ interface with a graphical board window, or a rough ASCII representation of a board on text terminals. For the GTK+ interface both 2D and 3D graphics are available. A number of pre-defined board designs are supplied or the user may customize their own design.
- Functions to generate legal moves and evaluate positions at varying search depths.
- Neural net functions for giving cubeless evaluations of all other contact and race positions.
- 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.
- 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 Python is available.
- Automatic and manual annotation (analysis and commentary) of games and matches.
- Record keeping of statistics of players in games and matches using relational databases (SQLite, MySQL, or PostgreSQL) and Python.
- Native language support; 10 languages complete or in progress: (cs_CZ, da_DK, en_GB; en_US, fr_FR, de_DE, is_IS, it_IT, ja_JP, and tr_TR)
GPL copying/warranty info
GNU Backgammon is developed under the GNU General Public License (GPL) and it’s part of the GNU project. If you want to know more about GPL and Free Software Foundation you can visit the.