I disagree. 1/2-1/2 and offer draw are still exactly what they are supposed to be as described in th protocol; 1/2-1/2 for terminating games, offer draw for requesting a draw to be granted (e.g. accepting a draw offer). It is only XBoard the implementation of it that has changed, within the freedom (some would ay ambiguity) the protocol specs allowed, or by removing obvious bugs from the old implementation.michiguel wrote:You say that there is no need for modifications of the protocol, but the fact is that you modified it. "offer draw" and 1/2-1/2 is not what it used to be.
Not really. Claims are still 1/2-1/2, in positions where you have the right to claim. Because when you have the right to claim, the draw will certainly be granted, and it is safe to terminate the game. In ICS play, the old protocol also required you to offer a draw to the ICS before making the drawing move, to pre-empt the race condition.Now it is much tighter. That is fine, but what I am requesting is that my engine has the ability to know whether the GUI will have this tighter interpretation, that basically changes the behavior of choice.
It used to be that claims were 1/2-1/2, now it is "offer draw".
Exactly. That is the protocol requirement. That you might be able to get away with sending only one of those is a property of the implementation, that is not specified in the protocol. Future implementations might behave differently than both the old and the new implementation. E.g. it might require both commands to be send. That would not constitute a change of the protocol.As an engine, I want to know what I am dealing with. Your proposed solution is that I act as I do not know what type of XB protocol I am facing and send commands to cover any possibility. offer draw for the new behavior, 1/2-1/2 for the old one.
Yes, that is asking to much: I consider that a very bad feature. It would allow te engine to ask questions about the implementation, so it could figure out in what ways exactly it can violate protocol and get away with it. (Or how it could cheat.) Engines should stick to the protocol, so they can be kept unaware of the implementation details. Leaving that Golden Rule will only promote future incompatibilities.Is that much to ask a simple feature that bounce back with accepted telling me that I am dealing with this new behavior?
Then I could send offer draw if accepted with confidence, without the 1/2-1/2 (which is risky).
In other words, the questions is, what is the problem with sending accepted to a feature atomicoffers=1?
Your concern is not justified. It should always be possible to send a 1/2-1/2 claim if FIDE rules say you can make one in the current position. GUIs that would not accept such claims are badly broken. Do not try to hide their errors by colluding with them in violating the protocol. This will only lead to Chaos, in he long run. Just do not send 1/2-1/2 clams in positions that are not legal draws.Miguel
It has a direct relationship to what I would do. If I know that I am dealing with this tighter interpretation, I would never send 1/2-1/2 for 3 fold rep. or 50 moves rule. Otherwise, I would be extremelly careful in my claims.
That you have to send something before your move that translates to a draw offer in ICS mode is not something that can be helped anyway; it is the ICS that requires that.