Skip to main content
added 45 characters in body
Source Link

I am building a chess engine using AI and have succesfully connected it to the Arena Gui, by implementing the UCI protocol.

My goal is to train my AI by facing other AIs that Arena offers. Everything works well except the checkmate part where one of the engine loses. More specifically Arena does not give the last move made(that ended the game) to the losing engine,but instead it starts a new game when in tournament mode.

eg(from Arena debug):

2016-09-13 14:48:26,119-->2:position startpos moves d2d4 d7d5 a2a3 e7e6 a3a4 b8c6 a1a3 f8a3 e2e4 a3f8 b2b4 f8b4 c2c3 b4a5 f1e2 d5e4 g2g3 c6d4 e2d3 e4d3 c1g5 d4c2 d1c2 d3c2 g5d8 c2b1q e1e2 b7b6 g1f3 c8a6 c3c4 a6c4 e2e3 b1b3 e3e4 c4e2 d8g5 b3f3 e4d4
2016-09-13 14:48:26,119-->2:go wtime 295296 btime 231219 winc 0 binc 0
2016-09-13 14:48:26,121<--2:info score cp 3343 lowerbound depth 1 nodes 1 time 0 pv f3h1
2016-09-13 14:48:26,123<--2:info score cp 3343 depth 1 nodes 2 time 0 pv f3h1
2016-09-13 14:48:26,126<--2:info score mate 1 lowerbound depth 1 nodes 5 time 0 pv a5c3
2016-09-13 14:48:26,128<--2:info score mate 1 depth 1 nodes 6 time 0 pv a5c3
2016-09-13 14:48:26,129<--2:info cpuload 0
2016-09-13 14:48:26,130<--2:bestmove a5c3
2016-09-13 14:48:26,130*2*Found move:Ba5-c3
2016-09-13 14:48:26,290********Game end: 0-1 {Mate}
2016-09-13 14:48:26,291********Last game won by AnMon 5.75 with Black in 20 moves

In the example above my engine lost to its adversary(AnMon). As you can see the opponent gave the move a5c3 to the interface, and Arena just ended the game without sending a message to my engine before beggining a new game.

The problem lies in the fact that my goal is to train my engine's AI and to do that i need the last move made so that i can determine who won and who lost. Is there a way to make Arena give me that information?

If not what other engines that meet my needs would you reccomend?

I am building a chess engine using AI and have succesfully connected it to the Arena Gui, by implementing the UCI protocol.

My goal is to train my AI by facing other AIs that Arena offers. Everything works well except the checkmate part where one of the engine loses. More specifically Arena does not give the last move made(that ended the game) to the losing engine,but instead it starts a new game when in tournament mode.

eg(from Arena debug):

2016-09-13 14:48:26,119-->2:position startpos moves d2d4 d7d5 a2a3 e7e6 a3a4 b8c6 a1a3 f8a3 e2e4 a3f8 b2b4 f8b4 c2c3 b4a5 f1e2 d5e4 g2g3 c6d4 e2d3 e4d3 c1g5 d4c2 d1c2 d3c2 g5d8 c2b1q e1e2 b7b6 g1f3 c8a6 c3c4 a6c4 e2e3 b1b3 e3e4 c4e2 d8g5 b3f3 e4d4
2016-09-13 14:48:26,119-->2:go wtime 295296 btime 231219 winc 0 binc 0
2016-09-13 14:48:26,121<--2:info score cp 3343 lowerbound depth 1 nodes 1 time 0 pv f3h1
2016-09-13 14:48:26,123<--2:info score cp 3343 depth 1 nodes 2 time 0 pv f3h1
2016-09-13 14:48:26,126<--2:info score mate 1 lowerbound depth 1 nodes 5 time 0 pv a5c3
2016-09-13 14:48:26,128<--2:info score mate 1 depth 1 nodes 6 time 0 pv a5c3
2016-09-13 14:48:26,129<--2:info cpuload 0
2016-09-13 14:48:26,130<--2:bestmove a5c3
2016-09-13 14:48:26,130*2*Found move:Ba5-c3
2016-09-13 14:48:26,290********Game end: 0-1 {Mate}
2016-09-13 14:48:26,291********Last game won by AnMon 5.75 with Black in 20 moves

In the example above my engine lost to its adversary(AnMon). As you can see the opponent gave the move a5c3 to the interface, and Arena just ended the game without sending a message to my engine before beggining a new game.

The problem lies in the fact that my goal is to train my engine's AI and to do that i need the last move made. Is there a way to make Arena give me that information?

If not what other engines that meet my needs would you reccomend?

I am building a chess engine using AI and have succesfully connected it to the Arena Gui, by implementing the UCI protocol.

My goal is to train my AI by facing other AIs that Arena offers. Everything works well except the checkmate part where one of the engine loses. More specifically Arena does not give the last move made(that ended the game) to the losing engine,but instead it starts a new game when in tournament mode.

eg(from Arena debug):

2016-09-13 14:48:26,119-->2:position startpos moves d2d4 d7d5 a2a3 e7e6 a3a4 b8c6 a1a3 f8a3 e2e4 a3f8 b2b4 f8b4 c2c3 b4a5 f1e2 d5e4 g2g3 c6d4 e2d3 e4d3 c1g5 d4c2 d1c2 d3c2 g5d8 c2b1q e1e2 b7b6 g1f3 c8a6 c3c4 a6c4 e2e3 b1b3 e3e4 c4e2 d8g5 b3f3 e4d4
2016-09-13 14:48:26,119-->2:go wtime 295296 btime 231219 winc 0 binc 0
2016-09-13 14:48:26,121<--2:info score cp 3343 lowerbound depth 1 nodes 1 time 0 pv f3h1
2016-09-13 14:48:26,123<--2:info score cp 3343 depth 1 nodes 2 time 0 pv f3h1
2016-09-13 14:48:26,126<--2:info score mate 1 lowerbound depth 1 nodes 5 time 0 pv a5c3
2016-09-13 14:48:26,128<--2:info score mate 1 depth 1 nodes 6 time 0 pv a5c3
2016-09-13 14:48:26,129<--2:info cpuload 0
2016-09-13 14:48:26,130<--2:bestmove a5c3
2016-09-13 14:48:26,130*2*Found move:Ba5-c3
2016-09-13 14:48:26,290********Game end: 0-1 {Mate}
2016-09-13 14:48:26,291********Last game won by AnMon 5.75 with Black in 20 moves

In the example above my engine lost to its adversary(AnMon). As you can see the opponent gave the move a5c3 to the interface, and Arena just ended the game without sending a message to my engine before beggining a new game.

The problem lies in the fact that my goal is to train my engine's AI and to do that i need the last move made so that i can determine who won and who lost. Is there a way to make Arena give me that information?

If not what other engines that meet my needs would you reccomend?

Source Link

Make Arena send last move to chess engine

I am building a chess engine using AI and have succesfully connected it to the Arena Gui, by implementing the UCI protocol.

My goal is to train my AI by facing other AIs that Arena offers. Everything works well except the checkmate part where one of the engine loses. More specifically Arena does not give the last move made(that ended the game) to the losing engine,but instead it starts a new game when in tournament mode.

eg(from Arena debug):

2016-09-13 14:48:26,119-->2:position startpos moves d2d4 d7d5 a2a3 e7e6 a3a4 b8c6 a1a3 f8a3 e2e4 a3f8 b2b4 f8b4 c2c3 b4a5 f1e2 d5e4 g2g3 c6d4 e2d3 e4d3 c1g5 d4c2 d1c2 d3c2 g5d8 c2b1q e1e2 b7b6 g1f3 c8a6 c3c4 a6c4 e2e3 b1b3 e3e4 c4e2 d8g5 b3f3 e4d4
2016-09-13 14:48:26,119-->2:go wtime 295296 btime 231219 winc 0 binc 0
2016-09-13 14:48:26,121<--2:info score cp 3343 lowerbound depth 1 nodes 1 time 0 pv f3h1
2016-09-13 14:48:26,123<--2:info score cp 3343 depth 1 nodes 2 time 0 pv f3h1
2016-09-13 14:48:26,126<--2:info score mate 1 lowerbound depth 1 nodes 5 time 0 pv a5c3
2016-09-13 14:48:26,128<--2:info score mate 1 depth 1 nodes 6 time 0 pv a5c3
2016-09-13 14:48:26,129<--2:info cpuload 0
2016-09-13 14:48:26,130<--2:bestmove a5c3
2016-09-13 14:48:26,130*2*Found move:Ba5-c3
2016-09-13 14:48:26,290********Game end: 0-1 {Mate}
2016-09-13 14:48:26,291********Last game won by AnMon 5.75 with Black in 20 moves

In the example above my engine lost to its adversary(AnMon). As you can see the opponent gave the move a5c3 to the interface, and Arena just ended the game without sending a message to my engine before beggining a new game.

The problem lies in the fact that my goal is to train my engine's AI and to do that i need the last move made. Is there a way to make Arena give me that information?

If not what other engines that meet my needs would you reccomend?