International Draughts GUI ported to Chess

Discussion of chess software programming and technical issues.

Moderator: Ras

gwiesenekker
Posts: 2
Joined: Mon Oct 19, 2026 5:57 am
Full name: Gijsbert Wiesenekker

International Draughts GUI ported to Chess

Post by gwiesenekker »

Hi,

I have now also ported my international draughts GUI (GWDGUI) entirely written by AI to Chess (https://github.com/gwiesenekker/ZGUI). Its main features are:

Supports both chess and international draughts.
UCI parameters and .ini files (including parameter substitution) can be maintained in the GUI.
Fully multi-threaded design: multiple tournaments and games can be running concurrently.
Single round-robin, double round-robin and Swiss tournaments with live tournament table.
Import games into a (not very compact) SQLite database with live lookup of the current position.
Evaluation bar and score history.
You can browse the engine PV and the annotator PV on a mini-board.
Only for International Draughts (for now): MCTS annotator supported by GWD (my international draughts engine).

The first version of GWDGUI was entirely written by ChatGPT under my guidance ('Use message queues for GUI-thread communication. Use finite-state-machines for the GUI and thread state' etc.) but not yet in my current '1+1+1=4' mode: one AI writing code, another AI and a human reviewing it. Everything seemed to work until I started adding tournament functionality with multiple games running concurrently: GWDGUI started to error-out all the time. It turned out that without you noticing it the code had become a 'house of cards' with inconsistent game states 'everywhere': the GUI, the threads etc. You then realize that the GUI (and the threads) should use a 'game tree' as the 'source of truth': everything (moves, PVs, evaluations etc.) should be written to and read from the 'game tree'. The second version of GWDGUI (written by ChatGPT) used that and again everything seemed to work until I started to port GWDGUI to Chess in '1+1+1=4' mode. The first code review of GWDGUI by Claude uncovered about 20(!) shadow states.
MacOS is not a primary development platform for me, but GWDGUI also worked on MacOS with one line code change (and an obscure linker flag), so ZGUI should be easy to port to MacOS.

Regards,
GW