Cute Chess 0.9.4 released

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

Moderators: hgm, Rebel, chrisw

Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Cute Chess 0.9.4 released

Post by Ferdy »

gbtami wrote:
Ferdy wrote:
ilari wrote:There's also a bonus feature - support for the "UCI_Variant" UCI option.
Where to find that option?

Stockfish variant has UCI_Variant but I could not see it in advance tab of configure engine box?

Code: Select all

Stockfish 060916 64 POPCNT by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
uci
id name Stockfish 060916 64 POPCNT
id author T. Romstad, M. Costalba, J. Kiiski, G. Linscott

option name Debug Log File type string default
option name Contempt type spin default 0 min -100 max 100
option name Threads type spin default 1 min 1 max 128
option name Hash type spin default 16 min 1 max 1048576
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 30 min 0 max 5000
option name Minimum Thinking Time type spin default 20 min 0 max 5000
option name Slow Mover type spin default 89 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_Atomic type check default false
option name UCI_Horde type check default false
option name UCI_House type check default false
option name UCI_KingOfTheHill type check default false
option name UCI_Race type check default false
option name UCI_3Check type check default false
option name UCI_Anti type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 6 min 0 max 6
uciok
Stockfish has no UCI_Variant option, but several individual UCI_* options.

Sjaak II has it:
id name Sjaak II 1.0.0 (x86_64)
id author Evert Glebbeek
option name Hash type spin default 48 min 1 max 4096
option name Ponder type check default true
option name UCI_Chess960 type check default true
option name UCI_Variant type combo default normal var chess var chess960 var seirawan var shatar var makruk var shatranj var sittuyin var crazyhouse var chessgi var asean var ai-wok var super var spartan var pocketknight var kingofthehill var knightmate var amazon var chancellor var berolina var losalamos var micro var capablanca var gothic var embassy var greatshatranj var courier var grand var opulent var omega var minishogi var shoshogi var shogi var torishogi var xiangqi
uciok
Thanks, so this is found in Sjaak and then it is hidden by Cute Chess.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Cute Chess 0.9.4 released

Post by Ferdy »

ilari wrote:
Ferdy wrote:
ilari wrote:There's also a bonus feature - support for the "UCI_Variant" UCI option.
Where to find that option?

Stockfish variant has UCI_Variant but I could not see it in advance tab of configure engine box?

Code: Select all

Stockfish 060916 64 POPCNT by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
uci
id name Stockfish 060916 64 POPCNT
id author T. Romstad, M. Costalba, J. Kiiski, G. Linscott

option name Debug Log File type string default
option name Contempt type spin default 0 min -100 max 100
option name Threads type spin default 1 min 1 max 128
option name Hash type spin default 16 min 1 max 1048576
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 30 min 0 max 5000
option name Minimum Thinking Time type spin default 20 min 0 max 5000
option name Slow Mover type spin default 89 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_Atomic type check default false
option name UCI_Horde type check default false
option name UCI_House type check default false
option name UCI_KingOfTheHill type check default false
option name UCI_Race type check default false
option name UCI_3Check type check default false
option name UCI_Anti type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 6 min 0 max 6
uciok
I don't see "UCI_Variant" in that list of options.
Yes you cannot see it because what I really mean is UCI_<variant name>.
ilari wrote:"UCI_Variant" should be a combo option and it's not visible to the user - it just tells Cute Chess which variants can be played.
That is a good info.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Cute Chess 0.9.4 released

Post by Ferdy »

Evert wrote:
gbtami wrote: Stockfish has no UCI_Variant option, but several individual UCI_* options.

Sjaak II has it:
id name Sjaak II 1.0.0 (x86_64)
id author Evert Glebbeek
option name Hash type spin default 48 min 1 max 4096
option name Ponder type check default true
option name UCI_Chess960 type check default true
option name UCI_Variant type combo default normal var chess var chess960 var seirawan var shatar var makruk var shatranj var sittuyin var crazyhouse var chessgi var asean var ai-wok var super var spartan var pocketknight var kingofthehill var knightmate var amazon var chancellor var berolina var losalamos var micro var capablanca var gothic var embassy var greatshatranj var courier var grand var opulent var omega var minishogi var shoshogi var shogi var torishogi var xiangqi
uciok
In fact, it was part of my proposal for a de-facto extension to the UCI standard for variant support by UCI engines. I can dig up the thread with the suggestion later.

I think it would be great if it were more widely adopted; perhaps there is a good opportunity for that here.

I remember you posted before about handling variants in uci.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Cute Chess 0.9.4 released

Post by hgm »

Code: Select all

Stockfish 060916 64 POPCNT by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
uci
id name Stockfish 060916 64 POPCNT
id author T. Romstad, M. Costalba, J. Kiiski, G. Linscott

option name Debug Log File type string default
option name Contempt type spin default 0 min -100 max 100
option name Threads type spin default 1 min 1 max 128
option name Hash type spin default 16 min 1 max 1048576
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 30 min 0 max 5000
option name Minimum Thinking Time type spin default 20 min 0 max 5000
option name Slow Mover type spin default 89 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_Atomic type check default false
option name UCI_Horde type check default false
option name UCI_House type check default false
option name UCI_KingOfTheHill type check default false
option name UCI_Race type check default false
option name UCI_3Check type check default false
option name UCI_Anti type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 6 min 0 max 6
uciok
This is truly awful. There is no way for a GUI to know if a UCI_xxx option selects a variant or is something entirely different. A true UCI_Variant combo option like proposed by Evert would be infinitely better.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Cute Chess 0.9.4 released

Post by Evert »

hgm wrote:

Code: Select all

Stockfish 060916 64 POPCNT by T. Romstad, M. Costalba, J. Kiiski, G. Linscott
uci
id name Stockfish 060916 64 POPCNT
id author T. Romstad, M. Costalba, J. Kiiski, G. Linscott

option name Debug Log File type string default
option name Contempt type spin default 0 min -100 max 100
option name Threads type spin default 1 min 1 max 128
option name Hash type spin default 16 min 1 max 1048576
option name Clear Hash type button
option name Ponder type check default false
option name MultiPV type spin default 1 min 1 max 500
option name Skill Level type spin default 20 min 0 max 20
option name Move Overhead type spin default 30 min 0 max 5000
option name Minimum Thinking Time type spin default 20 min 0 max 5000
option name Slow Mover type spin default 89 min 10 max 1000
option name nodestime type spin default 0 min 0 max 10000
option name UCI_Chess960 type check default false
option name UCI_Atomic type check default false
option name UCI_Horde type check default false
option name UCI_House type check default false
option name UCI_KingOfTheHill type check default false
option name UCI_Race type check default false
option name UCI_3Check type check default false
option name UCI_Anti type check default false
option name SyzygyPath type string default <empty>
option name SyzygyProbeDepth type spin default 1 min 1 max 100
option name Syzygy50MoveRule type check default true
option name SyzygyProbeLimit type spin default 6 min 0 max 6
uciok
This is truly awful. There is no way for a GUI to know if a UCI_xxx option selects a variant or is something entirely different. A true UCI_Variant combo option like proposed by Evert would be infinitely better.
Of course, if you do that, you cannot select AtomicKingOfTheHill3Check960Anti Chess. :lol:

There's no getting rid of UCI_Chess960, and it serves some purpose in letting the engine know it plays a shuffle game/should expect and use KxR castling notation, but beyond that halting this type of fake option proliferation is a good thing.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Cute Chess 0.9.4 released

Post by hgm »

Exactly. UCI_Chess960 is not so much a variant selector as a protocol modifier, and could be used orthogonally to any variant setting to switch the protocol to a Fischer-castling-proof mode. (Of course even this is redundant as a setting, and could have been understood automatically from the position fen. But at least it announces to the GUI that the engine understands Fischer castling,and associated move and position notation.)
User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Cute Chess 0.9.4 released

Post by ilari »

Ferdy wrote:Yes you cannot see it because what I really mean is UCI_<variant name>.
ilari wrote:"UCI_Variant" should be a combo option and it's not visible to the user - it just tells Cute Chess which variants can be played.
That is a good info.
Cute Chess handles both "UCI_VariantName" (check) and "UCI_Variant" (combo) UCI options, but none of those settings are shown to the user.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Cute Chess 0.9.4 released

Post by hgm »

I was just informed by the Stockfish-variant team that they will support the UCI_Variant combo option. Most likely in addition to the check options, as they are compatible with each other: If no check option is set, the combo option decides, and the default value of the latter is normal Chess.

My recommendation to GUI developers is to ignore the check options when the UCI_Variant option does exist.
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: Cute Chess 0.9.4 released

Post by gbtami »

hgm wrote:I was just informed by the Stockfish-variant team that they will support the UCI_Variant combo option. Most likely in addition to the check options, as they are compatible with each other: If no check option is set, the combo option decides, and the default value of the latter is normal Chess.

My recommendation to GUI developers is to ignore the check options when the UCI_Variant option does exist.
PyChess supports UCI_Variant from the time Evert suggested it, but not supports individual UCI_* options with the exception of UCI_Chess960.
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Cute Chess 0.9.4 released

Post by hgm »

A wise choice. I will support it in UCI2WB too. Now we should only hope that all engines implemeting a certain variant will use the same name for selecting it...