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.

Friday, September 15, 2006

FG

SGF's FG ("figure") property provides for a bitfield that defines various flags.

After careful analysis (these things should not be rushed), and considerating existing extensions to the spec, I propose the following amendment:

0 Coordinates on/off
1 Figure name on/off
2 List moves not shown in figure on/off
3-6 Figure alignment 0..15 (0=In column, 1= Top aligned (left to right), 2=Bottom aligned (left to right), 3=Left aligned (top to bottom), 4=Right aligned (top to bottom)', 5=Top-left', 6=Top-center', 7=Top-right, 8=Bottom-left, 9=Bottom-center, 10=Bottom-right, 11=Center-left 12=Centered, 13=Center-right)
7 Generate new page
8 Remove captured stones on/off
9 Hoshi dots on/off
12 Show the range of moves as (From-To) in the caption.
13 The last move of the previous diagram is repeated.
14 Show sequence with small stones.
15 Ignore flags on/off
16-22 Diagram border width as a percentage of the figure: 0..63 (0..60%)
23-29 Diagram size as a percentage of the page width 0..127 (20..100)


This permits a per-figure specification of formatting parameters, allowing us to "word-process" an SGF file. Instead of being constrained to fixed layouts, we can make-up and edit a page layout. Of course, this can be overridden and a more traditional, "fixed" page layout chosen instead.