Rev 154 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
154 | pmbaty | 1 | ; Chess engine configuration file for Chess Giants. |
32 | pmbaty | 2 | |
154 | pmbaty | 3 | ; Chess Giants is engine-agnostic, which means it can handle any CECP-compliant |
4 | ; engine, and virtually any state-based engine that communicates using newline- |
||
5 | ; terminated ASCII strings over standard IO (stdin/stdout). All it needs is to |
||
6 | ; read this configuration file to learn how to talk to the engine, and how to |
||
7 | ; interpret the engine's replies. |
||
33 | pmbaty | 8 | |
154 | pmbaty | 9 | ;############################# |
10 | ;# Basic program information # |
||
11 | ;############################# |
||
33 | pmbaty | 12 | [program] |
13 | |||
14 | ; program display name |
||
154 | pmbaty | 15 | name = "Crafty 25.2" |
33 | pmbaty | 16 | ; program executable |
40 | pmbaty | 17 | executable = "crafty.exe" |
151 | pmbaty | 18 | ; optional program arguments |
19 | arguments = "" |
||
33 | pmbaty | 20 | |
154 | pmbaty | 21 | ;######################### |
22 | ;# Reply string patterns # |
||
23 | ;######################### |
||
33 | pmbaty | 24 | [reply strings] |
25 | |||
26 | ; the following pattern immediately precedes a SAN-encoded move reply |
||
51 | pmbaty | 27 | move = "move " |
33 | pmbaty | 28 | |
154 | pmbaty | 29 | ;################################################## |
30 | ;# Engine commands (separate each by a semicolon) # |
||
31 | ;################################################## |
||
33 | pmbaty | 32 | [commands] |
154 | pmbaty | 33 | ; Special strings: some strings enclosed between ${...} are converted during |
34 | ; the game to dynamic values. We call this "variables". Here is the list: |
||
35 | ; ${MAX_CORES} -- will be expanded to the maximum number of CPU cores to use |
||
178 | pmbaty | 36 | ; ${START_POS} -- will be expanded to the full FEN string of the start pos |
154 | pmbaty | 37 | ; ${CURRENT_POS} -- will be expanded to the full FEN string of the current pos |
38 | ; ${SEARCH_DEPTH} -- will be expanded to the maximum allowed search depth |
||
39 | ; ${LAST_MOVE} -- will be expanded to the last move in long algebraic notation |
||
40 | ; ${GAME_HISTORY} -- will be expanded to the game history in long algebraic |
||
33 | pmbaty | 41 | |
42 | ; command(s) to send to prepare the engine for a new game |
||
40 | pmbaty | 43 | new game = "new" |
154 | pmbaty | 44 | |
45 | ; command(s) to send to setup a board (using a a raw FEN string) |
||
46 | setup table from fen = "sd ${SEARCH_DEPTH};setboard ${CURRENT_POS}" |
||
47 | |||
33 | pmbaty | 48 | ; command(s) to send to order the engine to start playing (when switching sides) |
154 | pmbaty | 49 | play = "sd ${SEARCH_DEPTH};go" |
50 | |||
51 | ; command(s) to send to instruct the engine that its opponent played a move |
||
52 | move = "sd ${SEARCH_DEPTH};${LAST_MOVE}" |
||
53 | |||
54 | ; command(s) to send to order the engine to change its last move and force one |
||
55 | force move = "force;undo;${LAST_MOVE};sd ${SEARCH_DEPTH};playother" |
||
56 | |||
33 | pmbaty | 57 | ; command(s) to send to tell the chess engine to cleanup and quit. if unset, |
58 | ; its process will be killed, but at the risk of not saving important data. |
||
40 | pmbaty | 59 | quit = "quit" |