That is one way of putting it. And the bug is that it does not understand Shredder FEN...Alexander Schmidt wrote:I dunno, maybe there is a bug in handling fen strings in special positions.
Chess960 tournament
Moderator: Ras
-
hgm
- Posts: 28461
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess960 tournament
-
Uri Blass
- Posts: 11161
- Joined: Thu Mar 09, 2006 12:37 am
- Location: Tel-Aviv Israel
Re: Chess960 tournament
There are many versions of arena so I am not sure if this is correct for all versions.hgm wrote:That is one way of putting it. And the bug is that it does not understand Shredder FEN...Alexander Schmidt wrote:I dunno, maybe there is a bug in handling fen strings in special positions.
I remember that CCRL stopped to test with arena because there was a problem with it.
The main problem is that it was not clear for the engine which output to give to arena in some cases.
If I remember correctly
Arena expected winboard engines simply to castle by 0-0 when it expected uci engines to castle by o-o and expected castling in normal chess to be done by e1g1
The main problem with arena was that it did not tell the engine if it plays normal chess or frc chess so e1g1 can be considered by it as illegal move in cases that the game was simply FRC game with king at e1 and rooks at a1 and h1.
CCRL stopped using arena after discovering problems of illegal castling
in these cases and I suggest to check games with king at e1 and rooks at a1 h1 to find if there were problems of illegal castling in the chess960 tournament.
I tried to support arena and shredder as well as possible in movei and here is my code that translate move to string
Code: Select all
int frcfen;
/* move_str returns a string with move m in coordinate notation */
char *shredder_strcastle(int move)
{
static char str[6];
if (fileto(move)==G1)/*shortcastling*/
sprintf(str, "%c%d%c%d",
filefrom(move) + 'a',
rankfrom(move)+1,
InitialKRSQf+'a',
rankto(move)+1);
else
sprintf(str, "%c%d%c%d",
filefrom(move) + 'a',
rankfrom(move)+1,
InitialQRSQf+'a',
rankto(move)+1);
return str;
}
char *move_strcastle(int move)
{
static char str[6];
if (shredderfen)
return shredder_strcastle(move);
else
if (frcfen)
{
if (is_uci==0)
{
if (fileto(move)==G1)
sprintf(str, "%c%c%c",'0','-','0');
else
sprintf(str, "%c%c%c%c%c",'0','-','0','-','0');
}
else
{
if (fileto(move)==G1)
sprintf(str, "%c%c%c",'o','-','o');
else
sprintf(str, "%c%c%c%c%c",'o','-','o','-','o');
}
}
else
/*not shredder fen not frc fen
and today it means normal chess*/
if (abs( filefrom(move)-fileto(move) )>1)
sprintf(str, "%c%d%c%d",
filefrom(move) + 'a',
rankfrom(move)+1,
fileto(move) + 'a',
rankto(move)+1);
else
return shredder_strcastle(move);
return str;
}
char *move_str(int move)
{
static char str[6];
char c;
if (castle(move))
return move_strcastle(move);
if (promotion(move)) {
switch (promote(move)) {
case KNIGHT:
c = 'n';
break;
case BISHOP:
c = 'b';
break;
case ROOK:
c = 'r';
break;
default:
c = 'q';
break;
}
sprintf(str, "%c%d%c%d%c",
filefrom(move) + 'a',
rankfrom(move)+1,
fileto(move) + 'a',
rankto(move)+1,
c);
}
else
{
sprintf(str, "%c%d%c%d",
filefrom(move) + 'a',
rankfrom(move)+1,
fileto(move) + 'a',
rankto(move)+1);
}
return str;
}
-
Alexander Schmidt
- Posts: 1235
- Joined: Thu May 10, 2007 2:49 pm
Re: Chess960 tournament
No Arena version supports Shredder Fen because the UCI Chess960 implementation was done before ShredderUri Blass wrote:There are many versions of arena so I am not sure if this is correct for all versions.
Alex
-
hgm
- Posts: 28461
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess960 tournament
No, but it does not seem to support xFEN either. And on input, there really is no reason at all why you shouldn't support both, as none of them includes elements that do not occur in the other. The only difference is the preference what to use on output.
-
Alexander Schmidt
- Posts: 1235
- Joined: Thu May 10, 2007 2:49 pm
Re: Chess960 tournament
I told it twice in the thread: Martin Blume implemented Chess960 before Shredder Fen or xFen appeared. And he didnt't change much in the latest betas.hgm wrote:No, but it does not seem to support xFEN either. And on input, there really is no reason at all why you shouldn't support both, as none of them includes elements that do not occur in the other. The only difference is the preference what to use on output.
-
hgm
- Posts: 28461
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess960 tournament
Well, so why didn't he design a FEN format himself, then? Seems to me that if you want to have a working FRC GUI, it is essential that you have a way to represent game positions as FEN... You can't write a GUI that does not support 'setboard', and then claim that you have set a standard for setboard. Other GUI writers will not adopt a deficient 'standard'. They prefer something that works, and will design their own standard if that is what it requires.
-
Alexander Schmidt
- Posts: 1235
- Joined: Thu May 10, 2007 2:49 pm
Re: Chess960 tournament
I really dont understand what u want.
He created a Chess960 protocol for UCI engines, together with a few engineauthors and it was possible to play Chess960 under Arena with UCI engines. He didn't break any standart because there wasn't one. If you have complains about this you should talk to Martin Blume and hope for a new Arena release.
He created a Chess960 protocol for UCI engines, together with a few engineauthors and it was possible to play Chess960 under Arena with UCI engines. He didn't break any standart because there wasn't one. If you have complains about this you should talk to Martin Blume and hope for a new Arena release.
-
hgm
- Posts: 28461
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Chess960 tournament
I want nothing. I just pointed out that Arena does not send unambiguous FENs in FRC. If that is intentional, I would say that it breaks the implicit 'standard' that we want things to work without errors. If not, then it is a bug that crept in later.
If Arena was the first to have a fully functional UCI protocol, it must hav included a FEN notation. So if this was before the existense of X-FEN and Shredder-FEN, what FEN format was used? From what you tell, apparently inventing a FEN that could handle FRC was left to Stephan and Reinhard.
If Arena was the first to have a fully functional UCI protocol, it must hav included a FEN notation. So if this was before the existense of X-FEN and Shredder-FEN, what FEN format was used? From what you tell, apparently inventing a FEN that could handle FRC was left to Stephan and Reinhard.