That is not true at al. You made that up in the firts place, and I have denied it from the beginning. XBoard includes many functions aimed at making engine design simpler. Such as converting engine Thinking Output to SAN before displaying it, sorting the PVs of the same depth by score for multi-PV, etc.Don wrote:The HGM golden rules is to relegate as much to the engine as possible - that it the xboard philosophy. You cannot have it both way! You have this rule when it's convenient and the other rule when bashing other protocols.
But it only makes sense to do things in the GUI that engines have in common. Move-legality checking is not amongst those, as each engine plays according to its own rules. So the best subdivision is letting everything that requires rule knowledge be handled by the engine (or a referee engine), and anything that doesn't by the GUI. That is not 'as much as possible'. It is in fact 'as little as is absolutely necessary'.
For hiding time odds no new protocol is needed at all. And it is actually a common request by people that want to play human vs engine, and think it unsettling when the engine instantly replies.Anyway, what choice would I have if I did not want to use xboard for this? I really don't have much confidence that I could convince GUI authors to support this handshaking protocol for this esoteric feature and it's so easy to simply implement it in an engine.
Yes, you can have it both ways. But that doesn't mean that it is a good thing to do. The more engines implement it, the less the pressure on GUI authors to implement it for the benefit of all. It is just a recipe for creating chaos.But it's really a non-issue. You CAN have it both ways. It's simple to implement it in an engine and an engine author can ALSO or INSTEAD OF implement the version that requires GUI support that you advocate. In this way an author can have a version guaranteed to work or he can choose the method that only work with xboard or he can do both.


