Page 1 of 1

Universal Chess Interface deficiencies/wish list

PostPosted: 22 Sep 2007, 05:17
by Jaap Weidemann
First of all let me just clarify that this post is not intended as an attack on the UCI, but rather to ascertain what other authors (that use the UCI) finds absent.

The only thing on my wish list is the ability to send messages/commands directly from the engine to an Internet Chess Server when connected (similar to the XBoard protocol commands “tellics” and tellicsnoalias”).

Jaap

Re: Universal Chess Interface deficiencies/wish list

PostPosted: 22 Sep 2007, 07:11
by Onno Garms
Hello,

first of all let me say that I don't think it's a good idea to multipost to Talkchess and this forum. This splits the discussion into two branches and for people who are not interested in the topic costs some extra time to see the topic.

About UCI, why should it be able to talk to the internet? At first glance it seems that it should be transparent for the engine if the GUI is connected to the internet or not.

What I am missing is:
- complete information about time control. UCI is blind for what happens after movestogo are played. Try a game with 1 hour for 20 moves and 1 second for the rest of the game ;-)
- command to set average time per move. Even the shredder GUI has a feature to set this (set time per move and do not set "exact time"), but it cannot be passed to UCI directly. "exact time" is passed as movetime, but without exact time, the Shredder GUI multiplies the time by 60 and sends 60 movestogo. The latter is a dirty workaround and does not work for all engines.

Onno

Re: Universal Chess Interface deficiencies/wish list

PostPosted: 22 Sep 2007, 11:38
by Volker Pittlik
Onno Garms wrote:Hello,

first of all let me say that I don't think it's a good idea to multipost to Talkchess and this forum. ...


In priciple I agree here but unfortunately we have to notice that usenet netiquette is almost unknown meanwhile. It has been ignored in the old days of r.g.c.c. and is ignored by many regular posters.

About cross- and multiposting: look in the tournament forums to find dozens of examples for it.

Most important: please let the moderator do the moderation. It is also possible to create a two hundred replies monster thread which leads to nowhere without violating the netiquette.

I think this is an important topic so why not doscuss it in two places.

Volker

Re: Universal Chess Interface deficiencies/wish list

PostPosted: 22 Sep 2007, 13:21
by Jaap Weidemann
Onno Garms wrote:first of all let me say that I don't think it's a good idea to multipost to Talkchess and this forum. This splits the discussion into two branches and for people who are not interested in the topic costs some extra time to see the topic.


Hi Onno,

Fair enough, CCC post removed.

Onno Garms wrote:About UCI, why should it be able to talk to the internet? At first glance it seems that it should be transparent for the engine if the GUI is connected to the internet or not.


The engine need not be aware that the GUI is connected to an ICS. The GUI just have to relay messages to the ICS when connected. This would enable the engine to send additional information either to the opponent or spectators. This is particularly useful in tournament conditions.

Jaap

Re: Universal Chess Interface deficiencies/wish list

PostPosted: 24 Sep 2007, 20:11
by Dann Corbit
I think it would be a good idea to simply combine both Winboard and UCI grammar.

Then (for instance) a UCI engine could be fed the next move instead of an entire movelist and the engine could have better understanding of its current state and be able to learn better. On the other hand, the Winboard protocol has almost nothing for engine setup, and so authors just wing it and invent their own command line stuff or read ini files. So the best solution (I think) is a combination of both protocols into 1 protocol.

I would call it Unified Chess Character Interface (UCCI).

Re: Universal Chess Interface deficiencies/wish list

PostPosted: 26 Sep 2007, 16:24
by Fritz Grau
Onno Garms wrote:What I am missing is:
- complete information about time control. UCI is blind for what happens after movestogo are played. Try a game with 1 hour for 20 moves and 1 second for the rest of the game ;-)

That sounds good to me (although for most usual time controls the current information seems sufficient for reasonable time management).
Onno Garms wrote:- command to set average time per move. Even the shredder GUI has a feature to set this (set time per move and do not set "exact time"), but it cannot be passed to UCI directly. "exact time" is passed as movetime, but without exact time, the Shredder GUI multiplies the time by 60 and sends 60 movestogo. The latter is a dirty workaround and does not work for all engines.

I wouldn't know how to implement this in an engine: How am I to know what the average per move time is going to be when I don't know how difficult the future move decisions are going to be?

On the other hand, if the average move time is only supposed to be correct a posteriori, the GUI could already handle that under the present specification by pretending to the engine that it has to survive for 5 moves with e.g. 5*[average move time] time and adjusting this interval depending on the question whether the engine has been using too much or too little time. As this is a rather imprecise job, I would prefer it to be done by the GUI instead of the engine.

Some improvements I would like are:
- allow the engine to set its own options with "set option ..." (then it could e.g. offer some personality presets which are like macros for changing several other options)
- add support for crazyhouse/bughouse fen strings (I believe it is called BFEN); perhaps X-FEN is more important in general.

Re: Universal Chess Interface deficiencies/wish list

PostPosted: 26 Sep 2007, 17:42
by Onno Garms
Fritz Grau wrote:That sounds good to me (although for most usual time controls the current information seems sufficient for reasonable time management).


From my active time I remember 2h/40 plus 30min/rest. I also remember that some friends of mine who are active now told me about games with more unusual time controls, starting at n*(3 min) for n moves, then 15 min for the rest (I don't remember the value of n, but it was not very large). Unusual enough?

I wouldn't know how to implement this in an engine: How am I to know what the average per move time is going to be when I don't know how difficult the future move decisions are going to be?


That's why SMK doesn't like my suggestion.

Re: Universal Chess Interface deficiencies/wish list

PostPosted: 01 Oct 2007, 02:14
by Jaap Weidemann
Fritz Grau wrote:- add support for crazyhouse/bughouse fen strings (I believe it is called BFEN); perhaps X-FEN is more important in general.


Support for more variants is certainly desirable.

Jaap

Re: Universal Chess Interface deficiencies/wish list

PostPosted: 28 Nov 2007, 19:11
by PulsarMike
i have found the tellics command useful. Just recently i was using it to ouput tells directly to the ics to my computer account ( yes its talking to itself ) and the tells gave me a bunch of counter values so i could see sort of the state of the program from move to move. I could have outputed to a file but it was easier and quicker to do it to the ics sometimes.

I also like to know the name of the interface and if i'm on an ics wich winboard tells me when the engine loads. I can do things differently depending on that. Like for crazyhouse if its not an ics i check legality and send messages to the user in some cases.

More info and options is not bad you can choose not to use it.

Mike Adams
www.adam16mr.org/pulsar.html