.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .\".IX Title "FMAX.6 1" .TH FMAX.6 6 "2009-06-05" .SH "NAME" fairymax \- xboard\-compatible chess and chess\-variant engine 'Fairy\-Max' .SH "SYNOPSIS" .\".IX Header "SYNOPSIS" \&\fBfairymax\fR [hashSize] [iniFile] .PP \&\fBshamax\fR [hashSize] [iniFile] .PP \&\fBmaxqi\fR [hashSize] [iniFile] .SH "DESCRIPTION" .\".IX Header "DESCRIPTION" \&\fBfairymax\fR 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 and courier chess. 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. .PP 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 \fBshamax\fR. .PP Similarly, a version of Fairy-Max adapted to play Xiang Qi (Chinese Chess) is included in the fmax package as well. .PP \&\fBfairymax\fR 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 \s-1CCRL\s0 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. .PP 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. .PP See \fIxboard\fR\|(6) for instructions about how to use \fBfairymax\fR through xboard. To start up quickly, you just need the command: \fBxboard \-fcp fairymax\fR. However, XBoard might not support symbols for every unorthodox piece in board sizes different from \fBbulky\fR, \fBmiddling\fR and \fBpetite\fR. It might thius be adviasable to specify a board size as well, e.g. \&\fBxboard \-fcp shamax \-boardSize middling \-variant shatranj\fR 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. .PP 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. .PP 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. .SH "OPTIONS" .\".IX Header "OPTIONS" .IP "\fBhashSize\fR" 8 .\".IX Item "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. .IP "\fBiniFile\fR" 8 .\".IX Item "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. .SH "SEE ALSO" .\".IX Header "SEE ALSO" \&\fIxboard\fR\|(6) .PP http://www.chessvariants.org/index/msdisplay.php?itemid=MSfairy\-max .PP http://home.hccnet.nl/h.g.muller/max\-src2.html .PP http://www.open\-aurec.com/wbforum/viewtopic.php?t=49439 .SH "AUTHOR" .\".IX Header "AUTHOR" \&\fBFairy-Max\fR was written by H.G.Muller . .PP This manual page was generated with \fIpod2man\fR\|(1).