Chess960 tournament

Discussion of computer chess matches and engine tournaments.

Moderator: Ras

User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess960 tournament

Post by hgm »

Alexander Schmidt wrote:I dunno, maybe there is a bug in handling fen strings in special positions.
That is one way of putting it. And the bug is that it does not understand Shredder FEN... :lol:
Uri Blass
Posts: 11161
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Chess960 tournament

Post by Uri Blass »

hgm wrote:
Alexander Schmidt wrote:I dunno, maybe there is a bug in handling fen strings in special positions.
That is one way of putting it. And the bug is that it does not understand Shredder FEN... :lol:
There are many versions of arena so I am not sure if this is correct for all versions.

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;
}
Uri
Alexander Schmidt
Posts: 1235
Joined: Thu May 10, 2007 2:49 pm

Re: Chess960 tournament

Post by Alexander Schmidt »

Uri Blass wrote:There are many versions of arena so I am not sure if this is correct for all versions.
No Arena version supports Shredder Fen because the UCI Chess960 implementation was done before Shredder :)

Alex
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess960 tournament

Post by hgm »

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

Post by Alexander Schmidt »

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.
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.
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess960 tournament

Post by hgm »

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

Post by Alexander Schmidt »

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.
User avatar
hgm
Posts: 28461
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Chess960 tournament

Post by hgm »

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.