Evolution of a Go program

About the development of Moyo Go Studio, software to (help) play the Oriental game of Go. Go is a two-player zero-sum game of perfect information. It is considered much harder than Chess. Currently, in spite of enormous effort expended, no computer program plays it above the level of a beginner.

Saturday, April 01, 2006

Ishi Converter Progress

It's done.

I was testing against SmartGo's SGF output and I noticed that SmartGo is unable to produce a correct SGF from a PRB file (a few minor things go wrong, e.g. parts of comments end up in result fields).

It appears that SmartGo did not write an Ishi-to-SGF convertor but rather a separate Ishi parser. That would be an overly complex solution because Ishi maps 1::1 to SGF.

My converter is about 200 LOC. I am a bit proud of it, I think it's quite elegantly done. I was playing with the idea of making the Delphi source downloadable here because it was near-trivial to write in just a couple of hours but, obviously, I would be aiding the enemy :)

It will take a little while longer to deploy because there are lots of auxillary issues to be fixed first, for ex. there is a bug in the Tree that garbles the text when game- or problem collections are loaded.

I also want to put in some heuristics that substitutes reasonable problem- and node names & titles, buttons to turn off all board annotation, and of course some rigorous testing with more .PRB and .GO files.