A quick tutorial about how to add and use modern and strong chess engines in the ChessGenius 7 graphical user interface (GUI)


This tutorial is based on an article about ChessGenius and ChessGenius Extras by PC Solutions and on a text found in the WinBoard Converter Read Me file.

Contents:

1. Introduction.

The engine is the brain of the chess program or the utility that calculates, evaluates the position, searches and moves the pieces. Chess engines are stand alone applications that may work in a console mode (text based version if implemented) using input commands entered by the keyboard. Every engine can be configured using the command prompt when started or by a configuration file of type *.ini, *.cfg, *.rc or other, depending on the engine specifications found in its documentation if provided. To be more user friendly they need other programs, called graphical user interfaces (GUI) that provide the graphical front end for chess engines. The engines must be connected to these GUIs via some comunnication protocols. There are such protocols and the two most common are WinBoard (a Windows Operationg System version based on the XBoard protocol for Unix/Linux systems) by Tim Mann and the Universal Chess Interface (UCI) protocol by Stefan Meyer-Kahlen, author of the successful Shredder series of chess programs for different hardware platforms (like the Genius series for different handheld devices by Richard Lang) and Rudolf Huber, author of the famous SOS chess engine. Most of the GUIs are able to work with databases and different types of levels (time controls) which makes the engine and the GUI itself a complete graphical and user friendly chess software.

ChessGenius Classic 7 is such an entirely complete chess program which combines all the features of today's modern chess software.

ChessGenius Classic offers a compact, powerful, fast and very lightweight graphical user interface for loading the current top chess engines, playing them or analysing with them chess games. The interface has sophisticated database functions and game/database analysing options. ChessGenius GUI has its own native engine that is the Genius 7 engine - a very strong, fast and powerful chess playing system and a great analysing tool. Actually the GUI is written for the famous Genius engine - 10 times World Computer and/or Microcomputer Chess Champion, 6 of which were consecutive. The only limitation here is that, the Genius 7 Engine works on 32bit platform only. As of today, it does not support 64bit architectures, but the ChessGenius GUI works absolutely fine on 64bit platforms.

Via different adapters and converters ChessGenius GUI can support the two mentioned above communication protocols, allowing it to run WinBoard and UCI chess engines. Both WinBoard and ChessGenius 7 provide an interface for chess engines. Both interfaces are completely different, so there is no direct way for WinBoard engines to run under ChessGenius 7. The Winboard Converter does the job to translate between the WinBoard engine and the ChessGenius 7 I/O (input/output). An *.eng file in the Genius7 folder provides all information for the Winboard Converter to run any WinBoard engine.

If it is a WinBoard (WB1, WB2) compatible engine it should work through wbconv tool only. Wbconv is a WinBoard interface compatible utility to convert a WinBoard engine communication to play under Genius 7 GUI.

If it is a UCI compatible engine it should work through UCI2WB adapter or the PolyGlot (UCI to WinBoard) adapter. To add a UCI engine it is easy to use the PolyGlot UCI to WinBoard adapter that will be connected itself via an *.eng file to the WinBoard Converter as a WinBoard engine and the *.eng file will add the engine in the ChessGenius interface.

There are 2 types of adapters:

UCI to WinBoard adapter such as PolyGlot (originally from Fabien Letouzey, 2004-2006 and then highly appreciated new releases) and UCI2WB (by Roland Pfister).

WinBoard to UCI adapter such as WB2UCI (by Odd Gunnar Malin, for example to use WB engines under the previous versions of ChessBase's Fritz, Shredder, Junior (etc.) GUI which were UCI interface compatible). Some GUIs like Arena, Shredder UCI (etc.) support both (triple, WB1, WB2, UCI) interfaces - UCI and WinBoard communication protocol.


2. Adding WinBoard engines.

The ChessGenius WinBoard Converter consist in two files - the main file WBConv.dll (the converter itself) and its configuration file of type *.eng (engine definition files). Some engines, eg. from ChessBase like Fritz, Junior, Shredder and other freely downloadable from their site are the full engine in it of type "*.eng" or even "*.engine". These are not supported by ChessGenius as for now.

2.1. Configuring the WinBoard Converter.

Configuring the *.eng file takes few easy steps:


1. First create a subfolder optionally with the name of the engine in the "\Genius7\ENGINES" folder. Usually after installing ChessGenius in Windows its installation directory is "C:\Program Files\ChessGenius Classic" or "C:\Program Files (x86)\ChessGenius Classic" (for 64 bit Windows, because ChessGenius GUI is 32 bit compatible application, its installation directory is in the Program Files folder for 32 bit applications). Respectively the engines' folder is "C:\Program Files\ChessGenius Classic\ENGINES" or "C:\Program Files (x86)\ChessGenius Classic\ENGINES". The newly created folder will look something like that "C:\Program Files\ChessGenius Classic\ENGINES\MyEngine" or "C:\Program Files (x86)\ChessGenius Classic\ENGINES\MyEngine".

2. Install the engine into this new folder or uncompress (unzip, unrar) its package contents there.

3. Download the WinBoard Converter (wbconv.zip) from the ChessGenius web site using this link (or right mouse click and select Save Target As... or Save Link As...). The package is not included in the official Setup of the program, thus keeping the download size smaller than one third (1/3) of a size of the old Floppy A:\ diskettes and does not come with it, but is available in the compressed installation folder of ChessGenius, found on this site in the links on the top, which is unmodified version of the program, just uncompressed from the self extracting setup archive file of the official download and added the WinBoard Converter and a recent version of the PolyGlot adapter (freely available software) with a few sample configuration ini files. Some engines also come with their own configuration files and/or sample *.ini files to be used with PolyGlot (like Glaurung 2.2 JA).

4. Copy the file "WBConv.dll" from the Converter package into the recently created folder of the new engine.

5. Copy the file "Winboard.eng" to the Genius7 folder and rename it for example to "MyEngine.eng".

6. Editing the *.eng file, according to the comments in it consists of two 2 easy text manipulation procedures - changing file paths and engine name. These *.eng files are text configuration files and can be open in any text processing application. Run Windows Notepad and open the file in it.

6.1. On line number 6: "engines\\MyEngine\\WBConv.dll",
change "MyEngine" string to the name of the new folder created, containing the "WBConv.dll" file and the engine file and configuration files respectively.

6.2. On line number 8: "My Winboard Engine",
change the string in the quotes to the name of the engine for a screen display.

6.2. Line number 13 configures the pathname of the engine, relative to Genius7 folder, but can also be given as an absolute path.
[#l:8192,1,0,0, 1,1,1, #b:'e,'n,'g,'i,'n,'e,'s,'\,'M,'y,'E,'n,'g,'i,'n,'e,'\,'M,'y,'E,'n,'g,'i,'n,'e,'.,'e,'x,'e,0],
Every letter in the string of the pathname must be defined as preceded by the two symbols ( ,' ). Change the letters ,'M,'y,'E,'n,'g,'i,'n,'e,'\,'M,'y,'E,'n,'g,'i,'n,'e according to your engine name and pathname. Delete letter with the preceding ( ,' ) symbols or add new ones with ( ,' ) in front of them. Actually a letter in the string is defined by the ' sign and "closed" by the , sign, but it is easier just to put the ,' combination in front of every letter.

6.2. On line number 19: "MyEng", // short engine name (max. 8 characters)
change MyEng to the name of the engine, not exceeding 8 characters (eg. ChessGenius 7 is Gen7).

6.2. On line number 27: "Set Options for MyEngine..", // dialog title
change the engine name MyEngine for the engine settings dialog configuration title.

Now the *.eng file configuration is done. This file now will act as a settings file for the WB Converter and will be added as a new engine in the ChessGenius graphical front end.

2.2. Loading the engine into ChessGenius graphical front end.

Now open ChessGenius, on the program menu on top, above the shortcuts toolbar, click "Options" and then select "Add Engine.." or just press Ctrl+E on the keyboard.

That will open a dialog window pointing to the Genius7 installation directory.

There must be placed the edited *.eng file. Select the file and press open or fast double click on it. This will load the selected and properly configured winboard chess engine which will be ready after a few seconds. If everything has been done fine, you can choose a level, the internal ChessGenius book or configuring the engine to use its own book and start playing the engine, or just point to "Opponents" and select "2 Player/Analysis" and let the engine analyse the game for you just like Genius 7 Engine does it (if you are on a x64 bit platform and unable to use the native Genius 7 really strong AI). Only one copy of each engine can be active at any time. You can load 2 engines, set the level and other settings and let them play against each other to test their skills using the menu "Opponents -> Engine Match..". Up to 4 engines can be added to be active at the same time, according to ChessGenius official help file. They are de-activated (closed) by using the 'Close Engine' button in the 'Engine options' dialog box from the Options menu. Engine options can be selected from the same dialog box. The 64 bit engines are also supported, no matter winboard or UCI (UCI is made through the PolyGlot adapter, explained next, below).


3. Adding UCI engines.

UCI (Universal Chess Interface protocol) engines are supported using UCI to WinBoard adapters (like UCI2WB, PolyGlot). The ChessGenius WinBoard Converter adapter is designed to translate the WinBoard protocol output to ChessGenius GUI I/O. UCI to WinBoard adapters (PolyGlot) are designed to transtale UCI protocol output to WinBoard output so the ChessGenius WinBoard Converter can understand the UCI engine output like WinBoard and then to translate it next to the ChessGenius GUI. Now this two way communication can be well interpret and all types of engines can be run on the ChessGenius modern and very fast graphical user front end.

In this tutorial as a UCI to WinBoard adapter is used PolyGlot. Newer engines (like Rybka) use the PolyGlot new releases and older engines (like SOS 5.1) still can use the original 1.4 PolyGlot version by F. Letouzey.

3.1. Configuring PolyGlot.

Configuring PolyGlot is easier than the WinBoard Converter. It also consists of editing a configuration file, this time of type *.ini.


1. Download a PolyGlot release stand alone executable windows file from here (version: PolyGlot 1.4.67b; file size: 134 KB (137,216 bytes)).
2. Place that file in the UCI engine directory in the Genius7\ENGINES folder.
3. Create a new "ini" file in the same directory: right click on the folder space select "New -> Text Document" or from the folder Menu - "File -> New -> Text Document". Rename that file to "polyglot.ini". Be sure the extension to be exactly "ini", not "txt" or other.
4. Now copy the following sample configuration text in that file and change it according to your path names and settings. See the example below.

[PolyGlot]

EngineName =
EngineDir =
EngineCommand = *.exe

Log = false

Resign = true
ResignMove = 3
ResignScore = 900

[Engine]

Hash = 16
OwnBook = false

Here is an explained example of simple "polyglot.ini" configuration file. Comments are added after ";". It uses *.ini file syntax for UCI specific engine options.


[PolyGlot] ; the PolyGlot section

EngineName = Rybka 3 ; engine name
EngineDir = C:\Program Files\ChessGenius Classic\ENGINES\Rybka ; command line path directory, path to the folder of the engine
EngineCommand = Rybka3.exe ; command to be executed, the engine that has to be started

Book = false ; to enable/disable a PolyGlot book
BookFile = PolyGlot.bin ; example of a book file

Log = false

Resign = true
ResignMove = 3
ResignScore = 900

[Engine] ; engine section, engine-specific option or UCI common options

Hash = 16
OwnBook = false

In the engine section can be also set engine options for multicores (threads, CPUs), ponder, etc. that can be set in the engine-specific configuration file too of each execution unit, according to its documentation. For example multi-thread usage in Crafty is enabled by "smpmt=n" alias "mt=n", where "n" should be set to the number of processors; "ponder off|on" is used for the permanent brain option setting.

PolyGlot will now act as a WinBoard engine itself translating the protocol to the UCI engine. For more information on the sections in the "ini" file can be read the original Read Me file of PolyGlot from F. Letouzey.

3.2. Configuring WinBoard Converter to PolyGlot.

After setting PolyGlot it will act like a new WinBoard engine using the original output of the configured engine, translated as a WinBoard protocol.

As being now the PolyGlot file the new engine, the WinBoard Converter *.eng file must be configured to point to that PolyGlot file. The entire procedure is exactly the same as described in Section 2.1. of this tutorial.

Line number 13 of the *.eng file for the specified UCI engine must configure the pathname of the PolyGlot file, relative to Genius7 folder, but can also be given as an absolute path. Here is the example:

[#l:8192,1,0,0, 1,1,1, #b:'e,'n,'g,'i,'n,'e,'s,'\,'M,'y,'E,'n,'g,'i,'n,'e,'\,'p,'o,'l,'y,'g,'l,'o,'t,'.,'e,'x,'e,0],

The polyglot.exe file can be renamed as the name of the engine specified if you feel it easier to understand it as the new engine.
Now both the PolyGlot and the WinBoard Converter are configured.

3.3. Loading the engine into ChessGenius graphical front end.

When PolyGlot is ready and well set and WinBoard Converter *.eng file is set to point to it, adding the engine in the ChessGenius GUI is the same from Section 2.2. of this tutorial.


4. Credits.

The information on this tutorial is summarized from an article about ChessGenius Extras by PC Solutions, on a text found in the WinBoard Converter Read Me file, on provided examples of "WinBoard.eng" and "polyglot.ini" configurational files, PolyGlot original Read Me file and on testing of engines on the ChessGenius GUI.

Special thanks for the PolyGlot new releases without which new engines (like Rybka 3, 4) do not work with the original old PolyGlot 1.4. Testing was done using PolyGlot 1.4.55b from 2009/12/02. Latest version as of 2011-09-21 is PolyGlot 1.4.67b from 2011/06/01, hosted and mantained by Michel Van den Bergh, based on Polyglot 1.4w10, a modified version by Fonzy Bluemers. New version: Polyglot 1.4w29 (21 January 2012).

The WinBoard Converter that allows chess engines for WinBoard 4 to run under ChessGenius 7 is originally from 1999/05/11 with a Release date of 1999-01-31 by Stefan Meyer-Kahlen.


5. Links.

Some links used:

PolyGlot is a small application from around 100 KB to ~ 200 KB maximum. It cannot work without the configuration file "polyglot.ini".

The WinBoard Converter package. File size zipped: 71.4 KB (73,128 bytes); file size extracted: 133 KB (136,893 bytes).
Sample free engine Ruffian 1.0.1 download.
Sample configuration file to an engine for the WinBoard Converter, used for adding the engine in the interface.

Download Section
Some Download links (will being updated):

Here are hosted the following files as their respective download sites have become or may become as time no longer available.

Download Portable ChessGenius GUI package for 64 bit platforms ready to use configured with Houdini 2.0c x64 Standard engine installed.
(File size zipped: 1.26 MB (1,324,249 bytes); file size extracted: 4.43 MB (4,651,134 bytes)).
Instructions: just decompress (unzip) the archive to any folder on your hard disk. Then run the file GEN32WIN. You will have fully working copy of Genius GUI with Houdini 2 engine set (if you own them both registered).

Download sample polyglot.ini configuration file (280 bytes).

Download PolyGlot 1.4w29 by Fonzy Bluemers (21 January 2012, 191 KB (195,689 bytes), zipped).

Download or Download PolyGlot 1.4.67b by Michel Van den Bergh (2011/06/01, 134 KB (137,216 bytes)).

Download ChessGenius 7 GUI and Genius 7 Engine setup file. File size compressed: 587 KB (601,201 bytes); file size extracted: ~ 2.51 MB (2,636,339 bytes).

Download Portable ChessGenius Classic 7.200E GUI and Genius 7 Engine zip package file. File size zipped: 1.62 MB (1,701,564 bytes); file size extracted: 4.13 MB (4,338,201 bytes).
Includes Genius 7 Engine for 32 bit systems and a current version of one of the world's strongest (freely available) chess engines - Stockfish 2.1.1 JA (based on Glaurung 2.1) for 64 bit systems, configured and ready to use in the Genius Interface. Just add the engine of Stockfish (Stockfish211-x64.eng file) into the GUI as described in section 2.2. of this tutorial. Also includes the WinBoard Converter, a recent version of the PolyGlot adapter (ver. 1.4.67b) and some examples of *.ini and *.eng sample configuration files. I have not included the Stockfish opening book by Salvo Spitaleri due to keep the download file size smaller - it is still just 1.62 MB (4.13 MB unzipped) - not much for a completed and fully functional and working sophisticated world class chess software. The Original EXE Setup is just 588 KB (2.63 MB extracted, installed), but does not include other engines, adapters and so on. It is shipped with its own opening book - Genius GUI book by Ossi Weiner.

The Genius 7 Engine is an extreamly fast and powerful 16 bit application than runs fine on any Windows 32 bit platform, but can't be run on 64 bit architechture like the 64 bit operating systems Windows XP x64, Windows Vista x64, Windows 7 x64. You can still use the ChessGenius GUI that works fine there. Just the Genius 7 engine works on 32 bit systems only.

Useful links:

<ChessGenius>
ChessGenius for Desktop PC's Official Home Page.
ChessGenius for Desktop PC's article by PC Solutions.
ChessGenius Extras and downloads - databases, engines - article by PC Solutions.

<PolyGlot>
Some chess stuff by Michel Van den Bergh.
PolyGlot new releases by Michel Van den Bergh. PolyGlot 1.4.xx.
Fonzy Bluemers PolyGlot section. PolyGlot 1.4w.xx.
Original PolyGlot 1.4.

<Other adapters>
Main download page of Leo Dijksman's WBEC Ridderkerk computer chess related portal.
WinBoard as UCI engine (WB2UCI) by Odd Gunnar Malin.

<UCI Protocol>
Description of the Universal Chess Interface (UCI) April 2004
UCI-Protocol description in three formats. On the drop-down menu select UCI-Engines, press Download. A new page with UCI downloads will be open.
A help file in old format (hlp, 618 KB).
A help file in new format (chm, 73 KB).
UCI on ShredderChess Official Pages.
UCI Chess Engine Protocol download and ShredderChess downloads and documentation.
UCI Chess Engine Protocol download.

<WinBoard Protocol>
Tim Mann's XBoard and WinBoard original pages.
WinBoard Chess Engine Communication Protocol description and documentation.
Homepage of H.G.Muller, current developer and maintainer of the original Tim Mann's WinBoard.
H.G.Muller WinBoard Page.
H.G.Muller WinBoard F Page.
H.G.Muller computer chess page.

<WinBoard program downloads and resources>
WinBoard/XBoard 4.4.4
WinBoard/XBoard 4.5.0

WinBoard engines from ChessBase. On the drop-down menu select Engines, press Download. A new page with WinBoard downloads will be open.

<The Famous Crafty>
Crafty Command Documentation (version 18).
Robert (Bob) Hyatt's famous FTP site for Crafty.

Crafty Chess.
Crafty Win32/64 builds - Windows executables are available on Peter Skinner's web site.
Crafty GUI - “A freeware Graphical User Interface for Crafty by Valters Baumanis (32 bit only), it can use the new SKILL option to adjust Crafty's strength. Just download and play.”

<Some other nice chess engines:>
Pharaon 3.5.1 - great engine by Franck Zibi (previously known as ZChess). Runs under Windows 95/98/NT/ME/2000/XP/Vista/7 (all 32 bit versions) and it is WinBoard and UCI compatible. Supports computers with 1 to 4 processors.

The everlasting Der Bringer 1.9.0.1 -> An excellent site by James Kearman about the chess engine Bringer with its Graphical User Front-End, written and designed by Gerritt Reubold as a complete chess software. All you need in chess is in Bringer and all you need to know about it is here - in this site, keeped and mantained by J. Kerman. James has done a great work there explaining and presenting almost everything from Der Bringer (almost everything, because you never know what can you find more in such an endless world like some GUI-s are).

List of a “Free software every chessplayer should have” - again by J. Kearman.
Selected Software - A “Must Have” software list by the famous and respected dutch author of Rebel, later Pro Deo - Ed Schroeder.

Goliath Chess - Little Goliath, a nice chess engine by Michael Borgstaedt.
The Crazy Bishop 0.052 - a chess-playing program by Remi Coulom.

<Other stuff>
Ed Schroeder's chess pages.
Ed Schroeder's new site with chess pages.

Jim Ablett chess engine compiles web site - a great collection of engines, compiled by JA - “The open source chess engines compiler” (also includes Stockfish, Glaurung, Crafty and many more).

Shredder Mobile 1.1.2 - great for Java (J2ME) Enabled Phones (almost all) that runs MIDlet-s.

Other useful links will be added as time goes by.




Support on this quick tutorial is provided by an e-mail communication.
Send your questions to [email protected] and expect a quick answer.
For any suggestions, please feel free and welcome to contact via the e-mail address above.

All copyrights © reserved to ChessGenius™®, Shredder™®, PolyGlot new releases, D.G..

Lang Software, ChessGenius, and the ChessGenius logo are trademarks, or registered trademarks of Lang Software Limited in England, United Kingdom and/or other countries.
Shredder Chess, Shredder, and the Shredder logo are trademarks, or registered trademarks of Stefan Meyer-Kahlen in Germany and/or other countries.
Other product and brand names may be trademarks or registered trademarks of their respective owners.


Page created on: Wednesday, 2011/02/09

Full text by D.G. February, 2011
First text release date: February, 9th, 2011


Updated Version revision 1: February, 24th, 2011        ---> <One more paragraph about Genius added.>
Updated Version revision 2: June, 3th, 2011        ---> <Texts enhancements.>
Updated Version revision 3: 2011/09/21 by D.G.        ---> <Text enhancement and a PolyGlot new release version updated.>
Revision 4: 2011/09/28 by D.G.        ---> <Added links to Crafty and a link to Pharaon, Bringer, Goliath, The Crazy Bishop and some other links.>
Revision 5: 2011/10/18, by D.G. -> Summary: updated links on the page and differentiated Download section. Uploaded package files.
Revision 6: 2011/11/01, by D.G. -> Summary: added file sizes of some of the files, offered to download; PolyGlot file size explanation information.
Updated Version revision 7: 2012/04/04 by D.G.        ---> <Added new download links and new downloads. PolyGlot version 1.4.67b uploaded here as PolyGlot new releases web site is no longer available. Noticed the no longer availability of Polyglot new releases web site.>
Revision 7: 2012/05/31, by D.G. -> Summary: Old PolyGlot new releases web site address updated to the new address. Web site is not unavailable, but changed.


Last Update: Thursday, 2012/05/31 by D.G.