Rev 178 | 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 = "" | ||
| 192 | pmbaty | 20 | ; minimal Windows version requirement | 
| 21 | winver = 5.1 | ||
| 33 | pmbaty | 22 | |
| 154 | pmbaty | 23 | ;######################### | 
| 24 | ;# Reply string patterns # | ||
| 25 | ;######################### | ||
| 33 | pmbaty | 26 | [reply strings] | 
| 27 | |||
| 28 | ; the following pattern immediately precedes a SAN-encoded move reply | ||
| 51 | pmbaty | 29 | move = "move " | 
| 33 | pmbaty | 30 | |
| 154 | pmbaty | 31 | ;################################################## | 
| 32 | ;# Engine commands (separate each by a semicolon) # | ||
| 33 | ;################################################## | ||
| 33 | pmbaty | 34 | [commands] | 
| 154 | pmbaty | 35 | ; Special strings: some strings enclosed between ${...} are converted during | 
| 36 | ; the game to dynamic values. We call this "variables". Here is the list: | ||
| 37 | ; ${MAX_CORES} -- will be expanded to the maximum number of CPU cores to use | ||
| 178 | pmbaty | 38 | ; ${START_POS} -- will be expanded to the full FEN string of the start pos | 
| 154 | pmbaty | 39 | ; ${CURRENT_POS} -- will be expanded to the full FEN string of the current pos | 
| 40 | ; ${SEARCH_DEPTH} -- will be expanded to the maximum allowed search depth | ||
| 41 | ; ${LAST_MOVE} -- will be expanded to the last move in long algebraic notation | ||
| 42 | ; ${GAME_HISTORY} -- will be expanded to the game history in long algebraic | ||
| 33 | pmbaty | 43 | |
| 44 | ; command(s) to send to prepare the engine for a new game | ||
| 40 | pmbaty | 45 | new game = "new" | 
| 154 | pmbaty | 46 | |
| 47 | ; command(s) to send to setup a board (using a a raw FEN string) | ||
| 48 | setup table from fen = "sd ${SEARCH_DEPTH};setboard ${CURRENT_POS}" | ||
| 49 | |||
| 33 | pmbaty | 50 | ; command(s) to send to order the engine to start playing (when switching sides) | 
| 154 | pmbaty | 51 | play = "sd ${SEARCH_DEPTH};go" | 
| 52 | |||
| 53 | ; command(s) to send to instruct the engine that its opponent played a move | ||
| 54 | move = "sd ${SEARCH_DEPTH};${LAST_MOVE}" | ||
| 55 | |||
| 56 | ; command(s) to send to order the engine to change its last move and force one | ||
| 57 | force move = "force;undo;${LAST_MOVE};sd ${SEARCH_DEPTH};playother" | ||
| 58 | |||
| 33 | pmbaty | 59 | ; command(s) to send to tell the chess engine to cleanup and quit. if unset, | 
| 60 | ; its process will be killed, but at the risk of not saving important data. | ||
| 40 | pmbaty | 61 | quit = "quit" |