Casey Reese Kunst
How to Use a Chess GUI
A TutorialA chess GUI provides an interface to a chess engine. Much like chess sites, they allow you to play games against other people, practice against the computer, learn techniques, analyze games, and build databases which reveal patterns of play. A number of free or low-cost GUIs are available for you to use on your personal computer, so you can avoid premium membership subscriptions, expensive feature-laden software packages, or even server outages.

I'll demonstrate their use with my favorite GUI, PyChess. Since most chess clients work in a similar manner, this tutorial should apply regardless of your choice of software.
Install an Engine
If your GUI doesn't come with an engine, or you don't like the one it came with, download and install one. Then point your GUI to the engine (Edit > Engines).

The dialog box will allow you to set options for the engine, but the default values will work fine. Consult the engine's readme file if you wish to tweak the settings.
You should also have the option of installing an opening book and an endgame tablebase for the engine to consult. This isn't necessary, but it will make the engine faster and more accurate (Edit > Preferences [Hints]).
Play an AI or a Person
Now you can play against your chess engine (Game > New Game > Default Start Position).

You'll need to chose a difficulty level for the AI. Start with the lowest one, then advance it until you can beat the machine only about one third of the time. Once you can beat it two thirds of the time, it'll be time to advance the level again.
You'll also need to choose a time control for the game. Some people find bullet (three minutes per player or less) and blitz chess (three to ten minutes) fun, but rapid (ten to forty-five minutes) and longer games allow you time to think through your moves. If you see a plus sign and another number after the first number, this means that players get an increment, or additional time, after each move.
You can play against other people on the same computer (Game > New Game > Default Start Position) or on a network (Game > Internet Chess). Pychess allows you to play on FICS, the Free Internet Chess Server; other GUIs may connect to different networks.
You'll need to choose an Elo range for human players instead of the difficulty level for computers. If you've played organized chess or chess at an internet site, you'll have an idea of what your Elo rating is, but ratings differ from organization to organization. If you can't guess your rating, just accept the default value. The server will modify your rating based on your play. You'll want to play people with a rating anywhere from 150 points lower to 150 points higher than yours.
Analyze Games
If you save your games (Game > Save Game), you and the engine can analyze the games to find your mistakes\, so you know what you can improve on\. Load the game \(Game \> Load Game\) and use the \[\|<<\] \[<<\] \[\>\>\] \[\>\>\|\] buttons to replay the game\. The evaluation graph \(View \> Score\) shows you which player has the better position at each point during the game\. The more white you see\, the better White is doing; the more black you see\, the better Black is doing\. Look for moves that change the evaluation significantly\. These are likely good or bad moves\.

The engine can also analyze the game and show you a better line of play where you went wrong (Game > Analyze Game). These variants will show up in parenthesis.

You can choose how long or deep the engine analyses each move. Choose a number that doesn't take too long for you. You should also choose when the engine displays a variant line of play. Engines evaluate a position by how many pawns-worth of advantage a player has, but they express them in centipawns, or 1/100 of a pawn. I chose 1 1⁄3 pawns, but you may want the engine to be as much as 2⁄3 of a pawn more or less sensitive than that.
Once you've found some good and bad moves, and their alternatives, you can annotate your game (View > Annotation), so you'll remember what did and didn't go well for you.

You can add annotation glyphs ([right-click] > Add Move Symbol) to indicate a move's degree of interest.
- ?! indicates an inaccuracy: a move that is a little weaker than other available moves.
- ? indicates a mistake: a move that may lead to a slight loss of material or a weakening of your position which you'll need to recover from.
- ?? indicates a blunder: a move that will lead to the loss a piece's worth of material or a weakening of your position that could put you in jeopardy.
- !? indicates an interesting move: one that's unusual or difficult.
- ! indicates a good move: one that improves your position noticeably.
- !! indicates a brilliant move: one that is hard to find and improves your position significantly.
You can explain the moves or their alternatives with comments ([right-click] > Add Comment). And, you can highlight squares ([right-click] or [right-click]+[Shift] or [right-click]+[Ctrl] or [right-click]+[Shift]+[Ctrl]) and draw arrows from one square to another ([right-click]-drag or [right-click]+[Shift]-drag or [right-click]+[Ctrl]-drag or [right-click]+[Shift]+[Ctrl]-drag) to clarify the situation.
Train Techniques
Now that you know what you can improve on, you can engage in some training and practice ([Learn]). Tutorials and tactical puzzles can be very helpful (View > Puzzles, View > Lessons, View > Endgames, and View > Lectures).

Build a Database
You can build a database of your own games to get a better feel of how you're playing. Find the games you've saved, or download the games you've played on a chess site. Create a new database (Database > New), import your game files (Database > Import Chessfiles), then save the database (Database > Save Database As). When you want to add new games to your database, load the database (Game > Load Game) and then import the new games and save the database.
You can also build a general database of games to get a feel for how chess is played by experts. You'll likely need at least a quarter-million games for this to work well. Fortunately, databases like this have already been created. Download a chess database in PGN (Portable Game Notation) format and follow the same steps as above. You can find recent games to add to your database at sites like Chess Life Magazine or The Week in Chess.
Search for Patterns
Now that you have a chess database, you can use it to find patterns of play.
The simplest way to filter games and discover patterns is through the opening explorer (View > Openings [magnifying glass]). The number of times a move is played and the result of the games the move was played in is displayed. Click on a move, and the games where that move was played is displayed, and so on. You can see the position in the preview tab (View > Preview). When you have narrowed the games down to the moves you are interested in, view the games by clicking on them.

Another easy way to filter games is by the information usually contained in chess files' headers \(View \> Filters \[\+\] \[Headers\]\)\. You can find games by the names of the players\, the dates they were played on\, the places they were played in\, the result of the games\, the Elo range of the players\, or the games' ECO (opening) codes. If you find a game with incorrect or incomplete information, you can edit the fields in the header (Game > Properties).
A more sophisticated way to filter games is by material and moves \(View \> Filters \[\+\] \[Material/Move\]\)\. You could\, for instance\, find endgames with a king\, a rook\, and two pawns vs\. a king\, a rook\, and a pawn\.

You can also search for a specific move or capture by or of any chessman.
Another sophisticated way to filter games is by pattern \(View \> Filters \[\+\] \[Pattern\]\)\. This way\, you can find games with chessmen in particular positions\, like\, for example\, the d5\-pawn chain\.

You can also combine different filters by pressing the [+] button more than once. So, you could, for instance, find all the games Bobby Fischer played (headers) when he had two bishops and his opponent had a knight and a bishop (material). If you're not satisfied with the result, remove a filter with the [-] button. Say you'd now like to see the games where any player (remove the headers filter) had the two-bishop advantage, so you can compare Fischers' results with the general outcome.
An even more sophisticated way to combine filters is with sequences [Seq] or streaks [Str]. The sequences filter allows you to find games where different material or patterns occur at any point in a game, while the streaks function allows you to find games where different material or patterns occur in consecutive moves.
So, once you know how to make use of your chess GUI, it'll allow you to play games against other people, practice against the computer, learn techniques, analyze games, and build databases which reveal patterns just as well as a subscription site or feature-heavy software would.