ChessUSA.com TalkChess.com
Hosted by Your Move Chess & Games
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

What should I support, UCI or Winboard?
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: General Topics Flat
View previous topic :: View next topic  
Author Message
Don Dailey



Joined: 29 Apr 2008
Posts: 4311

PostPost subject: Re: What should I support, UCI or Winboard?    Posted: Mon Apr 23, 2012 2:51 pm Reply to topic Reply with quote

hgm wrote:
I think that a versatile protocol should allow the engine to be servant as well as master. I don't see why one should exclude the other. The difference is really only in what the GUI does with the info an engine sends it. In servant mode, refusing a move as illegal is a capital crime, forfeiting the engine. In master mode, the GUI would side with the engine, and take back the move. To run in master mode, the engine can offer the service of sending a list of legal moves, on GUI request. In servant mode the engine should have no say in the matter, and the GUI would just not use the command to request the list.

Note that a list of legal moves is not logically needed in a GUI, even if it wants to leave the engine in total control. It is just the awkward design of the UCI 'searchmoves' that makes this necessary. With separate commands for excluding and including moves, that also understand the qualifier 'all', the same job can be done entirely without knowledge of the full move list.


I think this illustrates why no matter what you do, not everyone will be pleased. I am a strong believer that you should not duplicated functionality that can be derived from other functionality unless there is a pretty good reason. So for example "include" or "exclude" in my way of thinking is the same command. I would not wish to require the engine author be required to implement BOTH. I understand of course that not everyone shares my view and I'm ok with that.

I think you tend to see things from the point of view of the GUI designer, so you prefer things that make your life easier just as I prefer to make it as easy as possible for the engine author. But this is justified, because one GUI can serve an infinite number of programs. In other words the GUI designer will have to put extra time into it, but it's a positive tradeoff if it saves a million chess authors even a few minutes each. And it makes it much more likely that will be able to produce bug-free implementations which also benefits the GUI designer.

If I design my protocol it will be minimalistic and provide the lowest barrier of entry possible for an engine author. We have talked about this before and we don't agree, but I feel that "feature count" is not the most important issue, especially if it's not built on a solid foundation. But I do not dispute the fact that it IS important and I would define a minimal conforming subset of commands, then a more complete advisory set and the ability for the User Interface to gracefully deal with missing features (perhaps by being able to query for them.)

We grappled with these same issues in computer go several years ago, and there was a lot of resistance to the GTP protocol for go when it first came out to the point that some people were angry and said they would "never" move to it and that they didn't need 2 protocols. It was so superior to the previous (gmp) protocol that it quickly took hold and every program supports it now.

GTP also has it's warts but there are some good ideas that could be borrowed from it too.

Quote:


In the WinBoard 'Alien Edition' we even have extended WB protocol with commands to allow the engine to highlight squares (by sending a 'color FEN' to the GUI), in response to 'lift' and 'hover' commands sent by the GUI to inform the engine when the user grabs a piece with the mouse, or drags it over a square where it can make a capture. The engine can also send 'click' commands in response to a 'lift', to implement one-click moving. You really should try the Nebiyu engine once, for playing Ultima, to see how well this works!

_________________
"Your superior intellect is no match for our puny weapons." -Kang and Kodos
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Subject Author Date/Time
What should I support, UCI or Winboard? Asim Pereira Sun Apr 22, 2012 5:28 am
      Re: What should I support, UCI or Winboard? Ted Wong Sun Apr 22, 2012 6:26 am
            Re: What should I support, UCI or Winboard? Asim Pereira Sun Apr 22, 2012 7:39 am
                  Re: What should I support, UCI or Winboard? Ted Wong Sun Apr 22, 2012 9:14 am
                        Re: What should I support, UCI or Winboard? H.G.Muller Sun Apr 22, 2012 9:32 am
      Re: What should I support, UCI or Winboard? H.G.Muller Sun Apr 22, 2012 8:27 am
            Re: What should I support, UCI or Winboard? Aart Bik Tue Apr 24, 2012 9:54 pm
                  Re: What should I support, UCI or Winboard? Daniel Mehrmann Wed Apr 25, 2012 6:17 am
                        Re: What should I support, UCI or Winboard? H.G.Muller Wed Apr 25, 2012 8:55 am
                              Re: What should I support, UCI or Winboard? Daniel Mehrmann Wed Apr 25, 2012 5:57 pm
      Re: What should I support, UCI or Winboard? Matthias Gemuh Sun Apr 22, 2012 3:04 pm
            Re: What should I support, UCI or Winboard? H.G.Muller Sun Apr 22, 2012 6:48 pm
                  Re: What should I support, UCI or Winboard? Matthias Gemuh Sun Apr 22, 2012 8:14 pm
                        Re: What should I support, UCI or Winboard? H.G.Muller Sun Apr 22, 2012 9:10 pm
                              Re: What should I support, UCI or Winboard? Miguel A. Ballicora Sun Apr 22, 2012 9:19 pm
                                    Re: What should I support, UCI or Winboard? Evert Glebbeek Mon Apr 23, 2012 5:25 am
                                          Re: What should I support, UCI or Winboard? H.G.Muller Mon Apr 23, 2012 6:54 am
                                                Re: What should I support, UCI or Winboard? Evert Glebbeek Mon Apr 23, 2012 8:50 am
                              Re: What should I support, UCI or Winboard? Ronald de Man Sun Apr 22, 2012 11:23 pm
                                    Re: What should I support, UCI or Winboard? Carlos Pesce Sun Apr 22, 2012 11:34 pm
                                          Re: What should I support, UCI or Winboard? Christopher Conkie Mon Apr 23, 2012 12:11 am
                                                Re: What should I support, UCI or Winboard? Carlos Pesce Tue Apr 24, 2012 12:12 am
                                                      Re: What should I support, UCI or Winboard? Christopher Conkie Tue Apr 24, 2012 1:18 pm
                                                            Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 1:25 pm
                                                                  Re: What should I support, UCI or Winboard? Christopher Conkie Tue Apr 24, 2012 1:34 pm
                                                                        Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 1:37 pm
                                                                              Re: What should I support, UCI or Winboard? Christopher Conkie Tue Apr 24, 2012 1:45 pm
                                                                                    Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 1:53 pm
                                                                                          Re: What should I support, UCI or Winboard? Christopher Conkie Tue Apr 24, 2012 2:27 pm
      Re: What should I support, UCI or Winboard? Christopher Conkie Sun Apr 22, 2012 10:42 pm
            Re: What should I support, UCI or Winboard? H.G.Muller Mon Apr 23, 2012 8:07 am
                  Re: What should I support, UCI or Winboard? Ted Wong Mon Apr 23, 2012 10:43 am
                        Re: What should I support, UCI or Winboard? H.G.Muller Mon Apr 23, 2012 11:16 am
                              Re: What should I support, UCI or Winboard? Christopher Conkie Tue Apr 24, 2012 1:00 pm
                                    Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 1:04 pm
                                          Re: What should I support, UCI or Winboard? Christopher Conkie Tue Apr 24, 2012 3:09 pm
                                                Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 4:50 pm
                                                      Re: What should I support, UCI or Winboard? Asim Pereira Tue Apr 24, 2012 5:29 pm
                                                            Re: What should I support, UCI or Winboard? Michel Van den Bergh Tue Apr 24, 2012 6:07 pm
                                                            Re: What should I support, UCI or Winboard? Miguel A. Ballicora Tue Apr 24, 2012 6:16 pm
                        Re: What should I support, UCI or Winboard? Evert Glebbeek Mon Apr 23, 2012 11:25 am
                        Re: What should I support, UCI or Winboard? Tony Mokonen Mon Apr 23, 2012 10:00 pm
      Re: What should I support, UCI or Winboard? Don Dailey Mon Apr 23, 2012 1:44 pm
            Re: What should I support, UCI or Winboard? H.G.Muller Mon Apr 23, 2012 2:11 pm
                  Re: What should I support, UCI or Winboard? Don Dailey Mon Apr 23, 2012 2:51 pm
                        Re: What should I support, UCI or Winboard? H.G.Muller Mon Apr 23, 2012 6:01 pm
                              Re: What should I support, UCI or Winboard? Ronald de Man Mon Apr 23, 2012 7:33 pm
                                    Re: What should I support, UCI or Winboard? H.G.Muller Mon Apr 23, 2012 7:49 pm
                                          Re: What should I support, UCI or Winboard? Ronald de Man Mon Apr 23, 2012 9:03 pm
                                                Re: What should I support, UCI or Winboard? H.G.Muller Mon Apr 23, 2012 9:31 pm
                              Re: What should I support, UCI or Winboard? Don Dailey Mon Apr 23, 2012 7:34 pm
                                    Re: What should I support, UCI or Winboard? H.G.Muller Mon Apr 23, 2012 9:15 pm
                                    Re: What should I support, UCI or Winboard? Michel Van den Bergh Tue Apr 24, 2012 6:23 am
                                          Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 8:19 am
                                                Re: What should I support, UCI or Winboard? Evert Glebbeek Tue Apr 24, 2012 8:39 am
      Re: What should I support, UCI or Winboard? Daniel Mehrmann Mon Apr 23, 2012 9:49 pm
            Re: What should I support, UCI or Winboard? H.G.Muller Mon Apr 23, 2012 10:08 pm
                  Re: What should I support, UCI or Winboard? Daniel Mehrmann Mon Apr 23, 2012 10:42 pm
                        Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 5:36 am
                              Re: What should I support, UCI or Winboard? Daniel Mehrmann Tue Apr 24, 2012 6:50 am
                                    Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 7:17 am
                                          Re: What should I support, UCI or Winboard? Daniel Mehrmann Tue Apr 24, 2012 7:42 am
                                                Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 7:49 am
                                                      Re: What should I support, UCI or Winboard? Daniel Mehrmann Tue Apr 24, 2012 8:16 am
                                                            Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 8:35 am
                                                                  Re: What should I support, UCI or Winboard? Daniel Mehrmann Tue Apr 24, 2012 8:50 am
                                                                        Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 9:08 am
                                                                              Re: What should I support, UCI or Winboard? Ed Schroder Tue Apr 24, 2012 10:16 am
                                                                                    Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 11:57 am
                                                                              Re: What should I support, UCI or Winboard? Daniel Mehrmann Tue Apr 24, 2012 7:45 pm
                                                                                    Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 8:06 pm
      Re: What should I support, UCI or Winboard? Jon Dart Tue Apr 24, 2012 1:45 am
            Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 5:44 am
                  Re: What should I support, UCI or Winboard? Jon Dart Tue Apr 24, 2012 11:15 am
                        Re: What should I support, UCI or Winboard? H.G.Muller Tue Apr 24, 2012 12:32 pm
      Winboard ftw Daniel Shawul Wed Apr 25, 2012 2:10 pm
            Re: Winboard ftw H.G.Muller Wed Apr 25, 2012 2:45 pm
                  Re: Winboard ftw Daniel Shawul Wed Apr 25, 2012 3:21 pm
Post new topic    TalkChess.com Forum Index -> Computer Chess Club: General Topics

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum




Powered by phpBB © 2001, 2005 phpBB Group
Enhanced with Moby Threads