UCI Options, clarication

Discussion of chess software programming and technical issues.

Moderators: hgm, Dann Corbit, Harvey Williamson

User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

UCI Options, clarication

Post by Scally »

Hi all,

What’s is the correct way to use uci options, should the options begin with a capital or not?

For example:

Ponder = Yes or yes
UCI_LimitStrength = False or false
Sleep = False or false
etc ...

Or do both ways work?


Thanks,

Al.
Ras
Posts: 2485
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: UCI Options, clarication

Post by Ras »

From the UCI specification for the setoption command:
The name and value of the option in <id> should not be case sensitive and can include spaces.
However, for engine defined (custom) UCI options, it is certainly most robust for the GUI to use the case exactly as announced by the engine upon the initial "uci" command. Also, there is no "yes" in UCI AFAIK, it is always "true" or "false".
Rasmus Althoff
https://www.ct800.net
User avatar
Scally
Posts: 232
Joined: Thu Sep 28, 2017 9:34 pm
Location: Bermondsey, London
Full name: Alan Cooper

Re: UCI Options, clarication

Post by Scally »

Thanks Rasmus,

I was having Problems with a couple Chess Engines on Picochess and I’ve seen both capitals and lower case.

I’ll stick to each Engines own UCI options.


Al.
Ras
Posts: 2485
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: UCI Options, clarication

Post by Ras »

Scally wrote: Fri Apr 10, 2020 2:23 pmI was having Problems with a couple Chess Engines on Picochess and I’ve seen both capitals and lower case.
That's why I'm converting all input to lower case except the FEN string, and convert tabs to spaces, and remove consecutive spaces. On the other hand when sending, I use the case from the UCI spec to get maximum GUI compatibility.
I’ll stick to each Engines own UCI options.
That's one option, but it would be better if engine authors fixed broken protocol implementations. Maybe opening another thread and listing which engines misbehave would do good.
Rasmus Althoff
https://www.ct800.net