Page 10 of 11

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 2:58 pm
by hgm
Well, Hermann 2.5 (the oldest version on Volker's website) seems to use the UCI standard; it has the UCI_Chess960 option.

The Chispa download seems to no longer exist; the links referring to it from the Chispa blog are dead.

Gothmog-frc manages to crash wine! :shock:

I could compile UCI2WB on my big machine where ACG did not delete Cygwin, though. And it seems to work: Gothmog played an FRC game against itself, in which both sides castled! 8-)

So in the next release of WinBoard it will be possible to play Arena960 engines by ticking USI/UCCI.

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 3:32 pm
by Modern Times
I can send you Chispa if you like - it isn't commercial so that isn't a problem.

Yes Hermann is Shredder UCI standard as far as I know.

Sometimes I've played dozens of games with an engine until a castling problem has then surfaced. I guess over the years I should have kept a database of positions that can trip up engines, but unfortunately I haven't.

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 5:58 pm
by hgm
If you have a Linux binary of Chispa, it would be nice if you could send it. Then I can test on Linux too. I will PM you my e-mail address.

I did test Hermann on Linux, and even the Shredder standard works through UCI2WB. Not that this is very important, because Polyglot would be able to handle that. But it is nice to know that it does. Only downside is that it makes use of an undocumented feature of WinBoard to make it use KxR notation, rather than converting the O-O to KxR by itself. That might prevent it from working with other GUIs than WinBoard/XBoard.

If the protocol gets it wrong, things will surely hang on the first castling that is played: there are no castlings where the notations in both standards are accidentally the same. If you see engines that have occasionally problems with castling, I am pretty sure that this then must be a proble withing the engine. (Which is not at all unlikely, because there are many special cases depending on piece placement where things can go wrong that in most cases would go right.)

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 7:54 pm
by Alexander Schmidt
hgm wrote:If you have a Linux binary of Chispa, it would be nice if you could send it. Then I can test on Linux too.
http://www.oocities.org/ar/fedecoriglia ... ez/chispa/

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 8:32 pm
by hgm
Ah, thank you!

It doesn't seem like Chispa plays according to Arena960 protocol, though:

Code: Select all

34450 <first &#58; # engine said&#58; uciok
34450 <first &#58; # setoption name OwnBook value true
34450 <first &#58; # setoption name NalimovPath value true
34450 <first &#58; # setoption name NalimovCache value 1
34450 <first &#58; # setoption name PlayFRC value true
34450 <first &#58; # setoption name UseLazyEval value false
34450 <first &#58; # setoption name UseNullMove value true
34450 <first &#58; # setoption name EvaluationHash value 1
34450 <first &#58; # setoption name PawnHash value 1
34450 <first &#58; # setoption name QueenValue value 900
34450 <first &#58; # setoption name RookValue value 500
34450 <first &#58; # setoption name BishopValue value 300
34450 <first &#58; # setoption name KnightValue value 300
34450 <first &#58; # setoption name PawnValue value 100
34450 <first &#58; # setoption name NullMoveMin value 200
34450 <first &#58; # setoption name NullMoveMax value 300
34450 <first &#58; # setoption name AspirationWindow value 35
34450 <first &#58; # setoption name CheckExtension value 100
34450 <first &#58; # setoption name RecaptureExtension value 75
34450 <first &#58; # setoption name OneReplyCheckExtension value 75
34450 <first &#58; # setoption name MateTheatExtension value 75
34450 <first &#58; # setoption name PawnPushExtension value 75
34450 <first &#58; # setoption name BookFile value libro.bin
34450 <first &#58; # setoption name CreateLog value false
34490 <first &#58; # engine said&#58; readyok
39080 <first &#58; # start search
39081 <first &#58; # position fen nrkbnqbr/pppppppp/8/8/8/8/PPPPPPPP/NRKBNQBR w KQkq - 0 1 moves
39081 <first &#58; # go btime 60000 wtime 60000 movestogo 40
39081 <first &#58; # engine said&#58; FEN error&#58; There isn't white king
39081 <first &#58; # engine said&#58; FEN error&#58; There isn't black king
39081 <first &#58; # engine said&#58; FEN error&#58; WCK flag is set, but there isn't white kingside rook
39081 <first &#58; # engine said&#58; FEN error&#58; BCK flag is set, but there isn't black kingside rook
39081 <first &#58; # engine said&#58; FEN error&#58; WCQ flag is set, but there isn't white queenside rook
39081 <first &#58; # engine said&#58; FEN error&#58; BCQ flag is set, but there isn't black queenside rook
39081 <first &#58; # engine said&#58; 
39081 <first &#58; # engine said&#58;      #   b   c   d   #   f   g   #   
39081 <first &#58; # engine said&#58;    +---+---+---+---+---+---+---+---+
39081 <first &#58; # engine said&#58;  8 |=R=|=N=|=B=|=Q=|=K=|=B=|=N=|=R=| 8
39081 <first &#58; # engine said&#58;    +---+---+---+---+---+---+---+---+
39081 <first &#58; # engine said&#58;  7 |=P=|=P=|=P=|=P=|=P=|=P=|=P=|=P=| 7
39081 <first &#58; # engine said&#58;    +---+---+---+---+---+---+---+---+
39081 <first &#58; # engine said&#58;  6 |   | . |   | . |   | . |   | . | 6
39081 <first &#58; # engine said&#58;    +---+---+---+---+---+---+---+---+
39081 <first &#58; # engine said&#58;  5 | . |   | . |   | . |   | . |   | 5
39081 <first &#58; # engine said&#58;    +---+---+---+---+---+---+---+---+
39081 <first &#58; # engine said&#58;  4 |   | . |   | . |   | . |   | . | 4
39081 <first &#58; # engine said&#58;    +---+---+---+---+---+---+---+---+
39081 <first &#58; # engine said&#58;  3 | . |   | . |   | . |   | . |   | 3
39081 <first &#58; # engine said&#58;    +---+---+---+---+---+---+---+---+
39081 <first &#58; # engine said&#58;  2 | P | P | P | P | P | P | P | P | 2   #
39081 <first &#58; # engine said&#58;    +---+---+---+---+---+---+---+---+
39081 <first &#58; # engine said&#58;  1 | R | N | B | Q | K | B | N | R | 1
39081 <first &#58; # engine said&#58;    +---+---+---+---+---+---+---+---+
39081 <first &#58; # engine said&#58;      #   b   c   d   #   f   g   #   
39081 <first &#58; # engine said&#58; 
XBoard here sets the option PlayFRC to true at startup, and finally receives readyok. Then Chispa should be set for playing FRC, right? But when it receives the 'position fen' command, Chispa responds with the non-sensical message that there are no Kings (while K and k are obviously there). Then is starts to complain that the castling flags do not correspond to the Rooks. And then it turned out it ignored the entire FEN, and starts playing from the orthodox start position (Ng1-f3).

So it seems Chispa is neither UCI (no UCI_Chess960) nor Arena960...

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 8:36 pm
by Modern Times
hgm wrote: So it seems Chispa is neither UCI (no UCI_Chess960) nor Arena960...
Hmm.. I've played 2,200 games with it and I think all of those are probably through ChessGUI.

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 8:43 pm
by hgm
Well, so what do you have to tell ChessGUI to make it work? Obviously it is not enough to just choose between UCI and Arena960 protocol, as Gothmog and Chispa do not use the same protocol. What worked for Gothmog does not work for Chispa.

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 8:57 pm
by Modern Times
In the quite old version of ChessGUI I run, it is set up as UCI2 960_OO

Matthias changed how this is set up in later versions. If you like, I can play a game and send you the log.

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 9:33 pm
by hgm
It seems that in the ChessGUI variants tab there are 4 radio buttons where you can independently change the type of FEN (KQkq vs HAha) and the type of SAN (OO vs KxR). Is it that Chispa needs HAha FEN like Shredder and OO castling like Arena?

That would mean there are actually 4 protocols. And you can apparently combine this with the option UCI_Chess960 (Shredder) or PlayFRC (Chispa) or none at all (Gothmog) to activate it. That makes already 12 different protocols, where you typically would have no idea what to choose, as a noob user.

Given that this 'Arena protocol' is an illusion, it seems better to just let the user control the individual settings through separate options. XBoard already allows you to override Shredder FEN (HAha) for KQkq, and I could have UCI2WB simply pass that on unmodified. And the same hold for castling moves, where the option -firstFeatures "oocastle=0" would make XBoard write KxR castling moves, which could be passed to the engine unmodified by UCI2WB. So the whole issue can be controlled from WinBoard independently from whether the engine is WB or UCI, as UCI2WB would not change the type of FEN or SAN in translating from WB to UCI.

Re: no more ChessGUI

Posted: Mon Apr 04, 2016 9:57 pm
by Alexander Schmidt
hgm wrote:Ah, thank you!

It doesn't seem like Chispa plays according to Arena960 protocol, though:
This is how it looks like under Arena:

Code: Select all

2016-04-04 21&#58;55&#58;46,262-->1&#58;quit
2016-04-04 21&#58;55&#58;46,906-->1&#58;uci
2016-04-04 21&#58;55&#58;46,949<--1&#58;id name Chispa 4.0.3
2016-04-04 21&#58;55&#58;46,950<--1&#58;id author Federico Corigliano
2016-04-04 21&#58;55&#58;46,951<--1&#58;option name Hash type spin default 1 min 1 max 1024
2016-04-04 21&#58;55&#58;46,951<--1&#58;option name Clear Hash type button
2016-04-04 21&#58;55&#58;46,952<--1&#58;option name OwnBook type check default true
2016-04-04 21&#58;55&#58;46,953<--1&#58;option name NalimovPath type string default 
2016-04-04 21&#58;55&#58;46,953<--1&#58;option name NalimovCache type spin default 1 min 1 max 64
2016-04-04 21&#58;55&#58;46,954<--1&#58;option name Ponder type check default true
2016-04-04 21&#58;55&#58;46,954<--1&#58;option name PlayFRC type check default false
2016-04-04 21&#58;55&#58;46,955<--1&#58;option name UseLazyEval type check default false
2016-04-04 21&#58;55&#58;46,955<--1&#58;option name UseNullMove type check default true
2016-04-04 21&#58;55&#58;46,955<--1&#58;option name EvaluationHash type spin default 1 min 1 max 512
2016-04-04 21&#58;55&#58;46,956<--1&#58;option name PawnHash type spin default 1 min 1 max 64
2016-04-04 21&#58;55&#58;46,956<--1&#58;option name QueenValue type spin default 900 min -2000 max 2000
2016-04-04 21&#58;55&#58;46,957<--1&#58;option name RookValue type spin default 500 min -2000 max 2000
2016-04-04 21&#58;55&#58;46,957<--1&#58;option name BishopValue type spin default 300 min -2000 max 2000
2016-04-04 21&#58;55&#58;46,958<--1&#58;option name KnightValue type spin default 300 min -2000 max 2000
2016-04-04 21&#58;55&#58;46,958<--1&#58;option name PawnValue type spin default 100 min -2000 max 2000
2016-04-04 21&#58;55&#58;46,959<--1&#58;option name NullMoveMin type spin default 200 min 0 max 600
2016-04-04 21&#58;55&#58;46,959<--1&#58;option name NullMoveMax type spin default 300 min 0 max 600
2016-04-04 21&#58;55&#58;46,960<--1&#58;option name AspirationWindow type spin default 35 min 0 max 9000
2016-04-04 21&#58;55&#58;46,960<--1&#58;option name CheckExtension type spin default 100 min 0 max 500
2016-04-04 21&#58;55&#58;46,961<--1&#58;option name RecaptureExtension type spin default 75 min 0 max 500
2016-04-04 21&#58;55&#58;46,961<--1&#58;option name OneReplyCheckExtension type spin default 75 min 0 max 500
2016-04-04 21&#58;55&#58;46,962<--1&#58;option name MateTheatExtension type spin default 75 min 0 max 500
2016-04-04 21&#58;55&#58;46,962<--1&#58;option name PawnPushExtension type spin default 75 min 0 max 500
2016-04-04 21&#58;55&#58;46,962<--1&#58;option name BookFile type string default libro.bin
2016-04-04 21&#58;55&#58;46,963<--1&#58;option name CreateLog type check default false
2016-04-04 21&#58;55&#58;46,963<--1&#58;uciok
2016-04-04 21&#58;55&#58;46,964-->1&#58;setoption name Hash value 256
2016-04-04 21&#58;55&#58;46,974-->1&#58;isready
2016-04-04 21&#58;55&#58;47,015<--1&#58;readyok
2016-04-04 21&#58;55&#58;53,767-->1&#58;setoption name CreateLog value false
2016-04-04 21&#58;55&#58;53,768-->1&#58;setoption name BookFile value libro.bin
2016-04-04 21&#58;55&#58;53,769-->1&#58;setoption name PawnPushExtension value 75
2016-04-04 21&#58;55&#58;53,770-->1&#58;setoption name MateTheatExtension value 75
2016-04-04 21&#58;55&#58;53,770-->1&#58;setoption name OneReplyCheckExtension value 75
2016-04-04 21&#58;55&#58;53,771-->1&#58;setoption name RecaptureExtension value 75
2016-04-04 21&#58;55&#58;53,772-->1&#58;setoption name CheckExtension value 100
2016-04-04 21&#58;55&#58;53,772-->1&#58;setoption name AspirationWindow value 35
2016-04-04 21&#58;55&#58;53,773-->1&#58;setoption name NullMoveMax value 300
2016-04-04 21&#58;55&#58;53,774-->1&#58;setoption name NullMoveMin value 200
2016-04-04 21&#58;55&#58;53,775-->1&#58;setoption name PawnValue value 100
2016-04-04 21&#58;55&#58;53,775-->1&#58;setoption name KnightValue value 300
2016-04-04 21&#58;55&#58;53,776-->1&#58;setoption name BishopValue value 300
2016-04-04 21&#58;55&#58;53,777-->1&#58;setoption name RookValue value 500
2016-04-04 21&#58;55&#58;53,777-->1&#58;setoption name QueenValue value 900
2016-04-04 21&#58;55&#58;53,778-->1&#58;setoption name PawnHash value 1
2016-04-04 21&#58;55&#58;53,779-->1&#58;setoption name EvaluationHash value 1
2016-04-04 21&#58;55&#58;53,779-->1&#58;setoption name UseNullMove value true
2016-04-04 21&#58;55&#58;53,780-->1&#58;setoption name UseLazyEval value false
2016-04-04 21&#58;55&#58;53,781-->1&#58;setoption name PlayFRC value true
2016-04-04 21&#58;55&#58;53,781-->1&#58;setoption name Ponder value true
2016-04-04 21&#58;55&#58;53,782-->1&#58;setoption name NalimovCache value 1
2016-04-04 21&#58;55&#58;53,783-->1&#58;setoption name NalimovPath value 
2016-04-04 21&#58;56&#58;00,430*1*Start calc, move no&#58; 1
2016-04-04 21&#58;56&#58;00,431-->1&#58;ucinewgame
2016-04-04 21&#58;56&#58;00,431-->1&#58;isready
2016-04-04 21&#58;56&#58;00,431<--1&#58;readyok
2016-04-04 21&#58;56&#58;00,438-->1&#58;position fen nbnrkrbq/pppppppp/8/8/8/8/PPPPPPPP/NBNRKRBQ w KQkq - 0 1 moves f2f3
2016-04-04 21&#58;56&#58;00,438-->1&#58;go wtime 61000 btime 60000 winc 1000 binc 1000
2016-04-04 21&#58;56&#58;02,772<--1&#58;bestmove a8b6 ponder c2c3
2016-04-04 21&#58;56&#58;02,772*1*Zug gefunden&#58;Sa8-b6
2016-04-04 21&#58;56&#58;09,606*1*Start calc, move no&#58; 3
2016-04-04 21&#58;56&#58;09,607-->1&#58;position fen nbnrkrbq/pppppppp/8/8/8/8/PPPPPPPP/NBNRKRBQ w KQkq - 0 1 moves f2f3 a8b6 g1b6
2016-04-04 21&#58;56&#58;09,607-->1&#58;go wtime 55612 btime 58671 winc 1000 binc 1000
2016-04-04 21&#58;56&#58;11,327<--1&#58;bestmove c8b6 ponder a1b3
2016-04-04 21&#58;56&#58;11,327*1*Zug gefunden&#58;Sc8xb6
2016-04-04 21&#58;56&#58;13,062*1*Start calc, move no&#58; 5
2016-04-04 21&#58;56&#58;13,063-->1&#58;position fen nbnrkrbq/pppppppp/8/8/8/8/PPPPPPPP/NBNRKRBQ w KQkq - 0 1 moves f2f3 a8b6 g1b6 c8b6 e2e3
2016-04-04 21&#58;56&#58;13,063-->1&#58;go wtime 55321 btime 57957 winc 1000 binc 1000
2016-04-04 21&#58;56&#58;15,017<--1&#58;bestmove c7c5 ponder c2c3
2016-04-04 21&#58;56&#58;15,017*1*Zug gefunden&#58;c7-c5
2016-04-04 21&#58;56&#58;17,012*1*Start calc, move no&#58; 7
2016-04-04 21&#58;56&#58;17,013-->1&#58;position fen nbnrkrbq/pppppppp/8/8/8/8/PPPPPPPP/NBNRKRBQ w KQkq - 0 1 moves f2f3 a8b6 g1b6 c8b6 e2e3 c7c5 O-O
2016-04-04 21&#58;56&#58;17,013-->1&#58;go wtime 54779 btime 57009 winc 1000 binc 1000
2016-04-04 21&#58;56&#58;18,959<--1&#58;bestmove f7f5 ponder c2c3
2016-04-04 21&#58;56&#58;18,960*1*Zug gefunden&#58;f7-f5
I hope I didn't lead you to a broken version :)