questions on using cutechess

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Will Singleton
Posts: 128
Joined: Thu Mar 09, 2006 5:14 pm
Location: Los Angeles, CA

questions on using cutechess

Post by Will Singleton »

I thought I'd try it out, as there seems so much interest. Some questions:

The winboard protocol, as I read it, says that the Ping command will not be sent unless the engine specifically asks for it with the feature command. I've never used Ping, yet cutechess sends it and expects me to respond.

How is ponder or no ponder specified?

Will a promotion move in the form of e7e8 be accepted as if it were e7e8q? Winboard has always done this.

Is it possible to play a gauntlet of opponents in the same session?

Thanks.

Will
Will Singleton
Posts: 128
Joined: Thu Mar 09, 2006 5:14 pm
Location: Los Angeles, CA

Re: questions on using cutechess

Post by Will Singleton »

Will Singleton wrote:I thought I'd try it out, as there seems so much interest. Some questions:

The winboard protocol, as I read it, says that the Ping command will not be sent unless the engine specifically asks for it with the feature command. I've never used Ping, yet cutechess sends it and expects me to respond.

How is ponder or no ponder specified?

Will a promotion move in the form of e7e8 be accepted as if it were e7e8q? Winboard has always done this.

Is it possible to play a gauntlet of opponents in the same session?
I tried using the "feature" command to set ping=0, didn't work. Cutechess still expects me to pong.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: questions on using cutechess

Post by ilari »

Will Singleton wrote:
Will Singleton wrote:I thought I'd try it out, as there seems so much interest. Some questions:

The winboard protocol, as I read it, says that the Ping command will not be sent unless the engine specifically asks for it with the feature command. I've never used Ping, yet cutechess sends it and expects me to respond.

How is ponder or no ponder specified?

Will a promotion move in the form of e7e8 be accepted as if it were e7e8q? Winboard has always done this.

Is it possible to play a gauntlet of opponents in the same session?
I tried using the "feature" command to set ping=0, didn't work. Cutechess still expects me to pong.
If that happens, then something is broken in Cute Chess. I'll investigate this tomorrow.
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: questions on using cutechess

Post by ilari »

Will Singleton wrote:How is ponder or no ponder specified?
Currently pondering is not supported. This will change as Cute Chess matures.

Will a promotion move in the form of e7e8 be accepted as if it were e7e8q? Winboard has always done this.
Nope, that doesn't work, and according to the Xboard/Winboard specs it shouldn't work either.

Is it possible to play a gauntlet of opponents in the same session?
Currently no. We'll add tournament support later.
Mateusz

Re: questions on using cutechess

Post by Mateusz »

Hi,
I have the same problem with Atak and ping command.

C:\cutechess-cli\cutechess-cli.exe -fcp name=Atak cmd=Atak.exe dir=C:\atak\release\ proto=xboard -scp cmd=gosu-016 dir=C:\Engines\Gosu\ proto=xboard -both tc=80/12 -games 2 -debug -pgnout games.pgn

Message after game:
Engine "Atak" failed to respond to ping.
User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

Re: questions on using cutechess

Post by Kempelen »

Mateusz wrote:Hi,
I have the same problem with Atak and ping command.

C:\cutechess-cli\cutechess-cli.exe -fcp name=Atak cmd=Atak.exe dir=C:\atak\release\ proto=xboard -scp cmd=gosu-016 dir=C:\Engines\Gosu\ proto=xboard -both tc=80/12 -games 2 -debug -pgnout games.pgn

Message after game:
Engine "Atak" failed to respond to ping.
My engine Rodin has the same problem. It show that message too after the game ends.
Fermin Serrano
Author of 'Rodin' engine
http://sites.google.com/site/clonfsp/
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: questions on using cutechess

Post by ilari »

Sorry about taking so long to fix this, I had some more urgent things to do.
But I think I've solved the problem now. Some details:

- Cutechess-cli does NOT send the "ping" command to engines that don't send the "ping=1" feature string. The reason you may see the "failure to respond to ping" error is because of some trickery that we must do to make sure that a new game can be started.
- This is a serious bug, but it's in the Qt 4.5.0 libraries, not in cutechess-cli. The bug causes timers to misfire under certain conditions, and it was apparently fixed in Qt 4.5.1.
- The bug is specific to the Windows version of Qt, which is why I didn't catch it in my testing. I do over 90% of my testing in Linux.

So Mac and Linux users don't have to do anything. Windows users should either download the binary package again (it now uses Qt 4.5.3), or update their Qt version to 4.5.3 if they're compiling from source. Engines like Atak and Rodin should then work just fine.

The updated cutechess-cli package for Windows: http://koti.mbnet.fi/~ilaripih/bin/cute ... -win32.zip
User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

Re: questions on using cutechess

Post by Kempelen »

ilari wrote:Sorry about taking so long to fix this, I had some more urgent things to do.
But I think I've solved the problem now. Some details:

- Cutechess-cli does NOT send the "ping" command to engines that don't send the "ping=1" feature string. The reason you may see the "failure to respond to ping" error is because of some trickery that we must do to make sure that a new game can be started.
- This is a serious bug, but it's in the Qt 4.5.0 libraries, not in cutechess-cli. The bug causes timers to misfire under certain conditions, and it was apparently fixed in Qt 4.5.1.
- The bug is specific to the Windows version of Qt, which is why I didn't catch it in my testing. I do over 90% of my testing in Linux.

So Mac and Linux users don't have to do anything. Windows users should either download the binary package again (it now uses Qt 4.5.3), or update their Qt version to 4.5.3 if they're compiling from source. Engines like Atak and Rodin should then work just fine.

The updated cutechess-cli package for Windows: http://koti.mbnet.fi/~ilaripih/bin/cute ... -win32.zip
In a quick test seems to work. thanks
Fermin Serrano
Author of 'Rodin' engine
http://sites.google.com/site/clonfsp/
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: questions on using cutechess

Post by ilari »

Kempelen wrote:In a quick test seems to work. thanks
I'm glad to hear that, because I almost lost my mind trying to find the non-existent bug in our source code. At least I learned not to blindly trust libraries, even if they're extensively tested like Qt.
Mateusz

Re: questions on using cutechess

Post by Mateusz »

Hi,
It seems that it works.
This line is ok.
C:\Engines\cutechess-cli\cutechess-cli.exe -fcp name=Atak cmd=Atak.exe dir=C:\atak\release\ proto=xboard -scp cmd=gosu-016 dir=C:\Engines\Gosu\ proto=xboard -both tc=80/5 -games 2 -pgnout games.pgn

but...
I have changed engine to Matacz and it not works with this engine.

C:\Engines\cutechess-cli\cutechess-cli.exe -fcp name=Atak cmd=Atak.exe dir=C:\atak\release\ proto=xboard -scp cmd=Matacz dir=C:\Engines\Matacz\ proto=xboard -both tc=80/1 -games 2 -pgnout gamesM.pgn -debug

Started game 1 of 2
0 <Atak(0):
0 <Atak(0): ATAK 6.7
0 <Atak(0): (c) 2009 Mateusz Luksik
16 <Atak(0):
16 <XboardEngine(1):
16 <XboardEngine(1): feature done=0
16 <XboardEngine(1): feature setboard=1