FCP

toc
 * Home * Engines * FCP**

a derivation of Tom Kerrigan's simple chess program TSCP 1.71 written by Ian Osgood as an exercise in learning the Forth programming language. At the time it was started, there were no other chess programs in Forth which used modern search techniques. FCP retains the values of small footprint (< 64K) and code clarity. Normally, FCP is used from the Forth command line. There are also drivers for working in XBoard and running EPD test suites.
 * FCP**, (Forth Chess Program)

=Enhancements= Although FCP started with a nearly identical evaluation function as an aid to detecting bugs when porting from C to Forth, FCP diverged from TSCP in many ways :
 * 0x88
 * Piece lists
 * Track king positions for faster check detection
 * Procedural move generation with loop unrolling
 * Alpha-beta with aspiration windows
 * Using the open parameter stack allows only passing alpha to search and quiescence (the alpha from the ancestor node is -beta for this node)
 * Killer heuristic
 * Null move pruning
 * Check extensions
 * Incremental material and pawn evaluation
 * Opening Book

=Future plans=
 * Transposition table
 * Search extensions
 * Late move reductions.

=See also=
 * Acronym

=Forum Posts=
 * [|TSCP enhancements (Re: Short chess programs)] by Ian Osgood, CCC, September 19, 2002

=External Links=
 * [|FCP home page]
 * [|Forth application benchmark suite (ZIP)] contains both FCP and another Forth chess program called Brainless by David Kühling

=References= =What links here?= include component="backlinks" page="FCP" limit="20"
 * Up one Level**