KGS Leben: Auto-Match

Earlier this afternoon, with my development environment still open and my code yet uncommitted, I connected to the live KGS server with one of my own ranked accounts and played the first real games ever to be played via KGS Leben. Games against other humans!

2016-05-31 hyaumet vs. Xharlie
hyaumet (5 kyu) vs. Xharlie (6 kyu, me)

I have reached a major milestone: all the use-cases required to play a complete game of Go (and those required to join the automatic match-making queue) are implemented, operational and stable enough for me to set aside my test accounts and play with a real one!

After playing several games, I joined a game between Imnot7d (7 dan) and Dom (6 dan) as a spectator and took some screenshots to show off the visible aspects of my work since my last post. I will upload a video showing the client in action as soon as I clean up a few rough edges that became apparent during today’s testing session but, for now, enjoy the pictures!

Firstly, by popular demand, I present markers on the most recently placed stone on the Go board:

Here is a picture of the board during the scoring phase:

Imnot7d (7 dan) vs. Dom (6 dan)
moku” markers showing territory and dead stones that were not removed during play during the scoring phase of a game between Imnot7d (7 dan) and Dom (6 dan)

Here is a picture of the score-summary section that appears in the sidebar:

Imnot7d (7 dan) vs. Dom (6 dan)
The score-summary table is updated dynamically during the scoring phase and also visible after the result has been finalised

The score-summary table draws some inspiration from the the dialogue box that the Java client, Cgoban, displays after the result has been finalised except, unlike the latter, my score-summary table is visible from the moment scoring begins and remains visible thereafter. I have also tabulated the data for readability and indulged in a little innovation. Let me state my case…

All the client software I have used to play Go on the Internet, when it does give the user a score break-down, adds the number of stones captured during play to the number left for dead on the board and marked as such during the scoring phase. A single tally of ‘captures‘ is presented to the user. This does not represent the way I count in my head.

When I count the game, mentally, I count territory and dead-stones together and add previously removed prisoners and constants such as komi or reverse-komi afterwards. For me, the final result of the game is important because it lets me know how accurately I did this and that feedback helps me get better at counting and, hopefully, stronger as a player.

In my score-summary, I have broken the player’s scores down to a more granular level, displaying separate counts for prisoners, being stones captured and removed from the board during play, and captures, being those remaining on the board at the end and marked as dead during scoring. I admit that the terminology needs some work but I think the feature will be very useful to players, like me, who want to know how close their mental counts came to the facts and where they went wrong in their assessment.

To the previously shown player-panels, I added buttons to pass and resign and, to the home view, buttons to join the auto-match queue. Joining incoming challenges has been doable for quite some time, as previously demonstrated and games started from incoming challenges can also be played to completion, naturally.


4 thoughts on “KGS Leben: Auto-Match

  1. Excellent work. I look forward to trying this.

    Currently I run the hacked client on a laptop running Linux mint 17.1 – I don’t use windows at all.

    I use the hacked client because it allows messages and conversations to be timestamped and archived in (for me)
    /home/richard/cgoban-logs//rooms// and

    The other important facility it has is automatically to confirm that it wishes to remain online when challenged after a period of inactivity.

    Unfortunately, the speaking clocks and sound in general don’t work in recent versions of Java and I lose some games because I have become engrossed and don’t notice the passage of time. Possibly this is fixed in the latest normal client. The hacked client includes a number of speaking clocks including ING, chid0ri and pasky.

    Names are also coloured in the list of games one has played and a yellow indication is made when one’s name has been typed in one of the rooms.

    The hacked client is I think quite popular so I hope that you will implement some of these features.

    Many thanks



  2. I assume you’re talking about the legendary Cgobanh? I used to use that, too, and I really want to implement a lot of its features so watch this space. Now… if only I could find my old copy of that .jar on all these old hard-disks that are knocking about my office…


  3. AJ

    Looks nice. Really liked the minimal approach and the time fonts used.

    I think a monospaced like thin sans or a plain monospaced font will go nice with other parts. Also i hope you will keep very hi-res stones and board back ground in live version.


Comments are closed.