You’re doing computer chess game commentary wrong

Bram Cohen
4 min readJan 24, 2021

Computer chess games are fun to play over, even if it’s just because you know that these are the best chess playing entities in the world and some of their wisdom is contained in the games they’re playing out. Commentary of course adds to the fun, but that leads to a problem: How should a commentator pass judgement on players who are vastly, insanely better than them? In the past chess engines had so many weird artifacts in their play that humans could at least point those out, but the recent neural network engines are so good that that’s become rare. Usually these days the humans simply pretend like they know better even though they don’t and spin some narratives and give some tactics which the audience won’t see immediately. The tactics at least yield some insight, but the narratives are almost always bogus.

If you look at the computer evaluations throughout the games with recent engines, the vast majority of games the narrative should be ‘this player started in a better position and gradually executed on it’ (a lot of games these days start in preset positions where one side has an advantage to avoid every game being a draw) or ‘the game started in an equal position and this player gradually outplayed the other one until they won the game’ or ‘this player started out with a small advantage which fizzled out’ or ‘this game started out equal and nothing happened and it ended in a draw’. Trying to put some back-and-forth spin on it is just adding artificial drama. (Okay, this may be a universally applicable statement about all sports commentary, but please keep reading.)

Fortunately even today there are some top engine chess games which have some evolution over the course of the game, and you as the human commentator have an advantage: You can use the chess engines, and you can notice when they change their mind or disagree and infer that at least one of them must be wrong. In particular you can tell when a player changes their evaluation by a lot suddenly, which in computer chess parlance is called a boom (or moob if it’s in the direction of a draw). Some chess commentators know to excitedly point out when booms happen but they almost universally are missing out on the next step of explaining what the boom meant. Fortunately there’s a straightforward technique for doing that which I’ll now explain.

While the computers cannot with current technology speak for themselves there’s a way of teasing the information out of them. There are two types of booms: Ones where the players’s evals were previously about equal and diverged in favor of the player whose eval changed, and ones in which the evals were previously divergent and jumped in favor of the opponent (obviously there are two more cases but they’re rare and weird and while you absolutely should cover them when they happen you’re going to have to use more creativity than using the formula I’m about to give.) In the former case it generally means a player made a mistake and is usually followed by an instance of the latter, so while you should note that it happened the real meat of what’s going on can be covered on the second boom.

Now the big insight: A boom in favor of the opponent means that a player suddenly realized something. Your job as commentator is to figure out what. You can’t just play out the moves to see what it was because usually the player who boomed will avoid the line where they realized something and go into damage control. But there is an indirect way of asking them what’s going on. Play out the move which they planned to do immediately before the boom, then ask the engine which already saw whatever the problems was to play a response to that, then go back to the boomed engine again and make it evaluate the position from scratch. The’ll have another boom. On each successive move the boom will happen quicker until eventually it gets in the range where your little human brain can figure out what’s going on. It can get fast enough that it’s hard to see what flashed on your screen though, so it would be nice if chess engines had a feature of persistently showing you what move they planned to play before they boomed, even if it took less than a second for them to figure it out.

You might protest that this approach is oversimplifying what computers are doing, more creating an interesting narrative than explaining what happened. But that’s a universal condemnation of any chess analysis which includes example lines. The lines produced this way are both important ones for the position and tend to end on some truly astounding tactics, often worthy of being presented as chess puzzles, which if nothing else results in fun commentary.

One notable exception to the missing lines being interesting: Sometimes on a moob the sudden insight is ‘I’m going to hit the 50 move rule before realizing my advantage’. I previously claimed that bullet playouts can readily identify dead drawn positions which engines still think are unbalanced, and prognosticated that bullet playouts would get integrated into chess engines to fix this artifact. On the former I was and am right: Even the latest neural network engines think they have meaningful advantages in dead drawn positions, sometimes even ones obvious to humans. But the second part I have so far been completely wrong. Engines have been getting better by moving away from deep analysis, except to the extent that their sheer brute force and early pruning make their lookahead deeper. This is an ever deepening mystery. While bullet games are expensive to play out and identify artifacts in only a fraction of cases with engines becoming near perfect you’d expect the fraction of their evaluation time which could be productively put into bullet playouts would be greater than zero, but nobody’s figured out a way to do it which makes the engine’s overall playing strength greater so far.

--

--

Bram Cohen

Creator of BitTorrent. Mad scientist. Puzzle author.