fsmosca / chess-artist

A python script that can annotate chess games in pgn file with static evaluation or search score of an engine, can annotate an epd file with acd, acs, bm, and ce opcodes, can test engine with epd test suite and can generate chess puzzles.
GNU General Public License v3.0
69 stars 18 forks source link

Limit engine analysis. #21

Closed fsmosca closed 7 years ago

fsmosca commented 7 years ago

Game analysis is consist of 3 parts.

  1. Analyze the move of the player in the game. This is controlled by the option, -eval with values, none, static, search -eval static, tells the script to get the evaluation of the player move by engine static evaluation. -eval search, tells the script to get the evaluation of the player move by engine search score. Example, 1. e4 {+0.10} c5 {+0.10} ... If you don't want to evaluate the player move use the option, -eval none in the command line.
  2. Annotate the player move by cerebellum book moves. This is controlled by the option, -book with values none, cerebellum, polyglot Example, 1. Nf3 (1. e4 {cerebellum}) 1... Nf6 (1... d5 {cerebellum}) ... To disable it use, -book none in the command line. polyblot option value is not yet implemented.
  3. Annotate the player move with engine best move and score. This is controlled by the option, -job with values none, analyze, test By default the -job value is analyze. The test value is used for engine epd testing. Example, 6. O-O $0 {-0.61} (6. a3 {cerebellum}) (6. e3 {-0.34 - Brainfish}) If you don't want to activate it, use -job none in the command line.

When the evaluation of a player move is already winning +6 pawns or already losing -6 pawns see (1) above, don't analyze the position with engine looking for its recommended move and score output, see (3) above. This will save analysis time for the 3rd part of analysis.