Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
FAIRYMAX(6)	      User Contributed Perl Documentation	   FAIRYMAX(6)

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, janus chess, knightmate,	cylinder
       chess, berolina chess, superchess, makruk (Thai chess, and also some of
       its variants, Cambodian chess (Ouk), asean chess	and ai-wok), courier
       chess, Seirawan chess, Spartan chess, falcon chess, great shatranj,
       team-mate chess,	charge of the light brigade, king of the hill,
       bifurcator chess, Los-Alamos chess, Mexican chess, Ciccolini's chess,
       grande acedrex, wildebeest chess	(almost), shuffle chess	without
       castling	and chess with different armies	(all combinations of the FIDE,
       Clobberers, Nutters and Rookies 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 (and	the rule that stalemate	is a win) is available under
       the name	shamax.	 Grande	Acedrex	and Courier Chess might	also have had
       a baring	rule, so you may want to play these with shamax	instead	of
       fairymax	too.

       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, but 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.  Note that to be able to play the chess variants, it is
       recommended to use the latest XBoard version, as	some of	the recently
       added variants will use features	not supported by older XBoard
       versions.

       Fairy-Max 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.)
       Fairy-Max now also supports analysis mode, and exclusion	of moves from
       the analysis.

       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), limited-range sliders (upto range
       5), and any combination thereof,	in every possible direction.  The
       board width is configurable upto	a width	of 14 files, and cylindrical
       boards (where left and right edge connect) are supported	as well.  The
       board height can	be configured up to 16 ranks.

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
	       or later	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.

       INTERACTIVE OPTIONS
	       Fairy-Max also supports some options that can only be set
	       interactively, though XBoard's engine settings menu dialog.
	       These are listed	below:

       Resign Threshold
       Resign  If the Resign option is on, Fairy-Max will resign when its
	       score in	centiPawns drops below the negated value of Resign
	       Threshold.

       Claim draw after
	       The value of this option	determines how many full moves must
	       elapse after a capture or pawn push before Fairy-Max will claim
	       a draw.

       Multi-PV	Margin
	       Moves that ly closer in score to	the best move than the value
	       of this option (interpreted as centi-Pawn) will be emitted as
	       alternative variations in Fairy-Max' thinking output.

       Ini File
	       This option sets	the name of the	file Fairy-Max uses to
	       retrieve	the game definition from, each time you	start a	new
	       game.

       Variant fairy selects
	       Combobox	to select what variant Fairy-Max will actually play
	       when variant 'fairy' is selected.  Variants defined with	names
	       fairy/... in the	ini file will appear as	choices.  The
	       introduction of engine-defined variants in XBoard protocol has
	       made this option	obsolete, but Fairy-Max	still uses it for
	       selecting the different flavors of chess	with different armies.
	       This setting takes effect when a	new game in variant fairy is
	       started.

       Makruk rules
	       Obsolete	option,	which selects whether makruk will be played
	       with Cambodian rules (allowing extra initial moves of King and
	       Met), or	with the Ai-Wok	super piece replacing the Met.	With
	       recent XBoard version these games would be directly available
	       from XBoard's New Variant menu as engine-defined	variant.

       Clear Hash
	       Pressing	this button will clear Fairy-Max' hash table, so that
	       it does not have	any memory of what it calculated earlier.

       Info    Pressing	this button pops up a short description	of the current
	       variant.

       Save in hash file
	       Pressing	this button when Fairy-Max is in analysis mode adds
	       the current position to the persistent-hash file	for the
	       current variant,	with the latest	score reported by the engine.
	       Positions in this file are loaded before	any game in Fairy-Max'
	       hash table, protected from overwrite during the game, to	define
	       the score Fairy-Max should give to the position at any search
	       depth.

       Automatic persistent-hash dialog
	       Switching on this option	will cause a dialog to pop up in any
	       new position you	reach during analysis mode, asking you whether
	       the position should be saved in the persistent-hash file	for
	       the current variant.  Pressing OK will save the position	with
	       the latest score	from the analysis, while typing	a number will
	       assign that number of centi-Pawn	to the position	instead.

FILES
       fmax.ini
	   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.  Next to the definitions of all variants Fairy-Max	can
	   play, it contains an	extensive list of pre-defined pieces, incuding
	   many	not occurring in any of	the pre-defined	variants.  The user
	   can draw on these to	define his own variants.

       Persistent hash
	   Some	of the interactive options can be used to store	the current
	   position in a file bearing the name of the variant being played,
	   with	the extension .hash added to it, during	analysis.  Positions
	   in that file	will be	loaded into Fairy-Max' hash table before every
	   game, protected from	overwrite.  This can be	used to	create an
	   opening or end-game book for	the variant.  This can for instance be
	   used	to discourage opening lines the	engine overrates.  The file
	   will	be created in the current directory, but at the	start of a
	   game	both this file and a similar one in Fairy-Max' private data
	   files will be loaded.  The install does contain such	a persistent
	   hash	file for makruk, to help Fairy-Max find	the checkmate in the
	   difficult corners of	the KMMMK and KNMMK (with like M) end-games.

AVAILABILITY
       At http://hgm.nubati.net/cgi-bin/gitweb.cgi the source code can be
       obtained.

SEE ALSO
       xboard(6)

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

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

       XBoard: http://hgm.nubati.net

STANDARDS
       WinBoard, xboard(6) interface ("Chess Engine Communication Protocol")

AUTHOR
       H.G.Muller <h.g.muller@hccnet.nl>.

       This manual page	was generated with pod2man(1).

perl v5.42.0			  2016-03-16			   FAIRYMAX(6)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=fairymax&sektion=6&manpath=FreeBSD+Ports+15.0.quarterly>

home | help