Older Version Newer Version

GerdIsenberg GerdIsenberg Jun 15, 2013

[[toc]]
**[[Home]] * [[Engines]] * FCP**

**FCP**, (Forth Chess Program)
a derivation of [[Tom Kerrigan|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 [[Chess Engine Communication Protocol|XBoard]] and running [[Extended Position Description|EPD]] [[Test-Positions|test suites]].

=Enhancements=
Although FCP started with a nearly identical [[Evaluation function|evaluation function]] as an aid to detecting bugs when porting from [[C]] to Forth, FCP diverged from TSCP in many ways <ref> [[http://www.stmintz.com/ccc/index.php?id=252881|TSCP enhancements (Re: Short chess programs)]] by [[Ian Osgood]], [[CCC]], September 19, 2002</ref>:
* [[0x88]] <ref>[[http://www.stmintz.com/ccc/index.php?id=114438|0x88 is not so smart]] by [[Christophe Théron]], [[CCC]], June 13, 2000</ref>
* [[Piece-Lists|Piece lists]] 
* Track king positions for faster [[Check|check]] detection
* Procedural [[Move Generation|move generation]] with loop unrolling
* [[Alpha-Beta|Alpha-beta]] with [[Aspiration Windows|aspiration windows]]
* Using the open parameter [[Stack|stack]] allows only passing [[Alpha|alpha]] to [[Search|search]] and [[Quiescence Search|quiescence]] (the alpha from the ancestor node is -beta for this node)
* [[Killer Heuristic|Killer heuristic]]
* [[Null Move Pruning|Null move pruning]]
* [[Check Extensions|Check extensions]]
* [[Incremental Updates|Incremental]] [[Material|material]] and [[Pawn Structure|pawn evaluation]]
* [[Opening Book]] 

=Future plans=  
* [[Transposition Table|Transposition table]]
* [[Extensions|Search extensions]]
* [[Late Move Reductions|Late move reductions]].

=See also=
* [[Various Classifications#Acronym|Acronym]]

=Forum Posts=
* [[http://www.stmintz.com/ccc/index.php?id=252881|TSCP enhancements (Re: Short chess programs)]] by [[Ian Osgood]], [[CCC]], September 19, 2002

=External Links= 
* [[http://www.quirkster.com/iano/forth/FCP.html|FCP home page]]
* [[http://www.complang.tuwien.ac.at/forth/appbench.zip|Forth application benchmark suite (ZIP)]] contains both FCP and another Forth chess program called [[Brainless (Forth)|Brainless]] by [[David Kühling]] <ref>[[http://sourceforge.net/projects/forth-brainless/|brainless | Free Games software downloads at SourceForge.net]]</ref>

=References= 
<references />
=What links here?=
[[include component="backlinks" page="FCP" limit="20" ]]
**[[Engines|Up one Level]]**