Page 1 of 1

UCI GUI - development stage

Posted: Tue Apr 05, 2016 9:18 am
by daz12
I'm in the early stages of developing my chess engine. Is it possible to use UCI for testing during development and if so what do I need to have in place to utilize it?

Thanks

Daz

Re: UCI GUI - development stage

Posted: Tue Apr 05, 2016 12:50 pm
by H.G.Muller
You would have to make your engine communicate through the UCI protocol. I don't know how you communicate with it now. Usually it is far easier to adapt a naturally evolved communication method to WinBoard protocol than to UCI, though. Often just making sure it reacts to the command 'new' to start a new game, to 'go' for making the first move, and replies to an entered move with a move prefixed by the 'move' keyword could already be enough to have it play automated games against other engines.

Re: UCI GUI - development stage

Posted: Tue Apr 05, 2016 2:09 pm
by daz12
Thanks for the reply. I found one of your pages on winboard (below) which uses minimum number of commands and looks fairly simple - so may be a starting point for me. I take it you developed this protocol?

http://home.hccnet.nl/h.g.muller/interfacing.txt

UCI seems more popular than winboard but Prof Hyatt doesn't seem to be a fan of it.

Thanks

Daz

Re: UCI GUI - development stage

Posted: Tue Apr 05, 2016 4:16 pm
by H.G.Muller
Well, in the end it doesn't matter much how popular it is, as long as it works. Most people would not mind driving a Porsche even though a Toyota Yaris might be more popular. Especially if the price would be lower. :lol:

Re: UCI GUI - development stage

Posted: Wed Apr 06, 2016 7:13 am
by Jeremy Bernstein
UCI is also fairly easy to implement and, as you mention, the protocol of choice for many of the strongest engines out there (note that Komodo, Stockfish, Houdini and friends don't support WinBoard). While UCI has its flaws, I find it ultimately nicer to use than WinBoard. The two protocols follow different philosophies. For a GUI author, I would suggest that UCI is more attractive.

Of course, you can always support both.

Re: UCI GUI - development stage

Posted: Wed Apr 06, 2016 9:37 am
by H.G.Muller
But the guy is developing an engine, not a GUI...

The point is that people that started writing a Chess program without any standard protocol in mind almost always already have ways to enter a move, print a move and start a new game. It means they only have to change the format in which they print the move (prefix the 'move' keyword) and the name of the command to reset the engine, and they can already use it for automated games as a WinBoard engine. It is often just a 3-min change.