In contrast with Part I of this series, which looked at more specialized database analysis programs, Part II covers a greater variety of computer chess tools that include chessplaying software and computer opponents. Many software packages include all functions - database, playing, analysis, and training - but typically focus on one category more than others. Because of the great number of differences in features between different software packages, in this post I'll focus on common chessplaying functions and how an improving player can take advantage of them. After that discussion is a review of some computer resources, including freeware and online. A brief overview of popular engines is also included.
As a side note, it's been interesting for me to see how chess software has evolved away from dedicated chessplaying programs - an approach exemplified by the old Chessmaster series - to a more modular approach, one which splits the GUI (graphical user interface) and the chess engine. Users now can easily mix-and-match, using their favorite engine(s) along with whatever engine is bundled with the software they use. This splitting of functions has its pluses and minuses, however, as I think some of the focus on the actual playing experience has been sacrificed. The performance differences between different engines also are not nearly as significant as they used to be, especially for chessplaying purposes. Personally, I've found it difficult to take computer opponents seriously, as I have trouble caring about the outcome of a game when it is not at least somewhat similar to tournament conditions.
Computer opponents - what are they good for?
All chessplaying software packages offer different options for handicaps, in which the engine's effective playing strength is reduced. Different mechanisms are used to accomplish this, with varying results. The simplest method is to use a fast time limit for the computer to move (1 second, 5 seconds, etc.) Another simple weakening method is to not permit the computer to "think" on its opponent's time. For the more basic engines and those used for online play in browsers, these are popular choices (sometimes the only choices) to help calibrate the computer opponent's strength. For an improving player, I think using the quick time method can be detrimental for training, since it psychologically encourages you to think and move fast as well, rather than develop and employ a comprehensive and coherent thinking process. However, if what you want is a casual game within a quick time limit, or are using blitz games for a specific training purposes such as opening familiarization, then fast time controls are certainly appropriate.
This brings us to the question of what computer opponents are good for, within the context of a training/improvement program. I think that they are best viewed as "sparring partners" - a concept familiar from other individual combat sports, boxing being the most well known, but also including fencing and martial arts. Good sparring partners should offer you several things:
- The chance to get a workout - a mental one in the case of chess - allowing the player to practice and reinforce their skills and thinking habits under conditions similar to that of a real match. This usually requires a "slow chess" time control (45 45, 60 5, or higher). Since computer sparring partners will not care what the time control is set at, having nothing else to do, this is a bonus - as long as you have the necessary focus and patience yourself.
- A level of opposition that is at or (preferably) somewhat above your own playing strength. You should have a legitimate chance to beat your sparring partner, albeit with significant effort. Running an engine at top strength would prove a frustrating and insurmountable hurdle, while beating up an overly handicapped opponent will teach you nothing. This concept is related to effortful study, a process in which you constantly push your boundaries, but without taking on tasks completely beyond your strength. In the context of a computer opponent, once you start beating them more than 50 percent of the time, you should increase their strength.
- Opposition that has different "styles" or combinations of strengths and weaknesses. It takes different skills to face and defeat an opponent who always goes for aggressive attacks, versus one who is content to play quietly and set up a solid position. Opening variety is also important, to become familiar with different position-types and avoid being surprised.
How you set up your "sparring partner" therefore will greatly affect your experience. Your chessplaying software should have a variety of slower time controls (often which you can input yourself), handicap methods that you can understand and easily adjust, and ways of varying the computer opponent's play. These latter two points deserve some additional attention, especially in the context of their training usefulness.
- Despite the wide variety of handicap settings available, computer opponents often will play in an unrealistic manner that detracts from the experience and makes training less effective. For example, they may randomly decide to drop material, make obviously pointless moves, and the like. This is unfortunately hard to avoid from the programmer's point of view when trying to find practical ways to make a program play weaker than it can.
- Computer opponents without randomizing functions will play the exact same game every time, which is of very limited use for training (and not very enjoyable, either). Make the computer opponent behave too randomly, however, and it becomes difficult to learn via iterative training and amass useful experience, especially with mainline openings and key common position-types.
Each person will have their own particular preference for what they are looking for in a computer opponent. That said, I'll offer some practical guidelines:
- If the software package has automated functions that address the above issues, use them. For example, some offer a specific Elo rating setting for opponent strength. In that case, you can set the opponent to be 100-200 points higher than your own rating and see how you do against it over a few games, then adjust the strength in future games as necessary.
- The Fritz GUI in addition offers a "Sparring" mode for new games, with five level settings (from "Very Easy" to "Really Hard"). The program calibrates its play accordingly and will deliberately play a certain number of moves, based on the level setting, for which it can calculate a tactical refutation, but otherwise play a strong game. I find this mode of play to be more realistic in simulating a "real" game, as the program does not simply give material away (or allow itself to be mated) without requiring significant effort from its opponent.
- When a default opening book is included with a software package, there are usually settings that will force the computer to play "best" or "optimal" lines, or alternatively force more variety in the opening choices. It takes additional work, but can be even better for training purposes, when you edit or assemble your own opening book for the program to use. Naturally using your own repertoire database is a possibility for this.
- If you are doing tactical or visualization drills, then using extra features in a GUI such as displaying hints, threatened squares, etc. may be useful. Naturally none of these aids are available during tournament conditions, so I would suggest not using any of these for serious training games.
The following list is not meant to be comprehensive, but rather to give a sampling of the major programs available and types of resources, including online freeware, that can be found. Comments on these, and on resources not originally included, would be useful to see; I'll incorporate them as appropriate in future edits.
The Deep Fritz 14 GUI is the latest version of the long-running Fritz series from ChessBase. It has a full range of features for serious play, including a large number of different 2D and 3D virtual chess sets, as well as advanced analysis functions and some database functions. For players looking for a high-end sparring partner and superior analysis capabilities, along with basic database resources, this GUI would be a good starting package. For more advanced database functions and software, see Part I. It's worth noting that ChessBase sells the GUI under the name of the engine bundled with it, so for example the latest Komodo 8 product is simply the Deep Fritz 14 GUI with Komodo 8 included as the primary engine. Other UCI engines (see below) can be added easily to the GUI.
The Aquarium program - the latest release being Aquarium 2015 (and an additional version with Houdini 4 bundled) - is another chess package that includes a full range of analysis and playing functions, although its GUI and functionality is built primarily around the analysis functions. Published by ChessOK, its database also uses the same proprietary format as their Chess Assistant database software. Aquarium 2015 currently appears to have some issues with its deep analysis (IDeA) functions.
Shredder - as mentioned by Tommyg in his comment on Part I - remains a commercial alternative GUI, notably being available across mobile platforms as well, and has some online browser-accessible features on the site. The playing community seems to be a strength of the product. Hiarcs Chess Explorer is another alternative all-in-one software package (thanks also to Tommyg for the comment on it).
The Chessmaster series, as mentioned above, was focused primarily on the playing experience, wth Chessmaster XI (also known as Chessmaster: Grandmaster Edition) being the last edition. I previously recommended it as a sparring partner, since it had by far the best range of customizable opponents, as well as an outstanding video tutorial series included with it. Unfortunately this product (from 2007) is no longer supported by software publisher Ubisoft, so I can't recommend it anymore. I was originally able to install it on my Windows 7 machine with some difficulty, but eventually after one Windows Update cycle the program refused to work properly, even after reinstalling it multiple times. If you have an older machine, it may still function.
The SCID vs PC freeware database analysis package was mentioned in Part I and it also includes some basic chessplaying functions. There are other free GUIs available that are more developed around the playing and analysis functions, for example the more complex Arena Chess GUI 3.5 or the simpler Tarrasch Chess GUI.
Chess.com has a browser opponent available, or you can play against different bot opponents in its live section.
I've saved the section on engines for last, in part because for playing purposes they are now so strong that differences among top engines are essentially irrelevant. Your choice of handicap options will be much more important in determining the type of playing experience you have, rather than which Elo 3000+ engine your computer is running.
For analysis purposes, engines may still show some significant if not large differences between them, at least when there are no concrete tactical advantages. So it is from the analysis use perspective that I'll offer a few comments, along with the top engine home page links. All of them can be downloaded directly from the links in their UCI versions, which you can then plug into your preferred GUI. As an alternative, some intentionally weak engines have been developed for playing purposes - they may be included in some software packages - and may prove useful as sparring partners without having to handicap them.
- Komodo 8 is what I currently use as an analysis engine. It has an interesting history and appears to incorporate a greater degree of human positional judgment than its peers, as discussed in this ChessBase news article. It is this latter quality that was the deciding factor for me and it seems legitimate. In using Komodo 8, I've noticed that it gives (slightly) greater evaluation weight to compensation for sacrificed material and other positional factors than other engines; computers historically have been too materialistic, although that's changed to a great extent.
- Houdini 4 is the latest version of the Houdini engine series. I used the (freeware) Houdini 1.5a and (commercial) Houdini 2.0c previously for analysis engines. Houdini appears to be somewhat faster than Komodo 8 in its evaluation functions, which remain top-notch.
- Stockfish (currently version 5) is the top freeware UCI engine and can hold its own at the Elo 3000+ level. Using this as a freeware option means you are sacrificing little (if any) power and functionality and it has downloads for a variety of platforms, including mobile apps.
In Part I, I discussed the practical value of using engines for game analysis, as part of an integrated process involving database analysis software (and of course your own brain). This is a legitimate use of a tool to make progress. What should be avoided is the practice of using software to replace (rather than augment) your brain, as sometimes occurs when people simply pop their games into a "full analysis" software feature, let it run, briefly see what the analysis results are, then move on. A more detailed look at the pros and cons of computer analysis can be found in "Pitfalls of Computer Analysis" on this blog. A more exaggerated (if entertaining) view of the harm relying on computer engines can be found in IM Jeremy Silman's recent article on Chess.com. Coincidentally, a recent article on the "Rise of the Machines" at The Chess Improver also touches on these and some other related issues.
All of these programs will no doubt continue to evolve over time, with new entries in each subcategory. I think from a functional perspective the logical path would be to combine top-level database, analysis and gameplaying functions in a single software suite. ChessBase could do this now with relative ease, I suspect, but keeping ChessBase and Fritz products separate is a way of segmenting the market for additional revenue. ChessOK has a similar type of split with its Chess Assistant and Aquarium products.
All of the major packages (even freeware) now include database analysis functions, so deliberately keeping major playing/analyzing functionality separate from database functions appears more and more artificial. I'm still hoping, even after a poor experience with the first version of the Chess King program, that a single and economical software package will eventually emerge that has an aesthetic GUI, engaging and varied computer opponents, good analysis functions, and powerful database options. With the engines now separated from the GUIs and at a very high strength level, perhaps programmers can turn more attention to the gameplaying experience and thinking through how best to present and display analysis options and results.
Given the quality of the freeware available today, I recommend that people try out different available programs before purchasing a new commercial package. Even if you do decide to go the commercial route, you'll have (for free) a better idea of what features you desire most, and/or what you really don't like, something which I think is central to effectively using computer tools in a training program.
The next post in this series is Part III, which looks at database and e-book resources.