Working with chess engines



Example analysis

Chess PGN Master lets you use UCI compatible chess engines to analyse chess positions. Blue arrows show the moves on the board the engine would play in the analyzed position. Detailed engine analysis is displayed in the analysis output display.

Engine output

analysis detail

Example analysis detail

There are two numbers in the engine output. The numbers in the example above have the following meaning:

  • +0.0 is the numerical evaluation. It’s measurement is down to a 1/100th of a pawn. The value zero means that the position is equal. A value of +1.0 would mean that White is better by the equivalent of one pawn. A negative number would mean an advantage for Black.

  • d20 is the depth in number of half-moves the engine was calculating. In this case 20 half-moves or 10 moves deep.

Two lines were analyzed in the example analysis:

  1. …Ne4 as the best move and

  2. …a6 as the second best move

In this case the engine believes that the position would be equal after 31…Ne4. On the other hand after 31…a6 the position would be the equivalent of 1.5 pawns in favor of White, also meaning a decent error from Blacks side if Black would play it.

You can add the analysed lines to the game in order to see what the engine thinks what the continuation would be assuming best play from both sides. Use the plus button from the Board buttons when analysing the game to add the engine output.

Change number of lines to analyze

You can change the number of evaluations the engine calculates directly in the output: when you long press on the text of the engine output two buttons appear to increase or decrease the number of evaluation lines.

buttons to change number of lines

Change number of lines

Graphical evaluation display

The graphical evaluation display shows the evaluation on a bar. To the left of the bar the evaluation is -4.0, in the middle (orange line) the evaluation is 0.0, to the right of the bar it’s +4.0.

The following example shows an evaluation of roughly +1.5:

graphical evaluation display

White is better

In this example the evaluation is around -3, and Black has a decisive advantage:

graphical evaluation display

Black has a decisive advantage.

As you can see from the examples the larger the bar of a color the better the evaluation is for this color.


Pro tip: If you disable the engine output (Show engine output) and also disable the arrows for engine results (Display arrows) you can go through a game using the engine of your choice and as a result you will only see the graphical evaluation. When there are bigger jumps in the evaluation a mistake was made and you can try to find a better move.

Threat analysis

The threat analysis is answering the question: what move(s) would the engine choose if it were the other players turn? It can be enabled using the Threat analysis button (see Board buttons when analysing the game) or by selecting the action item if the board buttons are not visible. To disable it just choose the same button/action again.

The colors of the analysis arrows change from blue to red to indicate the threats the engine is calculating. Also the engine output is displayed in red.

Playing against the engine

Chess PGN Master lets you play against the engine in order to train positions. It is not meant as a chess playing app, rather it lets you e.g.

  • train theoretically won endgame positions

  • try to finish a game where a master has resigned and you’d like to try to continue the game against the engine

Blunder checking games

You can blunder check a game (e.g. your own games from online play) with the currently selected chess engine in order to quickly check for serious errors made during the game.

After selecting Blunder check from the action bar you are presented with the blunder checking options:

blunder checking options

Blunder checking options

The blunder check is done in two passes: the first pass (default setting: 1 second per move) is shorter and it goes through every move in the game to find errors. During the second pass all moves found in the first pass are analyzed again with a longer time control (default setting: 5 seconds) to check for errors represented by threshold 1 (default: 0.9 pawns) and blunders represented by threshold 2 (default: 2 pawns).

The engine then annotates errors with a ? and blunders with a ?? and adds the first few moves of the engine analysis to the game.

In order to get more accurate results you can try to increase the time controls for the first and second pass. You can also try to adjust the thresholds if you think you get too many or too few error and blunder annotations in the game.

Using 3rd party engines

You can add and select 3rd party chess engines in the preferences. Chess engines using the open exchange format (e.g. Komodo) are automatically added to the list once they are installed on your device. You can just select them from the list to use them.

Due to security restrictions imposed by Google, starting with Android 10 it is no longer possible to add engine binaries directly. For older versions of Android, you can still add engine binaries downloaded from the internet:

  • Make sure the downloaded engine is compiled for Android and tested on your Android version.

  • Put the engine in any directory on your device. Make sure the engine is not within a packed archive (e.g. zip file). If it’s a file ending with .zip you need to unpack it first with a file manager.

  • In Chess PGN Master select Add and select the engine in the file selection dialog.

  • The engine should now be in the list of engines. Select the engine and select OK.

Common chess engine options

Chess engine options vary from engine to engine. Here is a list of some important settings:


The maximum amount of memory used for the transposition table The maximum amount of memory in MB used for the hash during search. Set this to a considerably smaller number than the amount of physical memory of your device.


The number of cores used for calculation. For maximum performance set this to the number of real cores your device uses.

Syzygy endgame tablebases


Setting the endgame tablebases does not work for devices running Android 10 and later. A solution to this problem is being worked on.

Available e.g. in Komodo which supports the Syzygy endgame tablebases. You need to download the endgame bases separately and put it on your device. Then set the path to the bases in the UCI options in Chess PGN Master.

See Komodos README.txt for more information.