hgm wrote:True, but it is not a matter of taste whether WinBoard engines can use GUI book or not... That is hard fact.
I am not sure about the lightweight part, though. How do you define 'lightweight'? The minimal subset of commands needed to get a usable engine is only about half 10/3 for UCI (GUI->engine/Engine->GUI), and only 5/1 for XBoard, as I have already shown above. Even with full implementation of both protocols, I doubt you really would need more different commands / keywords for XBoard than for UCI.
So I always advice beginning engine developers to adapt their engine (usually using a 'home-built' protocol at that time) to convert it to XBoard, because it is so much less work for them.
Well I wouldn't agree xboard is less work either. Let's say that xboard and uci are both as simple to implement (in your "counting" you're counting parts of the same command on the UCI side, but we all know you're biaised

)
And let's even agree that xboard has more functionality than UCI.
In reality, that's not what matters to me. I want the protocol to standardize things. And that's where xboard is an abortion
For example if i want to set the hash size of an UCI engine to 64 and set pondering to false:
Code: Select all
setoption name Hash value 64
setoption name Ponder value false
xboard ? well because xboard is so amazingly flexible, everyone does it differently... and a lot of people use a config file, sometimes even with a hardcoded file path in the program executable (like c:\windoard\config.ini, woat that helps me a lot using linux...)
some use options via xboard protocol, but nothing is standardized. so i want to do automated engine matches, playing lots of different ones in a script file via cutechess-cli, and everytime i have xboard ones in there, it's a pain in the a..
But the day they decide to standardize things in the xboard protocol properly, then I will stop hating it, and I might even come to prefer it to UCI (I agree about the heavy traffic in UCI)