Next: , Previous: Structure, Up: Configuration file   [Contents][Index]

3.5.2 Options

These should be put in the [Adapter] section.


Default: false

Whether the adapter should log all transactions with the interface and the engine. This should be necessary only to locate problems.


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.


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).


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.


Default: 600

This is the score in centipawns that will trigger resign "counting".


Default: true

Show search information during engine pondering. Turning this off might be better for interactive use in some interfaces.


Default: false

Whether to kibitz when playing a move.


Default: false

Whether to kibitz when the PV is changed (new iteration or new best move).


Default: tellall

xboard command to use for kibitzing, normally "tellall" for kibitzing or "tellothers" for whispering.


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.


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.


Default: book.bin

The name of the (binary) book file. Note that PolyGlot will look for it in the directory it was launched from, not in the engine directory. Of course, full path can be used in which case the current directory does not matter.

If the file is not found in the current directory, it will be looked for in GNUCHESS_PKGDATADIR if the variable is defined, or in the package data directory otherwise.

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


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


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


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


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


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


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


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


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:


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.


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.


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.

Next: , Previous: Structure, Up: Configuration file   [Contents][Index]