UCI GUI - development stage

Code, algorithms, languages, construction...
Post Reply
daz12
Posts: 16
Joined: Wed Feb 25, 2015 7:19 am

UCI GUI - development stage

Post by daz12 » Tue Apr 05, 2016 9:18 am

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

H.G.Muller
Posts: 190
Joined: Sun Jul 14, 2013 10:00 am
Real Name: H.G. Muller

Re: UCI GUI - development stage

Post by H.G.Muller » Tue Apr 05, 2016 12:50 pm

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.

daz12
Posts: 16
Joined: Wed Feb 25, 2015 7:19 am

Re: UCI GUI - development stage

Post by daz12 » Tue Apr 05, 2016 2:09 pm

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

H.G.Muller
Posts: 190
Joined: Sun Jul 14, 2013 10:00 am
Real Name: H.G. Muller

Re: UCI GUI - development stage

Post by H.G.Muller » Tue Apr 05, 2016 4:16 pm

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:

Jeremy Bernstein
Site Admin
Posts: 1226
Joined: Wed Jun 09, 2010 7:49 am
Real Name: Jeremy Bernstein
Location: Berlin, Germany
Contact:

Re: UCI GUI - development stage

Post by Jeremy Bernstein » Wed Apr 06, 2016 7:13 am

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.

H.G.Muller
Posts: 190
Joined: Sun Jul 14, 2013 10:00 am
Real Name: H.G. Muller

Re: UCI GUI - development stage

Post by H.G.Muller » Wed Apr 06, 2016 9:37 am

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.

Post Reply