[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]
Comments/Ratings for a Single Item
This is the one where you went wrong: | 3. Winboard F requires SMIRF-o-glot to be with it in the same | directory to work. you can put Smirfoglot in any place, as long as you tell WinBoard (in the startup dialg) the full pathname of the engine, AND ALSO the directory in which the engine should look for its files (through the /fd or /sd option): 'D:\engines\smirf\smirfoglot /H128' /fd='D:\engines\smirf' So engines that look for files (like Smirfoglot is looking for the engine executable, but also engines that look for opening books etc.) do need the /fd (/firstDirectory) option to specify where to look (which does not necessarily have to be the directory where the executable is, although this usually is the case). For the second engine you need to use /sd in stead of /fd. So it is possible to keep several different versions of Smirf, each in their own directory, each containing their own copy of Smirfoglot. This is the way I usually do it. I think that you could even put a single version of Smirfoglot in the WinBoard directory, as long as you tell it with the /fd argument where to look for the engine DLL (untested): 'Smirfoglot /H128' /fd='Smirf_1' if the Smirf_1 directory is a subdirectory of the WinBoard_F directory. (Note that my double quotes get mangled to single quotes here.)
'I think that you could even put a single version of Smirfoglot in the WinBoard directory, as long as you tell it with the /fd argument where to look for the engine DLL if the Smirf directory is a subdirectory of the WinBoard directory.' Yes, the shortened argument works fine. Consider it tested. Thank you for the tech support.
Bug Report http://www.symmetryperfect.com/pass Please examine this game based upon an asymmetrical playtest using an alteration of the mirror of Embassy Chess. An illegal move was attempted that probably pertained to castling. This caused a forfeit.
I think I see what happened. The FEN for the starting position is this: 1nbackqbn1/pppppppppp/10/10/10/10/PPPPPPPPPP/RNBACK1BNR w KQkq - 0 1 Black doesn't have any rooks, but according to the FEN, both players still have castling rights (KQkq). I think that makes it an illegal FEN, and it probably should have been this: 1nbackqbn1/pppppppppp/10/10/10/10/PPPPPPPPPP/RNBACK1BNR w KQ - 0 1 I see 3 ways an engine could handle this: a) It could reject the FEN. b) It could accept the FEN but not grant any illegal castling rights (if the rook is missing or the king is in the wrong place). c) It could accept the FEN and always grant the castling rights. Sounds like Joker80 does c), although I'd tend to prefer b).
Joker80 is supposed to do (b). But of course the FEN first has to pass through WinBoard before it is handed to Joker. This version of WinBoar doesn't necessarily require Rooks in the corners to castle with, as I could imagine there would exist variants that had some other piece there, with which you could castle. (Just like Knightmate allows Rooks to castle with the Royal Knight.) Allowing empty squares to castle was a very bad idea, though. I am not sure what the problem was. The link did not work (website was down?) when it was first posted, and when I look now, it points to a Smirf game.
Here is the pgn: [Event 'Computer Chess Game'] [Site 'DEREK-UFTPLMLF1'] [Date '2008.08.07'] [Round '-'] [White 'Joker80.np'] [Black 'Joker80.np'] [Result '1-0'] [TimeControl '1/1500'] [Variant 'capablanca'] [FEN '1nbackqbn1/pppppppppp/10/10/10/10/PPPPPPPPPP/RNBACK1BNR w KQkq - 0 1'] [SetUp '1'] {-------------- . n b a c k q b n . p p p p p p p p p p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . P P P P P P P P P P R N B A C K . B N R white to play --------------} 1. d3 {+0.04/12 0} d6 {-0.03/12} 2. Nh3 {+0.02/12 0} Nh6 {-0.03/12} 3. c4 {+0.02/13 0} g6 {+0.00/14} 4. g3 {+0.00/13 0} Ng4 {+0.00/13} 5. Kg1 {-0.13/12 0} Bg7 {+0.35/14} 6. Ng5 {-0.22/9 0} Bj4 {+0.66/14} 7. Nf3 {-0.60/12 0} Qj8 {+0.64/14} 8. Nc3 {-0.71/14 12:15} {Xboard: Forfeit due to invalid move: f8i8 (f8i8) res=0} 1-0
The *.fen recommended by Hecker allowed me to resume playtesting. In the future, this problem should be avoidable either by manually precluding the potential for attempting or making illegal moves from the *.fen OR by appropriately refining Joker80 and/or Winboard F. Once I moved past the problem, I removed the web page with the bug report. Fortunately, Hecker still possessed the forfeited game *.pgn for Muller to examine.
OK, I see what causes the problem. Indeed there is a bug in Joker's FEN reader. If there is a King in the initial position (f1/f8), it also sets the flags for Rooks being in the initial position. Normally this bug should not be tested at all, as WinBoard is not supposed to pass incorrect FENs to the engine. Indeed, the version of WinBoard that is on my website now, (awaiting its official release as WinBoard 4.3.14, any day now), does not, and simply strips off the kq castling indicators as it sees there are no black Rooks on a8/j8. It just seems that the version of WinBoard that I used here was less strict in this area as well. Anyway, I will fix the bug next time I will do some work on Joker80. (I want to equip it for FRC/CRC, and this requires an overhaul of the castling code everywhere.) In the mean time, you could already download http://home.hccnet.nl/h.g.muller/alpha.tst and replace your current winboard.exe by it. Then illegal FENs with illegal castling rights would be corrected by WinBoard and corrected before they are passed to the engine.
Bug Report http://www.symmetryperfect.com/bug Push the 'download now' button. Please examine this game based upon an asymmetrical playtest using an alteration of the mirror of Embassy Chess (*.fen). This caused a forfeit. I could have used a manually altered *.fen (as recommended by Hecker) to setup this playtest but I thought the alpha version of Winboard F would probably prevent the problem. It did not.
My first reaction is that something must have gone wrong installing the new WinBoard alpha, and that you are somehow still using an old one. When I start the alpha with this FEN with two Joker80 engines, I can see in the debug file that the FEN really sent to the engine only has KQ, not KQkq castling rights. So first check: click the 'help -> about' menu item on the WinBoard that you are using, and check if it says WinBoard 4.3.14k. If not, we have a mixup. If this is indeed WinBoard 4.3.14, it is not possible for me to make any sensible guess as to what is wrong without having the winboard.debug file of this game. (This file records all communications between engine and WinBoard.) WinBoard should be started up with the option /debug on the command line to instruct it to make this file. (And when an irregularity happens, immediately rescue that file by renaming it, before you restart WinBoard!) If Joker80 would castle when receiving a FEN that says it has no castling rights, it is inconceivable that H would not have noticed that before, as I played many thousands of games with it, also from positions without Rooks (but then I also deleted the castling rights for that side, as WinBoard 4.3.14 does here in my tests too). As you can see, WinBoard does not accept such a castling as a legal move when it is actually done, not even the version that erroneously passed the non-exsting castling rights to the engine. And even though I don't examine every game I play, I always scan the PGN file of a large run with a text editor for the occurrence of the string 'forfeit' and 'on time', to see if there were problems.
Bug Report http://www.symmetryperfect.com/bug More details ...
12 comments displayed
Permalink to the exact comments currently displayed.