A while ago I wrote a simple GUI for myself which generates the batch files for running cutechess tournaments.
Today I want to use some spare time to add some more features - specifically to be able to edit the engines.json from the GUI - and had a question about how it's implemented in Cutechess, which will determine how lazy I can be with the json parser .
So, are the json items limited to command, name, options, protocol, workingdirectory ? or can all other cutechess engine options be added in also?
A while ago I wrote a simple GUI for myself which generates the batch files for running cutechess tournaments.
Today I want to use some spare time to add some more features - specifically to be able to edit the engines.json from the GUI - and had a question about how it's implemented in Cutechess, which will determine how lazy I can be with the json parser .
So, are the json items limited to command, name, options, protocol, workingdirectory ? or can all other cutechess engine options be added in also?
Why do you use a 'setvalue' commands rather than the compliant 'option' command from WB protocol? Are those options you don't want the user to set or know about?
Richard Allbert wrote:So, are the json items limited to command, name, options, protocol, workingdirectory ? or can all other cutechess engine options be added in also?
Many thanks
Richard
In addition to what you just listed, "initStrings" (commands sent to the engine at startup), "whitepov" (scores from white's perspective), "restart" (restart engine after each game) and "variants" (a list of supported chess variants) are supported. Here's an example:
hgm wrote:Why do you use a 'setvalue' commands rather than the compliant 'option' command from WB protocol? Are those options you don't want the user to set or know about?
Cute Chess doesn't yet support custom Winboard options, only the hardcoded ones like "memory" and "cores". Of course the user could still set those options with init strings, but my guess is that Ferdinand has used CLOP + cutechess-cli to optimize some weights in his engine, and didn't want or need to make them user-configurable.
A while ago I wrote a simple GUI for myself which generates the batch files for running cutechess tournaments.
Today I want to use some spare time to add some more features - specifically to be able to edit the engines.json from the GUI - and had a question about how it's implemented in Cutechess, which will determine how lazy I can be with the json parser .
So, are the json items limited to command, name, options, protocol, workingdirectory ? or can all other cutechess engine options be added in also?
ilari wrote:Of course the user could still set those options with init strings,
That is what I meant. And your guess as to why sounds reasonable. Although engines like Fruit and Glaurung seem to make such tuning options availble to everyone.
hgm wrote:Why do you use a 'setvalue' commands rather than the compliant 'option' command from WB protocol? Are those options you don't want the user to set or know about?
Cute Chess doesn't yet support custom Winboard options, only the hardcoded ones like "memory" and "cores". Of course the user could still set those options with init strings, but my guess is that Ferdinand has used CLOP + cutechess-cli to optimize some weights in his engine, and didn't want or need to make them user-configurable.