Closed yellow-panther closed 7 years ago
Thanks! I've got most of the framework done for the en passants, but it's looking like it'll take a bit longer to get it bug free and working! In the latest commit the whole engine isn't running due to the changes being made to move handling etc. After this i'll probably start doing releases so that there's a functioning version of code that doesn't require digging to get to.
With some initial testing done it appears the engine now accepts en passants, although it should also be able to make them as well I haven't seen it do so yet. I'm not entirely sure it's working 100% properly yet and will probably have to add FEN string reading so I can test specific situations before I'm more sure.
Edit: It looks like the fix was actually blocking the engine from generating en passants. It will be a bit longer before it's up.
Have done a fair amount of testing and it looks like the engine can EP now, as well as accept EP's. There's one small issue (possibly not even an issue) that could prevent it from working 100% properly, but as far as I can tell so far they're working correctly.
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "1"] [White "StuckFish 0.1 (UCI2WB)"] [Black "Nemorino (UCI2WB)"] [Result "1/2-1/2"] [TimeControl "40/240"] [Annotator "1... -0.29"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "2"] [White "Nemorino (UCI2WB)"] [Black "StuckFish 0.1 (UCI2WB)"] [Result "0-1"] [TimeControl "40/240"] [Annotator "1. +0.23"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "3"] [White "StuckFish 0.1 (UCI2WB)"] [Black "Nemorino (UCI2WB)"] [Result "1-0"] [TimeControl "40/240"] [Annotator "1... -0.29"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "4"] [White "Nemorino (UCI2WB)"] [Black "StuckFish 0.1 (UCI2WB)"] [Result "0-1"] [TimeControl "40/240"] [Annotator "2. +0.33"]
What does a false win claim by mate mean? Is it not generating any more moves? Is that claim possibly connected to reported score? The engine doesn't claim mate, it just pushes a move and a score to the GUI at the moment.
I will ask HGM the author of WinBoard -GUI, in my opinion during last game 4 the black king was not checkmated , he can evade on another field f8 - but perhaps a rule infraction. The author from Nemorino cf. https://bitbucket.org/christian_g_nther/nemorino/pull-requests/ can be contacted too
Oh so there were more moves available but StuckFish didn't make them? Also, now that I've included FEN string reading, if you're able to post the FEN string when you have a particular game with an issue that'll allow me to figure out what the issue is much more easily.
My question: cf. thread http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=732620&t=65243 - false win claim, although the attacked king can evade a checkmate by moving on another field. Is "false mate claim" automatically evaluated by WinBoard GUI as a rules infraction with the consequence and the result of a lost game, or with opponent´s bare king as a draw? HGM´s statement: Indeed. This is under control of the option "Verify engine claims", which can be set i the Adjudication Options dialog. When on, an engine that claims a win or draw when there is othing to claim will be forfeited. Unless the opponent has a bare King, which is a condition that will always be used to correct a loss to a draw.
http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=732627&t=65243 My suggestion: You can create an engine tournament with Stuckfish 0.1 on Windows 64-bit with WinBoard AA beta GUI http://hgm.nubati.net/WinBoard-AA.zip against Nemorino 3.04 UCI https://bitbucket.org/christian_g_nther/nemorino/downloads/ and option debug https://www.gnu.org/software/xboard/engine-intf.html to exclude such error indications of your engine by the way: Github should contain the current version of Stuckfish to avoid confusion with previous editions
I'm still unsure as to what's going on after reading those threads. What it sounds like though after reading is that win claiming is done by score with UCI chess engines when coverting to winboard protocol? " UCI2WB considers a mate-in-1 score sent with the PV info as a result claim, as UCI engines have no other way for claiming results."
If that's the case, StuckFish probably won't work properly with anything that converts UCI to winboard as the scoring system isn't quite done being implemented.
The problem with false win claim "mate" seems to be Nemorino / WinBoard GUI specific and has obviously nothing to do with Stuckfish. If the feature of WinBoard "Options>Adjudications>Verify Engine Claims" is enabled , just a behaviour shows Nemorino:
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "1"] [White "StuckFish 0.1 (UCI2WB)"] [Black "Nemorino (UCI2WB)"] [Result "1-0"] [TimeControl "40/120"] [Annotator "1... -0.12"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "2"] [White "Nemorino (UCI2WB)"] [Black "StuckFish 0.1 (UCI2WB)"] [Result "0-1"] [TimeControl "40/120"] [Annotator "1. +0.29"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "3"] [White "StuckFish 0.1 (UCI2WB)"] [Black "Nemorino (UCI2WB)"] [Result "1-0"] [TimeControl "40/120"] [Annotator "1... -0.25"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "4"] [White "Nemorino (UCI2WB)"] [Black "StuckFish 0.1 (UCI2WB)"] [Result "0-1"] [TimeControl "40/120"] [Annotator "2. +0.33"]
With a deactivated feature "Options>Adjudications>Verify Engine Claims" the results are the following:
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "1"] [White "Nemorino (UCI2WB)"] [Black "StuckFish 0.1 (UCI2WB)"] [Result "1-0"] [TimeControl "40/120"] [Annotator "1. +0.26"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "2"] [White "StuckFish 0.1 (UCI2WB)"] [Black "Nemorino (UCI2WB)"] [Result "0-1"] [TimeControl "40/120"] [Annotator "1... -0.12"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "3"] [White "Nemorino (UCI2WB)"] [Black "StuckFish 0.1 (UCI2WB)"] [Result "1-0"] [TimeControl "40/120"] [Annotator "1. +0.29"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "4"] [White "StuckFish 0.1 (UCI2WB)"] [Black "Nemorino (UCI2WB)"] [Result "1/2-1/2"] [TimeControl "40/120"] [Annotator "1... -0.12"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "5"] [White "Nemorino (UCI2WB)"] [Black "StuckFish 0.1 (UCI2WB)"] [Result "0-1"] [TimeControl "40/120"] [Annotator "1. +0.26"]
[Event "Computer Chess Game"] [Site "QUADCORE-I5"] [Date "2017.09.22"] [Round "6"] [White "StuckFish 0.1 (UCI2WB)"] [Black "Nemorino (UCI2WB)"] [Result "0-1"] [TimeControl "40/120"] [Annotator "1... -0.12"]
Well the original Stockfish engine works even on an commercial GUI ChessGenius Classic (with 16-bit engine, I have Windows 7 SP1 32-bit too) http://chessgenius.com/pc/ and uses Polyglot UCI2WB e.g. http://hardy.uhasselt.be/Toga/polyglot-release/ : cf. http://www.geocities.ws/delbg/ - you cannot use a 16-bit engine on a win64 bit OS, but the ChessGenius GUI (without the built-in engine!) runs on x64 normally
conclusion: UCI2WB ist not the generally problem, but I detected that Stuckfish 0.1 produces an error message during an engine match by WinBoard-Interface AA beta: Stuckfish.exe did on me I will open a new thread and send you the pgn-files at the known Gmail-address
So WinBoard is looking to be what StuckFish has issues with? Sounds good! I'm going to close this issue as en passants and castling are now working in the engine.
Hello Max,
cf. http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=732200&t=65218 and http://talkchess.com/forum/viewtopic.php?topic_view=threads&p=732215&t=65218
Perhaps it is useful for your further work to solve this problem.