SCP

From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * SCP

SCP, (Stanback Chess Program, also mentioned as JSCP)
an open source chess program by John Stanback, written in C and published in May 1987 at comp.sources.games [1]. SCP later evolved to GNU Chess 2-4, and was also ported to the Amiga as Chess and Chess 2.0, the latter with a mouse-driven GUI [2]. A WinBoard compatible version of SCP was most recently updated by Jim Ablett [3], hosted by Kirill Kryukov [4].

Description

Search

SCP represents the board as 12x12 mailbox array with piece lists, and uses full-width alpha-beta with extensions on checks, check evasions, promotions, threats and threats to multiple pieces. Capture sequences are handled by a separate search routine.

Repetitions

SCP seems to originate the repetition counting algorithm, also found in some GNU Chess versions, TSCP [5], and Belzebub. It may detect false repetitions in case of exchanging two unequal pieces [6].

  for (i = GameCnt; i > Game50; i--)  {
    m = GameList[i]; f = m>>8; t = m & 0xFF;
    if (t != 255 && f != 255) {
      b[f]++; b[t]--;
      if (b[f] == 0) c--; else c++;
      if (b[t] == 0) c--; else c++;
      if (c == 0) r++;
    }
  }

Evaluation

SCP's evaluation considers material, piece-square tables for knights, bishops and passed pawns, piece mobility, pawn structure, rook on (half) open files, and some king safety issues and positive king centre proximity in the endgame.

Publications

See also

Forum Posts

External Links

References

Up one level