Gothmog is a chess playing engine for Mac OS X, Linux and Windows.
It does not have its own GUI, but should run in any GUI which
supports the UCI or xboard protocols.  If you have a choice, it is
probably more convenient to use the engine in UCI mode.


Installation instructions

After unpacking, you should have the following files:

* gothmog (or gothmog.exe if you have downloaded the Windows version
  of Gothmog) is the executable itself.

* gothmog-frc.exe (Windows only) plays the chess variant known as
  "Fischer Random Chess".  This program is highly experimental and
  almost completely untested.  Feedback by e-mail
  (romstad@aload.uio.no) is very welcome.  This executable should
  NOT be used for classical chess.  It does not support opening books,
  it is slower than gothmog.exe, and the development eval is not very
  well suited for normal chess.  The FRC version of Gothmog currently
  works only in UCI mode.  

* gothmog.ini is an initialization file where users who run Gothmog
  in xboard/Winboard mode can modify various engine parameters.  

* cygwin1.dll (only included in the Windows version).  I am not sure
  what this file does, but you will need it to run the Windows
  version.  It should be copied to the directory c:\windows\system32\
  on your hard disk.

* tbook.pgn, an example input file for creating tournament opening
  books. 

* tbook.bin, a small tournament opening book built from the tbook.pgn
  file.  This file should be used together with the big book.bin file
  (which is a separate download).

* Readme.txt, the file you are reading.

Installation is simple.  You should simply copy the files gothmog (or
gothmog.exe) and gothmog.ini to the same directory on your hard disk
drive.  This directory can be located anywhere.  If you have
downloaded an opening book file, the file book.bin should also be
copied to the same directory.

Read the documentation for your favorite GUI for instructions about
how to install new chess engines there.


Engine parameters

There are a few engine parameters you can configure.  If you use
Gothmog in UCI mode, you should be able to modify the engine options
from your GUI.  If you use Gothmog in xboard/Winboard mode, you will
have to modify the file gothmog.ini (it is advisable to make a backup
copy of this file first).  The options are:

* Display of score.  If "white-score" is "yes", the engine will
  display all scores from white's point of view.  Otherwise, all
  scores will be displayed from the engine's point of view.

* Short algebraic notation.  If "san" is "yes", the engine will use
  short algebraic notation instead of coordinate notation.  E.g. it
  will print Nf3 instead of g1f3 when displaying its main line in
  xboard.

* Piece letters.  If, for instance, you want the moves to be displayed
  in German notation rather than the default English, you may replace
  "PNBRQK" with "BSLTDK". 

* Hash table size.  A hash table is a big chunk of memory where the
  program stores the positions it has examined together with its
  evaluation of the position and various other information.  If the
  program encounters the same position more than once in it search
  tree while analyzing a position, it retrieves all the relevant
  information from the hash table instead of computing everything
  again.  This greatly speeds up the program, particulary in the
  endgame.  The possible hash table sizes are 3MB, 6MB, 12MB, 24MB,
  48MB, 96MB and 192MB.  Gothmog profits more from big hash tables
  than most other programs.  On fast machines, I recommend using
  24MB or 48MB for blitz games, and as much as possible for slow
  games.

* Style of play.  You can choose between "normal", "active" (the
  default), "aggressive" and "suicidal".  The "normal" and "active"
  settings are recommended for strongest play.

* Checks in qsearch.  After the full-width part of its search,
  Gothmog (like most other chess programs) searches sequences of
  captures to a much bigger depth.  If checks in qsearch are enabled,
  it will analyze promising-looking checks as well as captures.  This
  makes the program somewhat better at tactics.

* Nullmove reduction factor.  The default value of 3 seems to be
  optimal on fast computers, but it is possible that 2 performs
  better on old hardware.

* Selectivity.  Rather than searching all moves to the same depth,
  Gothmog tries to seek interesting sequences of moves more deeply,
  and to avoid spending too much time on moves which do not look
  promising.  By modifying the "selectivity" parameter, you can
  control the degree of selectivity in the search.  Higher values will
  give a faster, but sometimes less reliable search.  I am not really
  sure the default setting is the best.


Tablebases

Gothmog now supports Nalimov endgame tablebases.  In order to use
them, you must specify the location of the tablebases on your hard
disk in the gothmog.ini file.  Unfortunately, it is not possible (yet)
to configure the tablebase location through the UCI interface; even if
you use Gothmog in UCI mode you must set the tablebase location in the
init file.


Tournament books

In addition to the default wide opening book, Gothmog 0.4.1 and later
support a narrow tournament book containing hand-picked lines.  For
information about this feature, have a look at the self-documenting
example file tbook.pgn. 


Feedback

Bug reports, games, comments, benchmark results, and requests for 
improvements or new features are always welcome.  My e-mail address
is romstad@math.uio.no.

