There are many methods for accomplishing engine handicapping. In the not so distant past, simply downloading a weaker engine, and or adjusting things like pondering and hash table size were sufficient to weaken an engine.
But now, computer speeds are so fast that specialized engines, and engine settings, are being used to deliberately weaken a chess engine's play.
Chess Assistant (CA) comes with several engines, "out of the box". These include different versions of Tiger and Gambit Tiger, Crafty, Ruffian, and Dragon. However, it can be difficult, especially for weaker players, to handicap these engines sufficiently, so that they have half a chance of winning. Additionally, the opening book that comes standard with CA is extremely wide and deep, so it can be difficult to emerge from the opening with anything better than equality (and in some cases, anything better than a slight disadvantage).
Although people tend to think of CA as an analysis tool, it also supports a wide variety of chess engine protocols. This facilitates the use of a large number of freely available chess engines within the CA playing interface. The key is to find a combination of a weak engine and opening book, so that a decent playing experience results.
In this article, I will talk about using an engine called Crafty SE, which has been especially designed to support things like engine personalities, and adjustable playing strength. I will then discuss the use of a separate handicap book, which I have designed. But first, lets' go over the steps involved in setting up Crafty SE, and the handicap book. They are as follows:
Getting and Setting up Crafty SE
You can download the Crafty SE package from here. Once you've done so, extract the contents to c:\CraftySE. Then, download the file wb2uci.eng file from here, and place it in c:\CraftySE. This is a modified version of the file that comes with CraftySE normally. My version works within CA 7.1, Fritz 8, and Arena, and version 19.08 of Crafty SE. If you're using a later version of CraftySE, you might want to
Note that in my engines file, I have assumed that tablebases are located in e:\TBs, log files in c:\CraftySE\log and crafty book files are in c:\CraftySE\book. If your locations are different, then you need to modify the wb2uci.eng file appropriately.
Downloading a handicap opening book and installing
As I mentioned earlier, the opening book included with CA is pretty comprehensive. While you can modify the book manually, and adjust the width and amount of randomness in the moves played, you may not be entirely satisfied with the results (for instance, there is currently no control for book depth). In my case, I decided to build a book that was not very deep (16 ply), but contained a wide variety of openings that the computer would play. You can download the book files and associated direct trees for building this book here. Unzip these files into your books subdirectory underneath the main CA directory (on my machine, it is c:\program files\chess assistant 7.1\books\Fide). Note that the easiest configuration will use the path that I have shown above.
Then, create a new book profile. You can do this by clicking on the small caret to the right of the tree button on the main button bar. Then select opening books. A window that looks something like the one above should then open. Then, click on the ellipses to the right of the drop-down book selection control (circled in red). Then, add a new book configuration by clicking on the button shown below (with the number 1 next to it). You then need to rename the configuration to something like "Weakened". Note that I already have this configuration in my book dialog. Then highlight this configuration.
Now, import the book configuration you downloaded and extracted to the books subdirectory. You can do this by clicking on the button labeled with the number 2. After you do this, the dialog should look something like the following:
You may need to adjust the path the book direct tree, if you placed it in a directory other than c:\program files\chess assistant 7.1\books\Fide. You can do this by clicking on the path entry highlighted in red.
Adding Crafty SE as an engine
Now you're in the home stretch. Open the engines setup dialog (Tools->Engines setup). Then click on the "Add" button, and make sure the entries in the dialog box look like the ones I have shown below. it is very important to note that you need to select wb2uci.exe as the engine, instead of wcrafty.exe. Also note that the engine type is UCI, not crafty. Also make sure that you have selected the handicap opening book that you installed on the previous step. After verifying all this information, click on the "OK" button.
Now that you've got crafty added, you can play a game against it. Before you do so, you might want to adjust the playing strength of the engine .You can do this by clicking on the "Personalities" button, while CraftySE is highlighted in the engines setup dialog box. You should then see something like the following screen shot:
The important parameters to adjust include:
For more information on adjusting these parameters, I would suggest you look at the instructions included with CraftySE. Incidentally, I would like to thank Mike Byrne for taking on the CraftySE project, and making the engine available to others.
I think you'll find that the Crafty SE engine makes a nice playing partner, especially on some of the lower levels.
While the process of setting up CraftySE and the handicap book may not be trivial, it is a worthwhile exercise, especially for those that don't like losing every game in 20 moves or less. I've got the CraftySE engine running on my laptop, along with a connection to my DGT board. The whole setup makes a nice alternative to OTB chess, when real people aren't available.
If you have problems
Unfortunately, I cannot troubleshoot your individual configuration. Rest assured that this procedure works. If you have trouble, consult the CraftySE readme file, as well as the Crafty FAQ. Finally, make sure that you don't have spaces in the path names for your books, crafty, or tablebases. Good luck!
Note also that CraftySE is an ongoing project, and hence the UCI eng file may need to be modified appropriately for newer versions. I cannot control any changes that Mike makes to Crafty SE (nor should I).