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