lichess.org
Donate

Make sense of chess engine output with Move Highlighter

A new Chrome extension helps translate Stockfish to English (and other human languages)

Sometimes Stockfish gives an eval I don’t understand. And unfortunately it doesn’t explain its evaluation with something plain like “white can’t stop the pawn from queening” or “black has an unstoppable kingside attack”.

Sometimes, if the eval confuses me, I dig into the engine’s lines. And sometimes that leaves me even more confused, as there’s not just one winning move, but multiple moves that maintain the mysterious advantage or disadvantage.

To help make sense of the madness, I developed a Chrome extension, Move Highlighter, to improve on the user interface for Stockfish engine analysis on Lichess. Click the link to install it.

Here’s an example of how it works. Say you’re trying to understand why the engine thinks black has such a huge advantage (-8.1) in this position.

image

This is all the regular Lichess interface except for the highlighting in the engine analysis section in the upper right. Without highlighting, it would take some time to read through all five lines. With the highlighting, though, some things jump out at you: no matter what white plays here, black will play Ng4, and then their likely follow-up moves are h5 and Qxh2+. And if you didn’t understand why black had a winning advantage, hopefully now you do.

Hopefully it’s pretty intuitive how this works:

  • Some of the current side’s moves (white’s moves in this case) are hightlighted in solid color.
  • Some of the other side’s moves (black’s in this case) are outlined.
  • The highlighted and outlined moves are the ones that occur most frequently across all five lines.
  • The intent is to help you translate engine output into something more human-understandable, like “Black is winning because white can’t stop Ng4 and Qxh2+.”

Here’s another example:

image

White’s b-pawn is almost promoting, while black’s passed pawn is blockaded. So why does the engine have this as close to drawn? Because, as Move Highlighter makes clear, black can play (in any order) Rd8 and Kh4-g3-f3, and white will have to choose between trading their g-pawn for black’s e-pawn, turning the h-pawn into a threat, or unblockading the e-pawn.

One more:

image

Why is the top engine move to throw away an exchange on d5? Because if white doesn’t do that, black will play f4 exf4 Nxf4 with ideas of g5 and Re2+, and the white king is very vulnerable to tactics.

Please leave any feedback in the comments or get in touch with me on Twitter. If there are bugs, I especially want to hear about them!