Check out Symmetric Chess, our featured variant for March, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Comments/Ratings for a Single Item

Earlier Reverse Order Later
[Subject Thread] [Add Response]
Derek Nalls wrote on Tue, Jul 8, 2008 04:29 PM UTC:
This is a new feature request:

I have 2 versions of SMIRF (version 0 [standard] and version 2) I would
like to playtest against one another using SMIRF-o-glot and Winboard F. 
Currently, it is impossible.  

1.  SMIRF-o-glot only executes the standard name of the SMIRF program.

2.  SMIRF-o-glot requires the SMIRF program to be with it in the same
directory to work.

3.  Winboard F requires SMIRF-o-glot to be with it in the same directory
to work.

4.  Two seperate installations of Winboard F (having two different
versions of SMIRF) cannot communicate to work in coordination.

Manually playtesting 2 versions of SMIRF against one another (without
using Winboard F and SMIRF-o-glot) would probably take 2-3 times as long.
So, any solution that is not too labor-intensive for you, the programmer,
would be greatly appreciated.

H. G. Muller wrote on Tue, Jul 8, 2008 06:23 PM UTC:
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.)

Derek Nalls wrote on Tue, Jul 8, 2008 07:48 PM UTC:
'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.

Derek Nalls wrote on Fri, Aug 8, 2008 06:40 AM UTC:
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.

Tony Hecker wrote on Sat, Aug 9, 2008 03:07 AM UTC:
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).

H. G. Muller wrote on Sat, Aug 9, 2008 08:52 PM UTC:
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.

Tony Hecker wrote on Sat, Aug 9, 2008 09:16 PM UTC:
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

Derek Nalls wrote on Sat, Aug 9, 2008 10:27 PM UTC:
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.

H. G. Muller wrote on Sun, Aug 10, 2008 10:37 AM UTC:
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.

Derek Nalls wrote on Tue, Aug 12, 2008 11:36 PM UTC:
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.

H. G. Muller wrote on Wed, Aug 13, 2008 10:08 AM UTC:
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.

Derek Nalls wrote on Wed, Aug 13, 2008 12:26 PM UTC:
Bug Report
http://www.symmetryperfect.com/bug

More details ...

12 comments displayed

Earlier Reverse Order Later

Permalink to the exact comments currently displayed.