ChessBase and UCI

Discussion of chess software programming and technical issues.

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
stegemma
Posts: 858
Joined: Mon Aug 10, 2009 8:05 pm
Location: Italy
Full name: Stefano Gemma
Contact:

ChessBase and UCI

Post by stegemma » Wed Dec 05, 2018 1:33 pm

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: 753
Joined: Sun May 23, 2010 11:32 am
Contact:

Re: ChessBase and UCI

Post by elcabesa » Thu Dec 06, 2018 7:25 pm

Hi stefano,
where can I download your UCI enabled Sabrina/drago to give it a try?

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

Re: ChessBase and UCI

Post by stegemma » Fri Dec 07, 2018 11:37 am

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: 753
Joined: Sun May 23, 2010 11:32 am
Contact:

Re: ChessBase and UCI

Post by elcabesa » Fri Dec 07, 2018 3:20 pm

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: 858
Joined: Mon Aug 10, 2009 8:05 pm
Location: Italy
Full name: Stefano Gemma
Contact:

Re: ChessBase and UCI

Post by stegemma » Fri Dec 07, 2018 4:42 pm

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: 858
Joined: Mon Aug 10, 2009 8:05 pm
Location: Italy
Full name: Stefano Gemma
Contact:

Re: ChessBase and UCI

Post by stegemma » Fri Dec 07, 2018 7: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
Author of Drago, Raffaela, Freccia, Satana, Sabrina.
http://www.linformatica.com

User avatar
hgm
Posts: 22666
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: ChessBase and UCI

Post by hgm » Fri Dec 07, 2018 9:07 pm

elcabesa wrote:
Fri Dec 07, 2018 3:20 pm
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.
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: 858
Joined: Mon Aug 10, 2009 8:05 pm
Location: Italy
Full name: Stefano Gemma
Contact:

Re: ChessBase and UCI

Post by stegemma » Fri Dec 07, 2018 10:27 pm

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: 1024
Joined: Tue Aug 30, 2016 6:19 pm
Contact:

Re: ChessBase and UCI

Post by Ras » Fri Dec 07, 2018 11:56 pm

stegemma wrote:
Fri Dec 07, 2018 10:27 pm
Another 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: 2522
Joined: Wed Oct 01, 2008 4:33 am
Location: Regensburg, Germany
Full name: Guenther Simon
Contact:

Re: ChessBase and UCI

Post by Guenther » Sat Dec 08, 2018 8:53 am

stegemma wrote:
Fri Dec 07, 2018 7: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.

Post Reply