Subversion Repositories Games.Chess Giants

Rev

Rev 154 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  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. ;#############################
  10. ;# Basic program information #
  11. ;#############################
  12. [program]
  13.  
  14. ; program display name
  15. name = "Crafty 25.2"
  16. ; program executable
  17. executable = "crafty.exe"
  18. ; optional program arguments
  19. arguments = ""
  20.  
  21. ;#########################
  22. ;# Reply string patterns #
  23. ;#########################
  24. [reply strings]
  25.  
  26. ; the following pattern immediately precedes a SAN-encoded move reply
  27. move = "move "
  28.  
  29. ;##################################################
  30. ;# Engine commands (separate each by a semicolon) #
  31. ;##################################################
  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. ; ${START_POS} -- will be expanded to the full FEN string of the start pos
  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
  41.  
  42. ; command(s) to send to prepare the engine for a new game
  43. new game = "new"
  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.  
  48. ; command(s) to send to order the engine to start playing (when switching sides)
  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.  
  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.
  59. quit = "quit"
  60.