Creating a dataset of chess games

If you want to replay games from a dataset that was created by certain criteria, you will first have to select the games you want to find and replay. There are a few limitations in a dataset: you can’t have more than 1.048.480 games in every dataset (however this number is a trade-off between memory usage and a real volume of set you may want to manage with). After this, no more games will be selected, even if there are more games that satisfy the search options.

Note: There are no limits to the number of datasets that can be created and opened simultaneously. The total number of opened datasets depends on how much RAM is available on your personal computer.


Loading a dataset of chess games

To load a dataset from the dataset archive: choose the Load from the Dataset main menu, or click the toolbar button icon load from dataset.

button keyboard Alternatively: use the keyboard shortcut Ctrl+F8.

load dataset menu

The window named “Dataset Manager” appears on the screen.

dataset manager window

You can select from the dataset(s) previously saved to Dataset Archive. Some information on the current set is brought on the screen: brief annotation, the type of saved position (initial or current), and the number of games in it.

dataset manager window2

Dataset Manager makes it possible to perform some operations with the saved datasets.

Clicking the Load button, pressing the Enter key, or double-clicking the left mouse button into the list of Datasets loads the current set of games into the memory and brings it to the screen.

The buttons 1st Dataset and 2nd Dataset set operands for the subsequent execution of the operations above them. On the execution of these commands, the name of that set, which is highlighted in the list, will appear in a special window to the right of the clicked button.

The buttons Join, Intersect, and Subtract carry out corresponding operations on sets, previously marked by the commands 1st Dataset and 2nd Dataset. If even one of these commands is not executed, then the operation is not carried out on the set.

As a result of the operation Join in the games list window, a set made up of games that were either in the first or second set, is displayed. The same games are not repeated.

As a result of the operation Intersect a set, made up of games that were both in the first and second sets, is formed. Unlike Join, this operation may give no result if there are no games common to both sets.

As a result of the operation Subtract, only those games from the first set that are not in the second will make up the new set. Unlike the previous operations, the order in which the operands are given is important here.

The button Delete physically removes the file with the set from the disk.

The user is invited to confirm his desire to destroy the selected file, after which it will be removed from the disk (provided the Dataset is not active at a moment) and becomes unavailable for further work. If a tree of chess variants was formed on this file, then it will also be destroyed.

There is a special interest for a chess player to choose a key-value-position or a set of games played by a particular player as an object of analysis, and then to analyze variants of further development of events. This opportunity is implemented in the Tree of chess variants option of this software.

bluebook open Chess tree game structure in a dataset of chess games

All games from any Dataset can be presented in a hierarchical tree structure.

You can merge the games from an active dataset and create a tree of variants: by selecting the toolbar button image364, or by choosing Build Chess Tree from the Dataset main menu

chessacademy keyboard Alternatively: use the keyboard shortcut Ctrl+F5.

build chess tree dataset menu


To display a Tree on the active Dataset from Dataset Archive: choose Display Tree from the Dataset main menu.

chessacademy keyboard Alternatively: use the F5 key.

display chess tree dataset menu


The difference between these two mentioned items is that at the first command, the tree will be built from the very beginning, and then shown on the screen. At the second command, the program searches for a recording of the tree on the disk; if this is found, then it is immediately displayed, if not then the program creates a tree and records it on the disk. In this way, a tree on a set, once created, is preserved on the disk in the archive and may be requested at any time, if the corresponding set is loaded and the command Display Tree is executed.

The program shows the moves from the games. Moves in alternative lines are not displayed here.

The tree is built in two stages, each of which is accompanied by the depiction, on the screen, of a special Progress Report window with a scroll bar in which the main parameters of the process are registered.

Building of the tree may be interrupted using the button Break in this window.

Then the window named “Tree Manager” appears on the screen.

tree manager dialog window

On each of its levels, the Tree is presented as a menu list, the items of which are the moves from the position, indicated on the board, which the program had found while building the tree. The first and the only element of the uppermost level is presented in the menu with the word “Root”. Items (moves) of one level are located in the menu in descending order of their usage frequency.

To the right of the menu list, there is a chart indicating the frequency and effectiveness of the highlighted move. The last column of the chart shows the frequency of usage of this move among other moves of the current tree level, the other three – effectiveness of the move. The first column presents the number of White wins, second – losses, and third – draws. The absolute values of the number of wins, losses, and draws and the total number of games in which this move occurred are presented under the chart. Above the chart, the percentage of the same parameters is presented.

tree manager dialog window2

The button icon display next move moves to the next level of the tree, i.e. one move forward.

The button button next node is used for the move to the next node of the tree, i.e. to advance to the point where new branches are formed. Its difference from the previous command is such, that some levels (in particular those without alternatives) will be missed during demonstration. If the nodes are not noticed (i.e., one game was developing itself in this way) all of it will be played till the end.

The button icon display previous move returns to the previous level of the tree, i.e. to the previous menu list. At the same time the last move is removed from the recording window and the previous position is restored on the board.

The button button previous node returns to the previous node of the tree. Unlike the previous command, some levels will be missed during the demonstration.

The button button uppermost node returns to the uppermost level of the tree – to its “root”. The board represents the position, from which the tree was built.

chessacademy keyboard Alternatively: press the Alt+Home keyboard shortcut.

You can step back to any previous tree level by simply clicking the desired move in the notation list box with the mouse.

The button Copy position copies the current position and moves turn from the chessboard to the clipboard.

The button List displays the list of games corresponding to the current tree level on the screen.

The button Print moves games corresponding to the current level to the print layout in a special treelike form.

The button Cancel deletes the “Tree Manager” window from the screen.

Without the opening book, the computer will not play very strong because the program of course can not compensate for a huge human knowledge based on decades of experience and top analysis of key opening positions with a few seconds or minutes of computing by the engine. On the contrary, with the opening book, the program will move instantly when it can find a book move and will not waste a lot of time in such a case.

Chess Academy contains two large opening books: a special Gambit Book (appr. 2.255.000 opening positions) to improve your skill in playing gambits, and a powerful Champion Book (appr. 9.500.000 opening positions). Use the Chess Academy Champion Book to achieve the best results playing with the Chess Academy Engine. Chess Academy does not account for moves from games with bad statistics to avoid typical mistakes.

However, there is also a chance to build a new opening book which will include your own game’s collection or the latest game’s update for example.

To do so:

Perform a search and build a dataset on the desired criteria (French defense or games played with Dr. A. Alekhine e.g.); save the resulting dataset if necessary. Alternatively: load the necessary dataset from the archive;


build a tree on the dataset;

from the Dataset menu, choose the Create Opening Book… command, and therefore skip tree building.

create opening book dataset menu


If a tree is already built, you can create an Opening Book too.

From the File menu, choose the Create Opening Book… command

create opening book tree manager

The program displays a file selector window to select the file name for the output book, .OBB extension is automatically appended to the file name of the book, and .OBX extension – to it’s index file. By default all books and their indices are located in /BIN/BOOKS subfolder.

Select the proper file name and location and press Save button in the window, or double click selected filename.

button keyboard Alternatively: press Enter key.

On this command the program starts to build the book based on the current tree. This is accompanied by the depiction, on the screen, of a special Progress Report window with a scroll bar. Building of the book may be interrupted using the button Break in this window.

This program option produces a set of statistics for the games from the active Dataset. The program calculates the scoring by different criteria, such as Whites, Blacks, Opening Index, Source, and Moves.


Displaying Statistics Manager window

To display Statistics: select the toolbar button icon statistics, or choose Statistics from the Dataset menu.

button keyboard Alternatively: use the keyboard shortcut Shift+F5.

statistics dataset menu

Statistics calculation is accompanied by the depiction, on the screen, of a special Progress Report window with a scroll bar, in which some parameters of the process are registered. Calculation may be interrupted using the button Break in this window.

After completing the calculation on the right side of the screen the window named “Statistics Manager” appears, along with statistical data, and a set of screen buttons.

statistics manager window

Example: Kasparov (White) vs. different players. Sorted by Rate in descending order. Here you can see statistics against Karpov.


In the middle part of the statistics window, there is a set of buttons named exactly as the elements of the header of a game. Each line presents the number of variants for the current position of the header. Statistics for the “Opening” line are not presented. To calculate all results for a certain player no matter the color of the pieces, select the Ignore Colors button.

The results of the games are presented on the color chart on the right side of the window. The first three columns of the chart present the number of wins, losses, and draws, and the last one – the total number of games.

Statistics may be determined by clicking the necessary button with the element of the header in the statistics window. In the left part of the screen, the reference menu appears, presenting the list of those variants on each element of the header, which were found by the program during the statistics calculation.

statistics manager window2

Example: Kasparov (White) vs. different players. Sorted by Rate in descending order. Here you can see statistics by Place.


statistics manager window3

Example: Kasparov (White) vs. different players. Sorted by Success in ascending order. Here you can see statistics by Opening index.


“Sort by…” and “Sort order” commands

Reference elements are presented by default in ascending alphabetical order. However, you can easily switch on the descending order using the corresponding button from the Sort order group, and vice versa.

The buttons in the Sort by… group sort out the list of header elements in alphabetical order (Alphabet), in the order of their occurrence in the active set (Rate), or in the order of the number of wins concerning the total number of games (Success).

If you have chosen either the occurrence or success option, sorting might last for a few seconds in the case of a very large set.

Note: This option shows a list of the player’s most frequently used opening indices, for example. The scores of each opening can tell you something about the weak spots of the player’s repertoire.


How to find games attached to any criteria you selected

By clicking the List button you can see a list of all games in the active dataset attached to the appropriate criteria.

The idea of Dataset provides an opportunity to create and save a lot of game’s lists on quite different criteria but within single Database.

Since both database and dataset lists look and function similarly, such approach makes an illusion “a lot of bases in single one”. However the volume of Databases increases and the set’s volume as well. In case of large enough Dataset (suppose 300.000 in Database of 2.000.000 games) or in case of insufficient memory installed in your system the search time for Dataset may be almost the same as for the whole Database. On the other side, one could select only these 300.000 games from 2.000.000 total; the rest are simply useless.

So it may be necessary sometimes to form a new base from the current one. Form a Dataset on necessary search, sort or other criteria. This may be either temporary or archive set.

For further details, see Sorting a games list, Searching in a games list and Save Dataset chapters.

Choose Import Games > Create Database from Dataset… command from File menu or click toolbar button.

Notice that you can call up the option only from active Dataset list, but neither from Database list nor Game window.

Next file selector window appears to set a destination folder name for a new base.

Then program starts to create the base. This is accompanied by the depiction, on the screen, of a special Progress Report window with a scroll bar.

The process may be interrupted using the button Break in this window.

In case of success a new database of “Converted” type will be created and registered.

Notice that since Database occupies much more disk space then Dataset of the same volume it is not recommended to create databases from less then 64.000 games. This makes no time advantage but only wastes disk space. On the other hand, since you can not create a set from more than 1.048.480 games this is the top limit of Database volume of such type.