Rev 50 | Go to most recent revision | Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line | 
|---|---|---|---|
| 47 | pmbaty | 1 | # Chess engine configuration file for Chess Giants.  | 
        
| 2 | |||
| 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. | 
        ||
| 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 | |||
| 12 | # Here is an example of how a UCI engine (Fruit) can be used with Chess Giants | 
        ||
| 13 | # thanks to the Polyglot protocol converter. When using UCI engines with Chess | 
        ||
| 14 | # Giants, be aware that two game features may not work : user-requested hints, | 
        ||
| 15 | # and engine obstinacy (UCI engines are stateless and don't support obstinacy).  | 
        ||
| 16 | |||
| 17 | #############################  | 
        ||
| 18 | # Basic program information #  | 
        ||
| 19 | #############################  | 
        ||
| 20 | [program] | 
        ||
| 21 | |||
| 22 | ; program display name | 
        ||
| 23 | name = "Stockfish 5"  | 
        ||
| 24 | ; program executable | 
        ||
| 25 | executable = "polyglot.exe"  | 
        ||
| 26 | |||
| 27 | #########################  | 
        ||
| 28 | # Reply string patterns #  | 
        ||
| 29 | #########################  | 
        ||
| 30 | [reply strings] | 
        ||
| 31 | |||
| 32 | ; the following pattern immediately precedes a SAN-encoded move reply | 
        ||
| 33 | move = "move "  | 
        ||
| 34 | ; the following pattern immediately precedes a hint reply | 
        ||
| 35 | hint = "Hint: "  | 
        ||
| 36 | |||
| 37 | ###################  | 
        ||
| 38 | # Engine commands #  | 
        ||
| 39 | ###################  | 
        ||
| 40 | [commands] | 
        ||
| 41 | |||
| 42 | ; command(s) to send to prepare the engine for a new game | 
        ||
| 43 | new game = "new"  | 
        ||
| 44 | ; command(s) to send to setup a board (%s replaced by a raw FEN string) | 
        ||
| 45 | setup table from fen = "setboard %s"  | 
        ||
| 46 | ; command(s) to send to set the max search depth (%d replaced by an integer value) | 
        ||
| 47 | search depth set = "sd %d"  | 
        ||
| 48 | ; command(s) to send to order the engine to start playing (when switching sides) | 
        ||
| 49 | play = "go"  | 
        ||
| 50 | ; command(s) to send to order the engine to analyze this position | 
        ||
| 51 | hint = "hint"  | 
        ||
| 52 | ; command(s) to send to instruct the engine that its opponent played a specific | 
        ||
| 53 | ; move (followed by a 'b1c3'-style encoded move string) | 
        ||
| 54 | move = "%s"  | 
        ||
| 55 | ; command(s) to send to order the engine to discard its preferred move and play | 
        ||
| 56 | ; a specific move instead (%s replaced by a 'b1c3'-style encoded move string) | 
        ||
| 57 | force move = "force;undo;%s;playother"  | 
        ||
| 58 | ; command(s) to send to tell the chess engine to cleanup and quit. if unset, | 
        ||
| 59 | ; its process will be killed, but at the risk of not saving important data. | 
        ||
| 60 | quit = "quit"  |