Intentional Delays in Apple Chess (so you don’t feel so bad)

The source code for Apple Chess reveals the intentional inclusion of a time delay in the computer making its moves. As a comment in the source explains:

// Paradoxically enough, moving as quickly as possible is 
// not necessarily desirable. Users tend to get frustrated 
// once they realize how little time their Mac really spends 
// to crush them at low levels. In the interest of promoting 
// harmonious Human - Machine relations, we enforce minimum
// response times.
const NSTimeInterval kInteractiveDelay	= 2.0;
const NSTimeInterval kAutomaticDelay	= 4.0;

Taking a rudimentary look at the code, it looks like kInteractiveDelay is for computer-human game modes (so an intentional delay to make us feel better), while kAutomaticDelay is for computer-computer game modes (so a delay likely there to give us some time to process the moves).

From my own experience, it is pretty demoralising to get absolutely crushed at chess by a computer taking only a few milliseconds to decide each move!

via @bazscott