Last year, Netflix aired the mini-series The Queen’s Gambit which follows the chess adventures of the orphan, Beth Harmon. The release of the show saw viewers flock to chess websites and a general increased interest in the game. If you’ve decided to start playing on sites like Chess.com or Lichess.org you’ll likely have been improving your play but the further you climb the tougher it will get, and this is where practising with the best open source chess engine, Stockfish, could come in handy.
At the start of this month, the team behind Stockfish released version 14 for anyone to download. This version of Stockfish has a rating 338 Elo points ahead of Stockfish 8 which famously lost against Alphabet’s AlphaZero. The boost in its rating largely came from the inclusion of an Efficiently Updatable Neural Network (NNUE) and its subsequent refining with help from the team behind the LCZero chess engine team. According to CEGT, Stockfish 14 is about 700 Elo points ahead of the current Chess champ, Magnus Carlsen.
To become any good at chess, you’ll need to become familiar with common patterns and learn to respond to them accurately. Chess engines such as Stockfish can calculate moves with significant depth making them handy for figuring out the best responses to your opponents moves. Of course, you shouldn’t use engines when playing live games but memorising moves it suggests is completely fine.
In this guide, I’ll be looking specifically at running Stockfish in a program called PyChess which is only available for Windows and Linux but if you’re on other platforms there is a dedicated Stockfish Mac App and an iOS app called SmallFish where you can practice with the engine. For those on Android, you should install the DroidFish Chess app and StockFish Engines OEX. The latter app will make Stockfish 12, 13, and 14 available in DroidFish under Manage Chess Engines.
Setting up Stockfish
The first thing you’ll want to do is download and install PyChess which will provide the main interface you’ll interact with when you play games. On the project’s download page, head down to the package list and find the msi package if you’re on Windows or follow the instructions for your Linux distribution. Once you’ve downloaded and installed PyChess you should open the program and close any pop-ups that appear. You may also be informed that a new version of the program is available from the project’s GitHub, it’s entirely up to you if you want to install it or not.
Now that you have the program which can handle the Stockfish engine, you’ll need to go to the StockFish website and get the latest version. PyChess may already have a version of Stockfish pre-bundled but it isn’t the latest version of the engine. To get Stockfish 14, go to the download page and select the version you think will run best on your system, if in doubt, get the most compatible binary.
Once you’ve finished the download, you will have a zip folder in your downloads folder, right-click it and press Extract All. After the files are extracted, you’re ready to load Stockfish into PyChess. In PyChess, simply press the Edit button in the menu and then go to Engines. In the box that appears, you should see a button that allows you to add new engines, press that and direct it to the Stockfish executable in the extracted folder.
Using Stockfish as an analyser
Now that Stockfish 14 is installed in PyChess, you will want to make it your default analyser. Press Edit in the menu again and open Preferences, then go to the Hints tab and under the Analysing header, check the ‘use analyser’ option and pick Stockfish 14 from the dropdown, you can also do this for your opponent’s analyser.
To put this analyser to work, press Game in the menu, then New Game and then choose one of the options. Under players, select Human Being and pick a rival and start the game. Press View in the menu and select Hint arrow, this will allow the Stockfish analyser to point out the best moves for you to make. Enabling the Spy arrow will display your opponent's best moves.
If you’ve played a game on a website like Chess.com, it’s possible to download a PGN file of the games you’ve played in the past. If you press Game in the PyChess menu, select new game and then load a game from notation, you can view your game move by move and see Stockfish’s recommendations with the hint arrows. Once you’ve analysed your own games, using a chess engine to further help find the best moves will help you the next time you’re in a similar position.
Computer vs Computer fun
When you were choosing the game participants in the last part of the guide, you might have noticed that you can make both players computer-operated, allowing different engines to play against each other. This can be useful if you want to see how the newest Stockfish version performs against older versions, or if you want to try out one engine brand against another. There are lots of chess engines out there but some that are freely available are Komodo and LCZero.
While selecting which engines you want to battle each other, also notice that there is a power bar underneath. If you want the engine to play at its full potential, be sure to rack it up to 20. If you want to play against any of the engines, feel free to lower this level so that you have an easier time playing against the computer.
While having the latest Stockfish engine set up is invaluable for developing in chess, the PyChess program also includes other useful features for helping you improve. In PyChess 1.0 and above, be sure to look at the category section in the lower right of the home screen, this contains lots of lectures, lessons, puzzles, and endgames. Having all these items compiled in one place will definitely expedite your chess improvement!
Once you’re ready to play real people check out websites like Chess.com and Lichess.org where you will be given a rating based on your wins, losses or draws to help you track how much you’re improving. Your constantly adjusted rating on these websites will ensure you play people of your skill level, so don’t worry if you’re not a good player yet.