> > From: Guido Flohr <[email protected]> >> On 13 Nov 2023, at 21:22, Carsten Wenderdel <[email protected]> wrote: >> >> In chess there is UCI, an interface understood by virtually all engines, >> bots and GUIs. Wouldn’t it be great if we had something similar for >> backgammon? Someone could write a new engine or GUI without worrying too >> much about the other. If someone wanted to create a JavaScript or Flutter >> GUI on top of GnuBG, it would be possible. > > I have both implemented UCI and xboard and imho both ”protocols” are > terrible. We should learn from their mistakes.
What suggestions do you have? I don’t know much about UCI other than it is based on std input/output and text based. > >> In chess UCI uses standard input and output. I believe a modern >> interpretation should be based on web technologies. > > Absolutely. > I personally like input/output because it is dead simple and elegantly addresses some issues with the probably most common scenario client and AI-server on the same computer (several instances, no need to communicate/negotiate ports) and avoids unnecessary complexity (if you have http you should do error handling for http). Additionally I believe we need two mechanisms. One simple easy to implement one, mainly addressing play against the machine as described by Carsten and a fast one that might be needed for analysis, rollouts etc. based on binary stuff, shared memory etc. But it is sufficient to have the simply one first and have a place holder for the latter to be done if it is really needed. ciao Frank
