Having had no status update of KGo since quite some time, I’m going to fix that now. So what actually is KGo? As the name implies it is an implementation of the traditional Go (or Weiqi) game widely played in Japan an China. We are in luck that we already have a good free Go engine, GnuGo. And even better is the fact that there exists some sort of de-facto standard on how to communicate with Go engines, the GTP protocol. Having all the necessary building blocks at hand I decided to start getting something done and here it is:
This screen shows the setup phase of an recorded masters game where you can setup to start at a certain move and wether you want to replay it versus a go engine or versus another human. Ahh… the version currently in SVN trunk has playing versus an engine disabled (but it is implemented and works) because im refactoring the responsable code at the moment. Loading from and saving to SGF files works nice and I have plans to add support for playing online either via GGZ or the more traditional Go servers but this definitely won’t happen too soon…
Here we have one of the configuration screens and what can be seen is that it is themable (like all the other kdegames) and that you can choose your preferred Go engine backend and get instand feedback if that engine is supported or not (that little green light):
As you can see, the current theme is rather functional and I do have to admit that I used and modified some artwork from KReversi. This shot shows some recommended moves generated by the Go engine backend. In fact nearly all game calculations are done in the backend but this is not as clean as it may sound. The GTP protocol is in state of transition since … years .. and it is missing a lot of necessary things.
So i ended up writing a complete GTP protocol wrapper which implements all the needed tidbits like player management, nice status querying and game board manipulation.
Altough one can use it to play Go at the moment there are still a lot of areas which need improvement. So if you want to help out feel free to grab it from SVN and start testing:
svn co svn://anonsvn.kde.org/home/kde/trunk/playground/games/kigo kigo
Stay tuned …
Update: I just decided rename it to Kigo, took quite a bit of time but it was just commit back into SVN.