I don't like the idea of sending the second time control later. For example, suppose you are going to play one of the two following time controls:Matthias Gemuh wrote:bob wrote: the only time controls I have ever encountered in real chess tournaments has been either
40/120 then 20/60,
or 40/120 then 20/60 then game/30
I am not sure who dreamed up the idea of 3-4-5-6 levels of time control, and you can support those if you want. But if you handle the above 3 types, along with the chessclub.com form of time + inorwhich is what the level command was about, you will really cover the time control alternatives that matter to most, I'd bet...
I think we should agree on 2 time formats. The GUI should send time control to engine in one of the 2 formats at beginning of game or between sessions.
FORMAT1: a/b (values of a,b can change in any session, no time increments)
FORMAT2: game/t (no more sessions, time increments including value 0)
So FORMAT2 is always final session or only session, if used.
40/120+20/60+30 would mean that 40/120 is sent before move 1,
20/60 is sent between moves 40 and 41, and 30 is sent between moves 60 and 61.
My engines do just fine already with these proposals/conventions.
40/120 + 20/60
40/120 + game/30
My time allocation during the first 40 moves would be different depending on the secondary time control. That's why I prefer to get the whole kit and kaboodle up front so I can use all available information to make hopefully better time-control decisions.