Subversion Repositories Games.Chess Giants

Rev

Rev 151 | Rev 171 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 151 Rev 154
Line 1... Line 1...
1
# Chess engine configuration file for Chess Giants.
1
; Chess engine configuration file for Chess Giants.
2
 
2
 
3
# Chess Giants is engine-agnostic, which means it can handle any CECP-compliant
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-
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
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
6
; read this configuration file to learn how to talk to the engine, and how to
7
# interpret the engine's replies.
7
; interpret the engine's replies.
8
 
8
 
9
# IMPORTANT: UCI engines are "stateless" engines. These engines work in a very
-
 
10
# different way and therefore an adapter program such as Polyglot must be used.
-
 
11
# Here is an example of how a UCI engine can be used with Chess Giants thanks
-
 
12
# to the Polyglot protocol converter (see also the polyglot.ini file).
-
 
13
 
-
 
14
#############################
9
;#############################
15
# Basic program information #
10
;# Basic program information #
16
#############################
11
;#############################
17
[program]
12
[program]
18
 
13
 
19
; program display name
14
; program display name
20
name = "Stockfish 7"
15
name = "Stockfish 8"
21
; program executable
16
; program executable
22
executable = "polyglot.exe"
17
executable = "stockfish.exe"
23
; optional program arguments
18
; optional program arguments
24
arguments = ""
19
arguments = ""
25
 
20
 
26
#########################
21
;#########################
27
# Reply string patterns #
22
;# Reply string patterns #
28
#########################
23
;#########################
29
[reply strings]
24
[reply strings]
30
 
-
 
31
; the following pattern immediately precedes a SAN-encoded move reply
-
 
32
move = "move "
-
 
33
 
25
 
-
 
26
; the following pattern immediately precedes a SAN-encoded move reply
-
 
27
move = "bestmove "
-
 
28
 
34
###################
29
;##################################################
35
# Engine commands #
30
;# Engine commands (separate each by a semicolon) #
36
###################
31
;##################################################
37
[commands]
32
[commands]
-
 
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
-
 
36
; ${CURRENT_POS} -- will be expanded to the full FEN string of the current pos
-
 
37
; ${SEARCH_DEPTH} -- will be expanded to the maximum allowed search depth
-
 
38
; ${LAST_MOVE} -- will be expanded to the last move in long algebraic notation
-
 
39
; ${GAME_HISTORY} -- will be expanded to the game history in long algebraic
38
 
40
 
39
; command(s) to send to prepare the engine for a new game
41
; command(s) to send to prepare the engine for a new game
40
new game = "new"
42
new game = "uci;ucinewgame;setoption name Threads value ${MAX_CORES}"
-
 
43
 
41
; command(s) to send to setup a board (%s replaced by a raw FEN string)
44
; command(s) to send to setup a board (using a raw FEN string)
42
setup table from fen = "setboard %s"
45
setup table from fen = "position ${CURRENT_POS}"
43
; command(s) to send to set the max search depth (%d replaced by an integer value)
-
 
44
search depth set = "sd %d"
-
 
-
 
46
 
45
; command(s) to send to order the engine to start playing (when switching sides)
47
; command(s) to send to order the engine to start playing (when switching sides)
46
play = "go"
48
play = "position startpos moves ${GAME_HISTORY};go depth ${SEARCH_DEPTH}"
-
 
49
 
47
; command(s) to send to instruct the engine that its opponent played a specific
50
; command(s) to send to instruct the engine that its opponent played a move
48
; move (%s replaced by a 'b1c3'-style encoded move string)
51
move = "position startpos moves ${GAME_HISTORY};go depth ${SEARCH_DEPTH}"
49
move = "%s"
52
 
50
; command(s) to send to order the engine to discard its preferred move and play
53
; command(s) to send to order the engine to change its last move and force one
51
; a specific move instead (%s replaced by a 'b1c3'-style encoded move string)
-
 
52
force move = "force;undo;%s;playother"
54
force move = ""
-
 
55
 
53
; command(s) to send to tell the chess engine to cleanup and quit. if unset,
56
; command(s) to send to tell the chess engine to cleanup and quit. if unset,
54
; its process will be killed, but at the risk of not saving important data.
57
; its process will be killed, but at the risk of not saving important data.
55
quit = "quit"
58
quit = "quit"