These should be put in the [Adapter] section.
Log ¶Default: false
Whether the adapter should log all transactions with the interface and the engine. This should be necessary only to locate problems.
LogFile ¶Default: adapter.log
The name of the log file. Note that it is put where the program was launched from, not into the engine directory.
WARNING: Log files are not cleared between sessions, and can become very large. It is safe to remove them though.
Resign ¶Default: false
Set this to "true" if you want the adapter to resign on behalf of the engine.
NOTE: Some engines display buggy scores from time to time although the best move is correct. Use this option only if you know what you are doing (e.g. you always check the final position of games).
ResignMoves ¶Default: 3
Number of consecutive moves with "resign" score (see below) before the adapter resigns for the engine. Positions with only one legal move are ignored.
ResignScore ¶Default: 600
This is the score in centipawns that will trigger resign "counting".
ShowPonder ¶Default: true
Show search information during engine pondering. Turning this off might be better for interactive use in some interfaces.
KibitzMove ¶Default: false
Whether to kibitz when playing a move.
KibitzPV ¶Default: false
Whether to kibitz when the PV is changed (new iteration or new best move).
KibitzCommand ¶Default: tellall
xboard command to use for kibitzing, normally "tellall" for kibitzing or "tellothers" for whispering.
KibitzDelay ¶Default: 5
How many seconds to wait before starting kibitzing. This has an affect only if "KibitzPV" is selected, move kibitzes are always sent regardless of the delay.
Book ¶Default: false
Indicates whether the adapter should use a book. This has no effect
on the engine own book (which can be controlled with the UCI option
OwnBook in the [Engine] section). In particular, it is possible to
use both a PolyGlot book and an engine book. In that case, the engine
book will be used whenever PolyGlot is out of book. Remember that
PolyGlot is unaware of whether the engine is itself using a book or
not.
BookFile ¶Default: $pkgdatadir/smallbook.bin
The path to the (binary) book file. $pkgdatadir is set by ./configure, default to something like /usr/local/share/gnuchess/ if the user does not specify a value.
Note that there is no option to control book usage. All parameters are fixed when compiling a PGN file into a binary book (see below). This is purposeful and is not likely to change.
Using a book does not require any additional memory, this can be important for memory-limited tournaments.
These are UCI options for the [Engine] section:
NullMove Pruning ¶(Always/Fail High/Never)
Default: Fail High
"Always" actually means the usual conditions (not in check, etc ...). "Fail High" adds the condition that the static evaluation fails high. Never use "Never" (ever)! OK you can use "Never" to test a Zugzwang problem.
I expect that this option has little effect (assuming the first two choices only). It was only added because most engines do not use the fail-high condition.
NullMove Reduction ¶(1-3 plies)
Default: 3
3 is rather aggressive, especially in the endgame. It seems better than always using 2 though.
Verification Search ¶(Always/Endgame/Never)
Default: Endgame
This tries to solve some Zugzwang-related problems. It is expected to hardly have any effect in games. The default value should be sufficient for most-common Zugzwang situations.
Verification Reduction ¶(1-6 plies)
Default: 5
5 guarantees that the cost of verification search is negligible in most cases. Of course it means Zugzwang problems need a lot of depth to get solved, if ever! With such a reduction, verification search is similar to Vincent Diepeveen’s "double null move".
History Pruning ¶(true/false)
Default: true
A bit dodgy, but fun to experiment with. It should help in blitz, but it’s possible it actually hurts play in longer games.
History Threshold ¶(percentage)
Default: 60%
This is the thing, as it affects the search tree! Lower values are safer, and higher values more aggressive. THIS VALUE HAS NOT BEEN TUNED! There is a good chance Fruit’s strength can be improved by changing this option.
Futility Pruning ¶(true/false)
Default: false
Very common but controversial. Makes the engine a tiny bit better at tactics but slightly weaker positionally. It might be beneficial by a very small amount, but has not been tested in conjunction with history pruning yet.
Futility Margin ¶(centipawns)
Default: 100
This value is somewhat aggressive. It could lead to problems in the endgame. Larger values prune less but will lead to fewer positional errors.
Delta Pruning ¶(true/false)
Default: false
Similar to futility pruning. Probably safer because it is used mainly during the middlegame. Has not been tested with history pruning either.
Delta Margin ¶(centipawns)
Default: 50
Same behaviour as futility margin. This one is probably safe.
Quiescence Check Plies ¶(0-2 plies)
Default: 1
Fruit tries safe (SEE >= 0) checks at the first plies of the quiescence search. 0 means no checks at all (as in most older engines). 1 is the same as previous versions of Fruit. 2 is probably not worth the extra cost. It could be interesting when solving mate problems though.
Evaluation options ¶(percentage)
Default: 100%
These options are evaluation-feature multipliers. You can modify Fruit’s playing style to an extent or make Fruit weaker for instance by setting "Material" to a low value.
"Material" is obvious. It also includes the bishop-pair bonus. "Piece Activity": piece placement and mobility. "King Safety": mixed features related to the king during early phases "Pawn Structure": all pawn-only features (not passed pawns). "Passed Pawns": ... can you guess?
The following options were used in PolyGlot v1.4, but are deprecated in GNU Chess:
EngineName ¶Default: GNU Chess
This is the name that will appear in the xboard interface. It is cosmetic only. You can use different names for tweaked versions of the same engine.
If no "Engine Name" is given, the UCI name will be used.
EngineDir ¶Default: .
Full path of the directory where the engine is installed. You can use "." (without the quotes) if you know that PolyGlot will be launched in the engine directory or the engine is in the "path" and does not need any data file.
EngineCommand ¶Put here the name of the engine executable file. You can also add command-line arguments. Path searching is used and the current directory will be "EngineDir".
NOTE: Unix users are recommended to prepend "./"; this is required on some secure systems.