ChessBase and UCI

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

ChessBase and UCI

Post by stegemma »

I've implemented the UCI protocol in Sabrina and Drago, to help a friend to use it on ChessBase. It seems that ChessBase doesn't recognizes my engine. I haven't ChessBase so I can't know what's wrong. Any hint on what and how to check to make Sabrina/Drago works in ChessBase? With Arena I have no problem, both for UCI and xBoard ptotocol.
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: ChessBase and UCI

Post by elcabesa »

Hi stefano,
where can I download your UCI enabled Sabrina/drago to give it a try?
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: ChessBase and UCI

Post by stegemma »

It is not finished but you can download Drago here:

https://www.linformatica.com/software/D ... 2.beta.zip

It starts in "Drago mode" but you can use this command line parameters:

Code: Select all

-protocol=uci/xboard -engine=drago/sabrina

sample:

drago -protocol=uci -engine=drago
drago -protocol=uci -engine=sabrina
In console, you can switch between both engines:

Code: Select all

\drago
\sabrina
I've haven't test Sabrina in UCI mode (only Drago, with Arena) but it must works, because the protocol interface is the same for both engines.

Warning: this a "work in progress", so please notice me about any problem
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: ChessBase and UCI

Post by elcabesa »

I have found a problem with your interface, but I don't think this is the problem that make it not work with chessbase.

this is the output of your engine:
info string Drago (c) 1993-2018 Stefano Gemma
info string PopCount enabled
uci
id name Drago
uciok
isready
readyok
go depth 5
info string moves 0/0 - time 7498/300000 ms
info string 0 nodes - 7516 ms 0 Knps
bestmove g1f3
ucinewgame
go depth 2
info string moves 0/0 - time 7310/292484 ms
info string 0 nodes - 7328 ms 0 Knps
bestmove f7f5
go depth 2
info string moves 0/0 - time 7127/285156 ms
info string 0 nodes - 7156 ms 0 Knps
bestmove b1c3
go depth 2
info string moves 0/0 - time 6948/278000 ms
info string 0 nodes - 6969 ms 0 Knps
bestmove c7c5
every time you send the go command the engine do the search, and then advance the position like in xboard protocol. In uci, the engine shall always search on the position asked by the interface. if I send 10 time the go command, the engine shall search 10 times the same position. it has no knowledge of the game, it's stateless.
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: ChessBase and UCI

Post by stegemma »

Ok, I'll correct soon. There is already a correction (but not for this issue) so you can update the engine, dovwnloading the same file.

Thanks for your time.
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: ChessBase and UCI

Post by stegemma »

The current release of Drago handles stateless the "go" command and takes care of the "depth" option (in Drago engine only). Not all the UCI options are implemented yet but the most important are.

Still in beta at the same link as before:

https://www.linformatica.com/software/D ... 2.beta.zip
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: ChessBase and UCI

Post by hgm »

elcabesa wrote: Fri Dec 07, 2018 4:20 pmif I send 10 time the go command, the engine shall search 10 times the same position. it has no knowledge of the game, it's stateless.
The UCI specs do not require that. They specify that each 'go' command should be preceded by a position setup, and merely leave it undefined what would happen if you do not do that. So any behavior (including CECP-like) is as good as any other.
User avatar
stegemma
Posts: 859
Joined: Mon Aug 10, 2009 10:05 pm
Location: Italy
Full name: Stefano Gemma

Re: ChessBase and UCI

Post by stegemma »

Another thing that is not clear to me is the "go" command with "depth". What about having depth and wtime/btime and so on? Should I limit to both depth and time or ignore time and search up to the required depth? Now my engines searches up to the required depth, ignoring time but maybe the first behaviour is more logic.
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: ChessBase and UCI

Post by Ras »

stegemma wrote: Fri Dec 07, 2018 11:27 pmAnother thing that is not clear to me is the "go" command with "depth".
I just take the "whatever hits the limit first" approach.
Rasmus Althoff
https://www.ct800.net
User avatar
Guenther
Posts: 4605
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: ChessBase and UCI

Post by Guenther »

stegemma wrote: Fri Dec 07, 2018 8:36 pm The current release of Drago handles stateless the "go" command and takes care of the "depth" option (in Drago engine only). Not all the UCI options are implemented yet but the most important are.

Still in beta at the same link as before:

https://www.linformatica.com/software/D ... 2.beta.zip
It seems Drago is compiled with popcount?. At least it does not run here on older 64-bit hardware.
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy