Sabaki
Sabaki copied to clipboard
Clocks
https://github.com/dbosst/Sabaki/tree/clocks
It's not pretty on the GUI side or the code side, and hasn't been extensively tested, so I won't create a pull request for it (beta). I've worked on it long enough I think some people can enjoy testing it or for personal use if they really want to use it with clocks.
Anyone that wants to try it out, if you find bugs, let me know as an issue in my fork, not here.
Overtime using multiple periods/moves is shown as: (RemainingPeriods) RemainingMoves TimeLeft
To use it with engines you need to remove any time_settings commands for an engine (I suggest creating a separate engine for testing this fork), and for leela-zero make sure to set the lagbuffer command-line option appropriately (you have to tune this a bit to make sure it doesn't lose on time).
It has several features, including keeping track of per move timing (shown in the comment box) and allowing you to adjust the clock during a game (under Tools) as for tournament use.
The default behaviour is such that for new games, the clock will start when both player(s) or engine(s) are ready. On loading a SGF file with clock timing info, the clock will be disabled when loading the SGF (disabled clock shows the time in italics, but you can resume where you left off in a timed game by just doing Play-> Enable Clock, and then resuming the clock under Play -> Resume Clock if it's a player's turn, or if it's an engine's turn by Engine-> Start Playing.
It uses custom SGF properties for storing timing information (so it is not compatible with SGF specs for timing info. The SGF and GTP spec has various limitations when it comes using various timing modes and advanced features.. The GTP spec in particular has limitations that limit resuming the game from specific points in time using advanced timing modes (i.e. byo-yomi is not supported well at all using time_left, or even with kgs extensions such as kgs-time_left). At the moment if you use a completely unsupported timing mode, it will only show as a warning in the debugger console.
The core component is based on the gameclock package I've been working on.
If you are interested, please check the web-browser demo of the game clock demo out, especially if you need a game clock for go / chess / etc. (you need Javascript enabled)
Now Sabaki is one of the major tools to play against engines. Presumably this issue is worth revisiting?