(Hub engine) GUI for International Draughts

Discussion about development of draughts in the time of computer and Internet.
gwiesenekker
Posts: 74
Joined: Sun Feb 20, 2011 21:04
Real name: Gijsbert Wiesenekker

Re: (Hub engine) GUI for International Draughts

Post by gwiesenekker »

Hi,

GWDGUI v2 is almost done. Joost already confirmed playing a tournament with multiple concurrent games works. I am currently adding the Analyzer back in, which will be one of the available hub engines. I think except for Kingsrow most engines (like GWD) would require a dedicated directory per instance, so if you would like to have hub engine X to act as an analyzer but also to participate in the tournament you have to duplicate the directory and add it as a new hub engine.

GW
gwiesenekker
Posts: 74
Joined: Sun Feb 20, 2011 21:04
Real name: Gijsbert Wiesenekker

Re: (Hub engine) GUI for International Draughts

Post by gwiesenekker »

Hi,

Final QA:
ksnip_20260609-224631.png
ksnip_20260609-225030.png
GW
gwiesenekker
Posts: 74
Joined: Sun Feb 20, 2011 21:04
Real name: Gijsbert Wiesenekker

Re: (Hub engine) GUI for International Draughts

Post by gwiesenekker »

Hi,

Version 2.0 has been released and can be downloaded from Github for testing. I would remove engines.json and all *.params.json and re-register all engines using the new engine-registration dialog box.

GW
Joost Buijs
Posts: 508
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: (Hub engine) GUI for International Draughts

Post by Joost Buijs »

Most of it seems to be working, but I have the feeling that there is still something wrong with the timing. When I play games of 1 minute with an increment of 1 second, it often happens that the engines have more than 2 minutes left on their clock at the end of the game.

DXP doesn't allow a Fisher style clock, this could be the cause, Ed Gilbert added an extension to DXP to allow fractional clocks with increment, maybe this extension can be added to the GUI as well.

The GUI uses Tickcount64 for timing, this is not very accurate because it has a resolution of 15.625 msec. maybe this can be improved, nowadays most timing routines have sub-microsecond resolution.
gwiesenekker
Posts: 74
Joined: Sun Feb 20, 2011 21:04
Real name: Gijsbert Wiesenekker

Re: (Hub engine) GUI for International Draughts

Post by gwiesenekker »

Hi,

Without increment GWD's hub and DXP reported time-used/time-left in the log-files are pretty much in sync with the GUI reported time-used/time-left (within a second). I don't think GWD handles increments at the moment, so these would be ignored bonuses.

I noticed .ini configuration using {ip}/{host} and {port} parameters were not ported over from version 1.7. I will add it back.

GW
Joost Buijs
Posts: 508
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: (Hub engine) GUI for International Draughts

Post by Joost Buijs »

gwiesenekker wrote: Wed Jun 10, 2026 16:42 Without increment GWD's hub and DXP reported time-used/time-left in the log-files are pretty much in sync with the GUI reported time-used/time-left (within a second). I don't think GWD handles increments at the moment, so these would be ignored bonuses.
Maybe timings are right when you run under Linux, under Windows I clearly see inexplicable things happening with the clocks. Lets say a game takes 60 moves, and starts with 1 minute on the clock, each move gets a bonus of 1 second (the increment), so in total 2 minutes thinking time, how can it be that near the end of the game there are more than 2 minutes left on the clock? It looks as if the time used by the engine is calculated in a wrong way.

A game with a fixed number of moves, and a fixed time for the whole game 'sudden death' is rather useless. It means that you will get games without result if the outcome is not known after the fixed number of moves have been played. It's also possible that one of the players will lose on time, or has to move so fast that it will lose anyway, playing with increment fixes this.
gwiesenekker
Posts: 74
Joined: Sun Feb 20, 2011 21:04
Real name: Gijsbert Wiesenekker

Re: (Hub engine) GUI for International Draughts

Post by gwiesenekker »

Hi,

Version 2.1 is released. It re-instates editing of engine .ini files with macros and it provides some basic database filtering.
I will follow up the clock issue with Joost directly as I cannot reproduce the issue with GWD as Hub/DXP engines on Windows.

GW
Joost Buijs
Posts: 508
Joined: Wed May 04, 2016 11:45
Real name: Joost Buijs

Re: (Hub engine) GUI for International Draughts

Post by Joost Buijs »

I think it is because the engine under DXP does not receive any information about the increment. Therefore, the engine does not know that it gets an additional 1 second per move with a 1-second increment. Toward the end of the game (when it thinks it has almost no time left), the engine starts playing faster and faster. In endgames with kings that last many moves, the clock keeps building up.

I would try to also implement the DXP extension for increment (which Ed Gilbert once developed) into the GUI. It is only a minor change and it will likely solve the problem.
Ed Gilbert
Posts: 871
Joined: Sat Apr 28, 2007 14:53
Real name: Ed Gilbert
Location: Morristown, NJ USA
Contact:

Re: (Hub engine) GUI for International Draughts

Post by Ed Gilbert »

I documented the DXP additions for Fischer time control in a forum post 10 years ago. I will paste it below. Also, to enable its use in kingsrow, there needs to be a file named "kingsrow.ini" in the directory Documents\Ed Gilbert\Kingsrow International. An empty file will work.

----------

I added a token I named in the source code DXP_GAMEREQ_FISCHER. It is similar to DXP_GAMEREQ, with version, initiator name, and follower color fields identical. An 'F' is sent as the first character in the message instead of 'R'. But at character offset 36 is a 6-character field for the initial time in seconds. Any ASCII number format (integer, fixed point, scientific notation, etc.) is valid. Then at character offset 42 is a 6-character field for the time increment, also in seconds. These 2 new fields are instead of the time and moves fields in DXP_GAMEREQ. The remaining fields for the start position are the same as with DXP_GAMEREQ, except they start at character offset 48 instead of 42.

It does not break the existing protocol. The Initiator can send a GAMEREQ message to start a game with a fixed time and number of moves, or send GAMEREQ_FISCHER message to start a game using incremental time.
Post Reply