trusty (6) maxqi.6.gz

Provided by: fairymax_4.8q-2_amd64 bug

NAME

       fairymax - xboard-compatible chess and chess-variant engine 'Fairy-Max'

SYNOPSIS

       fairymax [hashSize] [iniFile]

       shamax [hashSize] [iniFile]

       maxqi [hashSize] [iniFile]

DESCRIPTION

       fairymax is a program that plays chess and chess variants.  It uses the xboard/winboard chess-engine
       protocol to communicate.  Apart from 'regular' chess (also known as the Mad-Queen variant), it can play
       Capablanca chess, gothic chess, knightmate, cylinder chess, berolina chess, superchess, makruk (Thai
       chess), courier chess, Seirawan Chess, Spartan chess and chess with Different Armies.  Fairy-Max can be
       easily configured by the user to play other variants as well, by modifying the ini file.  This ini file
       describes the rules of movement of the participating pieces and the initial board setup.

       Fairy-Max can also play shatranj, but in this case is not aware of the shatranj rule that a bare king
       loses.  So it might play sub-optimally in the late end-game.  A version of Fairy-Max adapted to implement
       the baring rule is available under the name shamax.

       Similarly, a version of Fairy-Max adapted to play Xiang Qi (Chinese Chess) is included in the fairymax
       package as well, under the name maxqi.

       fairymax is a derivative of the world's (once) smallest chess program (source-code wise), micro-Max.  The
       latter measures less that 2000 characters, (about 100 code lines), and has a computer rating of around
       2050 on the CCRL rating list.  Although this is about 1000 rating points behind the world champion,
       micro-Max still makes a quite tough opponent even for club players, although it is not unbeatable.

       The main difference between micro-Max and Fairy-Max is that the latter loads its move-generator tables,
       which specify how the various pieces move, from an external file, so it can be easily adapted to
       incorporate un-orthodox pieces.  For ease of use of the artificial-intelligence, Fairy-Max is equipped
       with I/O routines that allow it to run with the xboard graphical user interface.

       See xboard(6) for instructions about how to use fairymax through xboard. To start up quickly, you just
       need the command: xboard -fcp fairymax.  However, XBoard might not support symbols for every unorthodox
       piece in board sizes different from bulky, middling and petite.  It might thus be advisable to specify a
       board size as well, e.g.  xboard -fcp shamax -boardSize middling -variant shatranj to get correct display
       of the elephant and general pieces in shatranj.  Note that to be able to play the chess variants, you
       will need xboard 4.3.14 or later.

       Some of the variants Fairy-Max plays are only partially supported by XBoard, and can only be played whith
       the legality-testing function of the latter switched off.  (This applies to cylinder chess, berolina
       chess, great shatranj, Spartan chess and chess with different armies.)  For some variants even the name
       is unknown to XBoard, and they are all grouped under the catchall name 'fairy'.  Which variant is played
       by Fairy-Max when XBoard is set to 'fairy', can be determined by a combobox control in the XBoard 'Engine
       Settings' menu dialog.

       Fairymax supports multi-PV mode: by specifying a non-zero multi-PV margin in the Engine-Settings dialog
       of XBoard, Fairy-Max will not only print the principal variation for the best move, but also for every
       move that approaches the score of this best move to within the set margin.  (If it does not find the best
       move on the first try, this might lead to printing of a few extra lines below the threshold.)

       The fmax.ini file from which Fairy-Max by default takes the piece and game definitions is a self-
       documenting text file, which contains instructions for how to define new pieces and chess variants.  In
       addition it contains an extensive list of pre-defined pieces, incuding many not occurring in any of the
       pre-defined variants, which the user can draw on to define his own variants.

       Amongst the move types supported by Fairy-Max are normal leaper and slider moves, (e.g. knight and rook),
       divergent moves (i.e. capture and non-capture moves can be different) hoppers (which jump over other
       pieces, such as the Chinese cannon or the grasshopper), lame leapers (the move of which can be blocked on
       squares they cannot move to, such as the Chinese horse and elephant), and any combination thereof, in
       every possible direction.  The board width is configurable upto a width of 14 squares, and cylindrical
       boards (where left and right edge connect) are supported as well.

OPTIONS

       hashSize
               If the first argument to fairymax is numeric, it is taken as an indicator for the amount of
               memory Fairy-Max is allowed to use for its internal hash table.  The default value for this
               argument, 22, would result in a memory usage of 48MB.  Each next-higher number doubles the memory
               usage, each next-lower halves it.  Running with less than 6MB (i.e. argument 19) is not
               recommended.  When fairymax is running under xboard 4.3.15 the hash-table size can be set through
               the xboard menus, making this argument superfluous.

       iniFile A second or non-numeric first argument is taken as a filename.  Fairy-max will use the mentioned
               file in stead of its default fmax.ini file to define the movement of pieces and initial setup of
               the variants.  This makes it easier to define your own variants.

SEE ALSO

       xboard(6)

       http://www.chessvariants.org/index/msdisplay.php?itemid=MSfairy-max

       http://home.hccnet.nl/h.g.muller/max-src2.html

       http://www.open-aurec.com/wbforum/viewtopic.php?f=19&t=50387

AUTHOR

       Fairy-Max was written by H.G.Muller <h.g.muller@hccnet.nl>.

       This manual page was generated with pod2man(1).