Him > On 14 Nov 2023, at 20:42, Frank Berger <[email protected]> wrote: > >> >> 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.
The problem is that the specification is hard to understand and sometimes ambiguous. > > > >> >>> 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). Obviously you’re not the only fan of raw I/O. Therefore, it’s probably a good idea to just stick to it, and rather offer a connector that translates the protocol to a web api for those that prefer it. That should make everybody happy and not very hard. Cheers, Guido
