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.

Wednesday, June 07, 2006

The First Law of Programmer Creativity

"The cost of software maintenance increases with the square of the programmer's creativity." First Law of Programmer Creativity, Robert D. Bliss, 1992.

This guy is spot-on. I am inundated with emails like: "It's totally cool to be able to do a one-click search on Sensei's Library - nobody has that - but could you make their entire site searchable off-line?"

and:

"It's totally cool that Moyo Go instantly shows important patterns - nobody has that - but can you add this horrendously complex feature so that it would be even cooler?"

and:

"It's totally cool that Moyo Go lets me record Audio comments - nobody has that - but can you make the program automatically jump around too?"

Etc. etc. I became hostage to my own creativity. I have to be firm and let Moyo Go gain notoriety first, while I work on the death blow for all dangerous competitors: MoyoGo's upcoming tactical expert. It will know about life & death, connectability and even Territory & Moyo because that's basically coded already - it just needs to know L&D and connectivity.

A TsumeGo module enhances the pattern expert as well - it won't suggest the occasional obviously bad move any more (due to out-of-pattern tactical issues).