Page 1 of 2

Polyglot adapter should speak to xboard-engines, too

Posted: Sun Jan 11, 2015 11:59 am
by qwertologe
Hi,

i use the polyglot-adapter (opening books + UCI) but it would be nice, if it can speak to xboard-engines, too.

This would double the available engines for my frontend...

Is there a chance that the developer(s?) think about it?!

Kind regards
Michael Arlt

Re: Polyglot adapter should speak to xboard-engines, too

Posted: Tue Jan 13, 2015 1:07 pm
by H.G.Muller
I would say: none at all. For one, there aren't really any Polyglot developers left. Just me, and I just occasionally hack it to keep it up to date with the evolution of WinBoard protocol. Actually I am considering dropping Polyglot altogether from the WinBoard core-components set, and completely switch to my own 'UCI2WB', so that I won't have to bother anymore.

That being said, it seems what you really want is a WB2UCI adapter, while Polyglot originally is a UCI2WB adapter. So it Polyglotdoes exactly the opposite from what you want, and would thus be pretty much the worst starting point for creating what you want. WB2UCI adapters already exist.

Re: Polyglot adapter should speak to xboard-engines, too

Posted: Wed Jan 14, 2015 9:55 pm
by qwertologe
Hi,

thanks for your time!

I develop a ruby curses gui as frontend for chess engines. It is for a blind friend of mine.

I want to shorten the effort for me - use polyglot as book adapter and chess knowledge (50 moves, 3* repetition, chess rules) and UCI-adapter.

My frontend has no knowledge about chess at all and this works fine :-).

I send the move of the user to polyglot, it answers with a book move, an engine move, a result (e.g. draw) or an error if the move is incorrect. This is really cool. It would be nice if it can speak to xboard, too - more engines...
My CUI can speak the engines moves or hints.

I would take my remaining time to integrate an existing pgn-gem to make it possible for him to load pgn databases, filter the game list and replay / analyze the games.
It would be really great if you consider to support polyglot in the future. Until now my blind friend starts polyglot under linux and controls the chess engines by typing xboard-commands. The problems are: No board, cursor in the last line instead of the current move of the engine, no speech, ...
My chess frontend took the xboard-commands into the curses interface so he has nothing new to learn. He can use xboard-commands and has a full curses frontend (board, move list, analysis, engine response, fen, chess-clock, ...).

I like to say thanks for your work and clarify that polyglot is really helpful for blind people using linux console.
Hopefully this can changes your mind.

Again: Thanks for your (polyglot) effort.

Kind regards,
Michael

Re: Polyglot adapter should speak to xboard-engines, too

Posted: Sat Jan 17, 2015 9:30 pm
by H.G.Muller
So if I understand you correctly now, you would actually want Polyglot to act as a WB2WB adapter? My first response was based on the impression that your CUI would speek UCI, you were using Polyglot as UCI2UCI book adapter, and now wanted it to also act as WB2UCI adapter.

But anyway, if you are happy with running UCI engines as it is now, why don't you simly run WB engines through Polyglot + WB2UCI?

I sympathize with your cause, but if I would put in effort to make life easier for blind Chess players, I think my time would be better spent to make an accessible version of WInBoard itself. In fact such an accessible version of WinBoard for the sight-impaired already exists. Or is the problem that this has to run under Linux or on Mac?

Re: Polyglot adapter should speak to xboard-engines, too

Posted: Mon Jan 19, 2015 12:16 am
by qwertologe
I use polyglot to get several addons:

- book moves
- 3 times repetion 1/2
- 50 move 1/2
- UCI-adapter

If my CUI would act as UCI it would not get all benefits:

Code: Select all

man polyglot
For instance, it detects and reports draws by fifty-move rule, repetition, etc ...
So it speaks xboard protocol and uses polyglot as book engine and adapter to UCI engines.

If there would be an auto-detection of uci/xboard engine which leads to pass through of xboard commands for xboard-engines, i could use some really nice xboard-engines, too without additional work :-).

I develop under Linux only and yes - my blind friend uses Linux console only - no Windows, no X at all.

Another project is a real chess computer with a tactile chess board, connected to a raspberry pi with an arduino board. There i use a read-only minibian togother with polyglot and my ruby chess frontend, too. If all is finished, it will be released free for all.

Again: polyglot is really quite useful for me and others.

Kind regards,
Michael Arlt

Re: Polyglot adapter should speak to xboard-engines, too

Posted: Tue Jan 20, 2015 9:16 am
by H.G.Muller
But that still does not answer my question:

If you want to connect WB engines to Polyglot, why not do it the same way any one uses when he wants to connect a WB engine to a UCI GUI: use WB2UCI? So use the setup

your CUI <---> Polyglot <---> WB2UCI <---> WB engine

Re: Polyglot adapter should speak to xboard-engines, too

Posted: Tue Jan 20, 2015 8:27 pm
by qwertologe
I can't find WB2UCI for Linux.

Re: Polyglot adapter should speak to xboard-engines, too

Posted: Tue Jan 20, 2015 11:21 pm
by H.G.Muller
Oh, doesn't there exist a Linux version of it? I didn't know that. I never use it, of course.

That would indeed be a problem. But you could still run the WB engines directly in your GUI. WB engines typically do their own legality checking, claim their own draws, and manage their own book. Polyglot would not really give them anything extra. In fact, Polyglot is intended to just look like a typical WB engine to the GUI; it doesn't do anything that WB engines would not do.

I agree, however, that there is a sore need for an accessible Chess interface on Linux, and that XBoard is awful in this respect. I could not even open the main menus through the keyboard... High time I should fix this.

Re: Polyglot adapter should speak to xboard-engines, too

Posted: Thu Jan 22, 2015 8:12 pm
by qwertologe
Oh, doesn't there exist a Linux version of it?
I didn't even find the windows version but at least dead links - but this maybe my problem...
WB engines typically do their own legality checking, ...
"typycally" is the problem. Does engine x recognize it? How is the text output? Polyglot checks the end of the game (stalemate, 3* repetition, ...) and gives me a guaranteed text output, which i parse, translate into other languages and even speak with pre-generated audio files.
... and manage their own book.
... and i must configure the books for all engines - and hopefully they support a bookpath for book selection.
Polyglot would not really give them anything extra.
I can configure all my books for Polyglot and use them with all engines.
it doesn't do anything that WB engines would not do

Code: Select all

man polyglot
In addition it tries to solve known problems with other adapters.
... and all the other arguments above.

Don't get me wrong, i understand your arguments that i could use a wb engine. I have other reasons. But time is the problem - for me and for you, too (as i can see).

So thank you for your time and for polyglot :-)

Re: Polyglot adapter should speak to xboard-engines, too

Posted: Fri Jan 23, 2015 1:06 pm
by H.G.Muller
Indeed, time is a scarce resource. You are building a GUI, and logically, a GUI should do the the things you want done. If you can save time by using some existing piece of software (like Polyglot) that happens to do the job, albeit in an intrinsically inefficient and cumbersome way, power to you! But now you want something that doesn't seem to exist, and want others to do your job for you in a way that would take much more effort. That seems globally counter-productive, and I doubt that there will be any takers.

If you want to use Polyglot as a book engine, you can run it in parallel to the real engine, instead as an adapter for it. Just let it play until it gets out of book (forcing the moves into the real engine), and then switch to playing against the real engine. In that stage you can use Polyglot as 'background' engine to force the moves to, and rely on its illegal-move and rep-draw claims.