Matthias Gemuh wrote:Yes, UCI controls the engines while WB sits there pondering what the engines are doing.
The lack of flexible time controls in WB is very annoying.
UCI handles a vast variety of time controls, e.g.
a/b+c
a/b +c/d+e/f+g
This is not a fundamental shortcoming of the WinBoard philosophy. It would be easy enough to add more 'flavors' of time control in the 'level' command. E.g. by allowing an arbitrary odd number of numeric arguments.
level a b c d e f 0 g 0
where a, c, e and 0 would specify number of moves, and b, d, f and g would specify number of minutes for these moves. Once a number of moves is 0 it would mean "rest of the game", and that no more (moves,minutes) pair will follow. The last number would be seconds of increment per move. Then the above would exactly produce your second example. If the last specified moves/minute interval would not have 0 moves, it would be taken repetitively for the rest of the game.
I could implement this for you in a minute, if anyone wants it. The engine could switch it on through the protocol-2 "features" command, by setting xlevel=1. There is no reason to introduce a higher protocol version for this, in protocol 2 GUIs that do not implement it, the feature would simply be rejected. The engine would not even have to test for acceptance or rejecting of the feature, as it does not affect anything the engine does, but something the GUI does. The engine will know it was accepted if it gets a level command with more than 3 arguments, and if it was rejected, it will simply never get that. And the interpretation of level commands with 3 arguments is not changed.
So I could add any time, if there is demand for this.