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.

Monday, December 04, 2006

Publishing Progress

A rec.games.go terror-gang member commented recently on the progress report for publishing that showed proper working columnization in any format with dummy diagrams with: "It is clear that you are not a Go player, otherwise your diagrams would have looked better".


Perhaps when I get older/take more meds, I will be able to ignore such stuff. Are such folks intentionally evil, or merely stupid?

In any case - rest assured that Publishing is on track, rec.games.go unsubscribed, and I'm finished translating David Mitchell's functional spec into a GUI. He makes a lot of Go diagrams and his wishlist is pretty comprehensive.

Basically, everything imaginable in the diagram should be configurable. It's a kazillion of options that I could barely fit on eight tabs. And I made the dialog box 800x600 to be able to do even that.

David is a Kifu publishing expert, is familiar with most of the the main Go software for publishing/printing and he has made clear what he wants to see in the "perfect" publishing module. It's a multi-page document with multi-page addendums in aswer to my questions. I will do my best to implement as much as I can for a first version, and he will be my beta-tester.

Several days went into designing a GUI that could present the large number of options to the user in the clearest possible way. I had to re-do a lot during the process. The image presented here shows how the user drags & drops items above or below a diagram, like title or move range.

In the "Fonts" section, every part of a Kifu has its own font name, -attributes and text alignment.

What's left is a bunch of coding here & there, mainly fixing some more bugs in the rendering engine and then greatly expanding the "diagram" class I already use to display board positions.

If I want to add variable diagram positioning, I'd also have to do some tricky coding in the rendering engine, so I might leave that until I roll out the first version. Attacks on me on rec.games.go have delayed me for a few days, and the work involved in suing David Windsor for slander and defamation will add to the delay, but I still think I can have a working version before the end of the year.

It would speed up my development time if more of my customers would assertively respond to allegations of theft, lies, professional incompetency etc. directed at me. I appreciate that a lot. If just a couple of my customers would do that, I wouldn't even bother to respond any more to the trolls there and I find myself more relaxed and able to produce new -free- features at a much faster pace.