Many thanks, Jim!
I just noticed what may be another bug (but I'm not sure). I found this with CuteChess but can reproduce it on the command line too (using -xboard option). When the engine is set to play white, in "force" mode, after receiving several usermove's (book moves sent by the GUI) and then it is told "go" when it is white's turn it does not go, because it believes it is playing black. If I send the command "white" before "go" then it works fine and makes a move.
Reading the Winboard protocol it seems that if it is in "force" mode, then it should take whatever side's turn it is when it is given "go" (ie if it is white's turn it should do the same as if it had received "white" followed by "go").
In this example it never moves after getting the "go" command:
Code: Select all
new
force
level 0 2 0
post
easy
usermove e2e4
usermove e7e5
go
but if the input is this below then it does move (though this is not what CuteChess sends, as it seems the spec says that when go is received the engine should take that color's turn):
Code: Select all
new
force
level 0 2 0
post
easy
usermove e2e4
usermove e7e5
white
go
stat 0 0 0 0
1 -3 0 115 b1c3
2 77 0 2451 b1c3 b8c6 g1f3
3 -3 2 20112 b1c3 b8c6 g1f3
4 47 7 56416 g1f3 b8c6 f1d3 g8f6
5 5 41 248348 g1f3 g8f6 f1d3 f8d6 e1g1
move g1f3
If it is selected to play black, then there is no problem (as it assumes it is playing back from the start and therefore does not need the "black" command).
The funny thing is that if there is no book moves sent by the GUI, then it seems to understand that it is it's turn playing white:
Code: Select all
new
force
level 0 2 0
post
easy
time 12000
otim 12000
go
stat 0 0 0 0
1 -3 0 78 b1c3
2 77 0 1428 b1c3 b8c6 g1f3
3 -3 1 7041 b1c3 b8c6 g1f3
4 -3 2 23802 g1h3 b8c6 b1c3 g8f6
5 -3 11 89908 b1c3 g8f6 g1f3 b8c6 a2a3
6 32 86 743088 g1f3 g8f6 e2e3 e7e5 f1e2 b8c6
7 5 276 2016242 g1f3 g8f6 e2e3 e7e6 f1d3 f8d6 e1g1
move g1f3
In both cases it is in "force" mode but if no "usermove" were sent then it knows to play as white when it gets the "go" . So if the GUI does not use a book everything seems to work well, but when it uses one then it fails to play as white...
I'm trying to have it play in my engine tournaments to get a feeling for its strength and currently can only do so by not using a book
Thanks!
Scientist, programmer, and general computer geek.