Saturday, April 14, 2007

Automatic Go game record - Saikifu

I started playing Go with my friend Björn about a year ago after watching Hikaru no Go. It's good fun :) While playing we found ourselves sometimes taking a picture of the board to be able to test variations of our moves later on. We also found ourselves not motivated enough to actually look at the photo afterwards and place it on a board :P That's when the idea to have a computer watch the game and log it automatically came about.
I wrote a small program that looks at a game of Go through a camera and logs it to a SGF file. The main GUI looks like this:

It also acts as an automatic game clock: when black places a stone blacks timer stops and whites timer starts to tick and the other way around. If there is any interest i could add different byoyomi time control methods to enable the program to act as a full-fledged Go game clock.
The program is written in java to be portable, using Java Media Framework API (JMF) 2.1.1e, J2SE 5.0 Update 6 and NetBeans IDE 5.0. It should work with most web cameras.
The code is available at Google code:

Just let me know if you want me to add some features :)



Anonymous said...

That is exactly what I was looking for, and looks pretty cool too. Unfortunately, I cannot find the program at the link you wrote. Where can I download it? Thank you in advance ^__^

Lars Englund said...

It's there, just a few clicks away :)
At the Google code page click "Source", then "Subversion repository" and finally "trunk/". This will take you to:
where the source and jar-file is available for download. Let me know how it works out!

Anonymous said...

Thank you very much, I've found the code, but When I launch the .jar file it says 'could not find the main class. Program Will exit'. Do I have to recompile it? Or should I install some Java environment or library? I have already installed in my system (WinXP) the JRE 1.5.0 from Sun.
Thank you, I'm sorry to bother you with annoying questions ^__^;

Lars Englund said...

You have to install JMF 2.2.1e, just follow the link in the original post.
Your questions are not annoying, it's just fun that my program gets put to good use :)