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

  1. ^ v01i023: chess - C source for chess by John Stanback, comp.sources.games, May 21, 1987
  2. ^ Chess 2.0 for Amiga (1989), MobyGames
  3. ^ SCP/Gnuchess 2.02 JA by John Stanback - Update by Jim Ablett, CCC, July 25, 2009
  4. ^ SCP maintained and updated by Jim Ablett, hosted by Kirill Kryukov
  5. ^ Re: Detecting three-fold repetition? by John Stanback, CCC, July 17, 2000
  6. ^ Re: Move Tables - explain as if I'm five by Karlo Bala Jr., CCC, November 05, 2012
  7. ^ Re: Old programs CHAOS and USC by Dann Corbit, CCC, July 11, 2015

What links here?


Up one level