Logo and LinkThe XML Format

JagoClient has used the traditional Smart Go Format (SGF) fixed by a group of computer go enthusiasts a long time ago. However, nowadays there is a growing interest for storing data in the Web using a common format for all applications. SGF, however, is designed to store games only. This is the main reason, why JagoClient implements the new Internet data format called XML.

This format has some advantages.

The most prominent disadvantage is an increased file length. E.g., B[aa]; in SGF becomes

<Black at="A19"/>

On the other hand, this is far more readable. A sample file is given in below.

Jago will use either the ISO-8859-1 encoding or UTF-8, unless you have set an own encoding. If you want to use UTF-8, please set this encoding with the corresponding menu entry.

DTD and XSL for the XML format

The current description in a DTD file can be downloaded from our server.

There is also a XSL file, which can be used to translate XML files into HTML. The output is a formatted game print without any graphics. I am using the XT translator by J. Clark to do this. Here is an HTML file, as generated by XT.

The Concept

I will try to explain the main concepts behind Jago's XML.

A file may consists of several games. Each game consists of a header and the game representation itself.

The header contains the general information about the players, the date and so on. The format of the entries is free text. However, each of the entries has a format attribute, which can specify an externally defined format name. This might be necessary to search Go games in larger collections. If a program uses these formats, it must validate the user input of course. Jago does not do this.

The game representation uses basic tags, like moves, setups, labels and comments. These tags do not have content.

The basic tags might be organized in different ways to represent a game. Jago uses nodes, and the DTD specifies only this method. A node is a visual representation, and the presentation program should stop after each node. This is close to the SGF format. Each <node> can contain no move, one or more moves, but will usually contain only one move, just as in SG. The nodes are organized in a game tree. So a node can be followed by variations.

My idea was to have a human readable format. Thus within the <nodes> section, the following things may appear: nodes, variations, white moves, black moves, and comments. The last three are shortcuts. Moves will simply work like nodes of their own, while comments are added to the most recent node. If a move has decorations like labels or similar things, it must be contained in a node. Jago will use the move and comment shortcut to write games, whenever possible.

One problem is how to represent the position of the move, stone or label. I have not decided on this. Jago understand the following three methods.

  1. <white at="Q10"/>
  2. <white>Q10</white>
  3. <white><at>Q10</at></white>

Number 1 and 3 have the advantage that the move position can be made a required thing in the DTD. Number 2 is sort of a bad compromise. Number 1 is the shortest, but has two important disadvantages. It does not follow the rule that arguments must not carry important information (the <Image> tag and some others in HTML are of the same kind, however). And it does not allow long lists of positions. It is impossible to require 1 and 3 at the same time. At the time I write this, Jago uses 1 to write games. The DTD allows the <at> tag in the content but does not require it.

The board position itself uses either the standard notation "D10" (omitting the letter J), or the form "4,10", which is appropriate for boards with more than 25 rows. In Jago, all boards are square.

SGF Compatibility and Differences

Jago can save all SGF tags in XML. There is a special handler for this. Thus, it is fully compatible with the SGF standard. As an example OB[10] translates to

<SGF type="OB><Arg>10</Arg></SGF>

Of course, the XML format should eventually get rid of this kind of translation by implementing all relevant tags in XML form.

Moreover, both formats organize the game tree in nodes. So the main structure of the game is

<Go>
<GoGame>
<Information>
...
</Information>
<Node>
...
</Node>
...
<Variation>
...
</Variation>
...
</GoGame>
</Go>

However, a white or black move will also contain a node, and the comment right after the move will belong to that node.

The most prominent differences are

There is much discussion about how fixed the format of certain fields should be. E.g., what format should be use for the player rank? I avoided that discussion by allowing a format parameter to the fields in question, which may be used by some programs. Example:

<Result format="SGF">B+T</Result>

Jago uses a free format to store these data.

Sample Files

A XML file can be as simple as this

<?xml version="1.0" encoding="utf-8"?>
<Go>
<GoGame>
<Information>
<BoardSize>19</BoardSize>
</Information>
<Comment>A test game</Comment>
<Black at="Q16"/>
<White at="Q4"/>
<Black at="D4"/>
<White at="D16"/>
<Black at="F17"/>
<White at="C14"/>
<Black at="D18"/>
<White at="C17"/>
<Black at="J17"/>
</GoGame>
</Go>

Or it can be a little more detailed like this.

<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="go.xsl" type="text/xsl"?>
<!DOCTYPE Go SYSTEM "go.dtd">
<Go>
<GoGame name="Rules">
<Information>
<Application>Jago:Version 4.23</Application>
<BoardSize>19</BoardSize>
</Information>
<Nodes>
<Node>
<Comment>
<P>This file tries to introduce you to the game of Go. </P>
<P>Go has been played in China since ancient time, and has
become especially popular in Japan and Korea. In these
countries, you will find a Go club everywhere and even Go
players on the street.</P>
<P>We believe that Go should become more popular in Western
countries, as it is a game of great simplicity in its rules
and yet unexplored complexity.</P>
<P></P>
<P>This file will also introduce you to JagoClient, the SGF
viewer and Internet Go client.</P>
<P></P>
<P>Now press the &gt; button to go down one node.</P>
</Comment>
</Node>
<Black number="1" at="Q16"/>
<Comment>
<P>This is a typical first move. It should be called a &quot;set&quot;
rather since the stone never moves.</P>
<P>It could only become a prisoner and be removed from the
board. This happens, if it looses all its liberties. The
liberties of a stone are the four attaching fields. A stone
at the boundary has only three liberties and a stone at the
corner only two.</P>
<P></P>
<P>Always press &gt; to go forward.</P>
</Comment>
<White number="2" at="R16"/>
<Comment>
<P>This white moves takes the first liberty of the black
stone.</P>
</Comment>
<Node>
<AddWhite at="Q17"/>
<AddWhite at="Q15"/>
<Comment>
<P>Now it has lost all but one liberty.</P>
</Comment>
</Node>
<White number="3" at="P16"/>
<Comment>
<P>And when it looses the last liberty, it becomes a prisoner,
is removed from the board and remains with the white
player.</P>
<P>Each prisoner is worth one point at the end of the game.</P>
</Comment>
<Node>
<Comment>
<P>The stones at the right form a group of stones. They share
their liberties, which are marked.</P>
<P>Note that diagonal attaching empty fields are NOT
liberties!</P>
<P>Groups are vertically and horzontally connected stones of
the same color.</P>
</Comment>
<Mark at="C14"/>
<Mark at="D13"/>
<Mark at="E13"/>
<Mark at="F14"/>
<Mark at="E15"/>
<Mark at="E16"/>
<Mark at="D17"/>
<Mark at="C16"/>
<Mark at="C15"/>
<AddBlack at="D16"/>
<AddBlack at="D15"/>
<AddBlack at="D14"/>
<AddBlack at="E14"/>
</Node>
<Node>
<AddWhite at="D17"/>
<AddWhite at="C16"/>
<AddWhite at="C15"/>
<AddWhite at="C14"/>
<AddWhite at="D13"/>
<AddWhite at="E13"/>
<AddWhite at="F14"/>
<AddWhite at="E15"/>
<Comment>
<P>Now the group has lost all liberties but one. If this last
liberty is taken by a white stone, ...</P>
</Comment>
</Node>
<White number="4" at="E16"/>
<Comment>
<P>the group becomes 4 prisoners, which the white player keeps
until the game is over.</P>
<P>Thus he/she gets 4 points for the prisoners.</P>
</Comment>
<Node>
<Mark type="square" at="E14"/>
<Mark type="square" at="D14"/>
<Mark type="square" at="D15"/>
<Mark type="square" at="D16"/>
<Mark type="square" at="Q16"/>
<Mark type="triangle" at="H19"/>
<Mark type="triangle" at="H18"/>
<Mark type="triangle" at="J18"/>
<Mark type="triangle" at="J19"/>
<Mark type="triangle" at="K19"/>
<Mark type="triangle" at="K18"/>
<Mark type="triangle" at="L18"/>
<Mark type="triangle" at="L19"/>
<Comment>
<P>However, the aim of the game is not to make prisoners, but
rather to encircle territory.</P>
<P>Territory is a group of empty fields, which are surrounded
by stones of one color.</P>
<P>All territory in this board is marked. The big open space
is no territory, since it has white and black boundary.</P>
<P>At the end of the game, each player adds his prisoner
points and territory points.</P>
</Comment>
<AddBlack at="G19"/>
<AddBlack at="G18"/>
<AddBlack at="G17"/>
<AddBlack at="H17"/>
<AddBlack at="J17"/>
<AddBlack at="K17"/>
<AddBlack at="L17"/>
<AddBlack at="M17"/>
<AddBlack at="M18"/>
<AddBlack at="M19"/>
</Node>
<Node>
<AddWhite at="F19"/>
<AddWhite at="F18"/>
<AddWhite at="F17"/>
<AddWhite at="F16"/>
<AddWhite at="G16"/>
<AddWhite at="H16"/>
<AddWhite at="J16"/>
<AddWhite at="K16"/>
<AddWhite at="L16"/>
<AddWhite at="M16"/>
<AddWhite at="N16"/>
<AddWhite at="N17"/>
<AddWhite at="N18"/>
<AddWhite at="N19"/>
<AddWhite at="J18"/>
<Delete at="D17"/>
<Delete at="E16"/>
<Delete at="E15"/>
<Delete at="F14"/>
<Delete at="E13"/>
<Delete at="D13"/>
<Delete at="C14"/>
<Delete at="C15"/>
<Delete at="C16"/>
<Delete at="P16"/>
<Delete at="Q17"/>
<Delete at="R16"/>
<Delete at="Q15"/>
<Comment>
<P>A surrounded space is only counted as territory, if the
opponent cannot invade into it.</P>
<P>Suppose white tries to invade into this black territory.</P>
<P>He would succeed, if he could take away all black liberties
and capture the black group.</P>
</Comment>
</Node>
<Black number="5" at="K18"/>
<Comment>
<P>Black can answer here.</P>
<P>A fight starts, which black can easily win in this case.</P>
</Comment>
<White number="6" at="K19"/>
<Comment>
<P>If white continues here, ...</P>
</Comment>
<Black number="7" at="L19"/>
<Comment>
<P>This will stop him.</P>
</Comment>
<White number="8" at="J19"/>
<Node>
<Black number="9" at="H19"/>
<Comment>
<P>Now white has no more move, since each move would produde a
white group without a liberty.</P>
<P>Make sure you understand that a move on one of the two
marked fields is suicidal. Most rule sets do not allow such
moves.</P>
<P>Also note that the last black move was not necessary, since
White cannot make any progress by playing there himself.</P>
</Comment>
<Mark at="H18"/>
<Mark at="L18"/>
</Node>
<Black number="10" at="H18"/>
<Comment>
<P>White did have no forther move. But Black could play here
and capture the three white stones.</P>
<P>One may argue that Black has now only 4 points of
territory, whereas he had 8 points before the white attack.</P>
<P>This is a deception, which does not take into account the 3
white prisoners of Black.</P>
<P>Moreover, Black did 1 unnecessary move (the last capture).
This move would normally not be made but instead the white
group would simply be declared as captured and removed at
the end of the game.</P>
</Comment>
<Node>
<Comment>
<P>The process is easier to understand, if the outcome of the
game is counted by Chinese rules, where each stone on the
board and each territory counts the same. This
automatically takes into account the prisoners, because
prisoners are just missing stones.</P>
<P>Then it is obvious, that Black only converted 4 territory
points into stones during the white attack.</P>
<P>The Chinese and the Japanes count methods normally differ
by at most one point.</P>
</Comment>
</Node>
<Node>
<AddBlack at="T12"/>
<AddBlack at="S12"/>
<AddBlack at="S11"/>
<AddBlack at="S10"/>
<AddBlack at="S9"/>
<AddBlack at="S8"/>
<AddBlack at="T8"/>
<AddWhite at="T13"/>
<AddWhite at="S13"/>
<AddWhite at="R13"/>
<AddWhite at="R12"/>
<AddWhite at="R11"/>
<AddWhite at="R10"/>
<AddWhite at="R9"/>
<AddWhite at="R8"/>
<AddWhite at="R7"/>
<AddWhite at="S7"/>
<AddWhite at="T7"/>
<Comment>
<P>The black territory on the right is to small to be ready
for a white attack.</P>
</Comment>
</Node>
<White number="11" at="T10"/>
<Comment>
<P>White can attack here and will capture the black stones
instead.</P>
<P>Normally, Black would know that his stones are lost and
leave them as captured stones.</P>
<P>Thus White would get 7 prisoners, plus 9 points of
territory, adding to 16 points.</P>
</Comment>
<Black number="12" at="T11"/>
<Comment>
<P>If Black resists here, he will simply get captured
immediately. In fact, White does not have to answer at all.</P>
</Comment>
<White number="13" at="T9"/>
<Comment>
<P>Now the black group is gone and White gained 8 prisoners,
plus 8 territory points, again adding to 16 points.</P>
<P>Note that the last white move was not suicidal, since it
captured the black group and thus gained liberties.</P>
<P>If you liked the Chinese way of counting, you should count
like this: The White wall does now surround a total of 10
points (8 territory pints plus 2 stones). Moreover, Black
did play 6 more stones than White here (8 against 2), which
is another loss of 6 points on Black&apos;s side, because these
stones are missing in Blacks balance.</P>
<P>Wether or not White really has to capture the black group
depends on the rest of the board.</P>
</Comment>
<Node>
<AddBlack at="T12"/>
<AddBlack at="S12"/>
<AddBlack at="S11"/>
<AddBlack at="S10"/>
<AddBlack at="S9"/>
<AddBlack at="S8"/>
<AddBlack at="T8"/>
<Delete at="T10"/>
<Delete at="T9"/>
<Comment>
<P>Now suppose, back could make another move here.</P>
<P>He should choose wisely among the three available points.</P>
</Comment>
</Node>
<Black number="14" at="T10"/>
<Comment>
<P>This is the only right spot.</P>
<P>White cannot play into any of these points.</P>
<P>The black groups is said to have &quot;two eyes&quot;. The same
applies to the group on the top. Such a group is alive and
cannot be attacked.</P>
</Comment>
<Node>
<Comment>
<P>It is now time to do a little practice.</P>
<P>Please try to mark the liberties of the groupd at the
right. How many different groups are there?</P>
<P>To do this, choose &quot;Mark&quot; from the menu and click on the
board. You may use &quot;Clear all marks&quot; to start over again.</P>
<P>Press &quot;&gt;&quot; to see the solution.</P>
</Comment>
<Delete at="F19"/>
<Delete at="F18"/>
<Delete at="F17"/>
<Delete at="F16"/>
<Delete at="G16"/>
<Delete at="H16"/>
<Delete at="J16"/>
<Delete at="K16"/>
<Delete at="L16"/>
<Delete at="M16"/>
<Delete at="N16"/>
<Delete at="N17"/>
<Delete at="N18"/>
<Delete at="N19"/>
<Delete at="M19"/>
<Delete at="L19"/>
<Delete at="H19"/>
<Delete at="G19"/>
<Delete at="G18"/>
<Delete at="H18"/>
<Delete at="G17"/>
<Delete at="H17"/>
<Delete at="J17"/>
<Delete at="K17"/>
<Delete at="K18"/>
<Delete at="L17"/>
<Delete at="M17"/>
<Delete at="M18"/>
<Delete at="T13"/>
<Delete at="S13"/>
<Delete at="R13"/>
<Delete at="R12"/>
<Delete at="S12"/>
<Delete at="T12"/>
<Delete at="R11"/>
<Delete at="S11"/>
<Delete at="R10"/>
<Delete at="S10"/>
<Delete at="T10"/>
<Delete at="S9"/>
<Delete at="S8"/>
<Delete at="T8"/>
<Delete at="T7"/>
<Delete at="S7"/>
<Delete at="R7"/>
<Delete at="R8"/>
<Delete at="R9"/>
<AddBlack at="D16"/>
<AddBlack at="D15"/>
<AddBlack at="K16"/>
<AddBlack at="K15"/>
<AddBlack at="L15"/>
<AddBlack at="Q16"/>
<AddBlack at="Q15"/>
<AddBlack at="R14"/>
<AddBlack at="R13"/>
<AddBlack at="E4"/>
<AddBlack at="E5"/>
<AddBlack at="F6"/>
<AddBlack at="Q4"/>
<AddBlack at="Q5"/>
<AddBlack at="R5"/>
<AddBlack at="S5"/>
<AddBlack at="T5"/>
<AddBlack at="T6"/>
<AddBlack at="T7"/>
<AddBlack at="S7"/>
</Node>
<Node>
<Mark at="D17"/>
<Mark at="E16"/>
<Mark at="E15"/>
<Mark at="D14"/>
<Mark at="C15"/>
<Mark at="C16"/>
<Mark at="K17"/>
<Mark at="J16"/>
<Mark at="J15"/>
<Mark at="K14"/>
<Mark at="L14"/>
<Mark at="M15"/>
<Mark at="L16"/>
<Mark at="Q17"/>
<Mark at="P16"/>
<Mark at="P15"/>
<Mark at="R16"/>
<Mark at="R15"/>
<Mark at="Q14"/>
<Mark at="Q13"/>
<Mark at="R12"/>
<Mark at="S13"/>
<Mark at="S14"/>
<Mark at="E6"/>
<Mark at="F7"/>
<Mark at="G6"/>
<Mark at="F5"/>
<Mark at="D5"/>
<Mark at="D4"/>
<Mark at="E3"/>
<Mark at="F4"/>
<Mark at="P5"/>
<Mark at="P4"/>
<Mark at="Q3"/>
<Mark at="R4"/>
<Mark at="S4"/>
<Mark at="T4"/>
<Mark at="S6"/>
<Mark at="R6"/>
<Mark at="Q6"/>
<Mark at="R7"/>
<Mark at="S8"/>
<Mark at="T8"/>
<Comment>
<P>There are 7 groups. Note that the four stones at the top
left are two groups, which share liberties, but are not
connected.</P>
</Comment>
</Node>
<Node>
<AddWhite at="P16"/>
<AddWhite at="P15"/>
<AddWhite at="Q14"/>
<AddWhite at="R15"/>
<AddWhite at="R16"/>
<Comment>
<P>White can capture any of them seperately.</P>
</Comment>
</Node>
<White number="15" at="Q17"/>
<Comment>
<P>Like this.</P>
</Comment>
<Node>
<Comment>
<P>It is now time for the next lesson about live and dead
groups.</P>
<P>Choose &quot; Next Game&quot; from the menu to go to the next lesson.</P>
</Comment>
</Node>
</Nodes>
</GoGame>
<GoGame name="Rules">
<Information>
<Application>Jago:Version 4.23</Application>
<BoardSize>19</BoardSize>
</Information>
<Nodes>
<Node>
<AddBlack at="P19"/>
<AddBlack at="P18"/>
<AddBlack at="Q18"/>
<AddBlack at="R18"/>
<AddBlack at="S18"/>
<AddBlack at="T18"/>
<AddBlack at="R19"/>
<AddWhite at="O19"/>
<AddWhite at="O18"/>
<AddWhite at="O17"/>
<AddWhite at="P17"/>
<AddWhite at="Q17"/>
<AddWhite at="R17"/>
<AddWhite at="S17"/>
<AddWhite at="T17"/>
<Comment>
<P>We will repeat why Black is safe here. White cannot capture
these stones.</P>
</Comment>
</Node>
<White number="1" at="S19"/>
<Comment>
<P>If he tries here, he has no more move, because each move
would simply mean suicide.</P>
<P>This is due to the fact that Black has two eyes.</P>
</Comment>
<Node>
<AddBlack at="Q19"/>
<Comment>
<P>If Black had only one eye, White could set into the corner
and capture the black group.</P>
</Comment>
</Node>
<White number="2" at="T19"/>
<Comment>
<P>You should try to understand that difference.</P>
</Comment>
<Node>
<AddBlack at="B19"/>
<AddBlack at="B18"/>
<AddBlack at="B17"/>
<AddBlack at="B16"/>
<AddBlack at="B15"/>
<AddBlack at="A15"/>
<AddWhite at="A14"/>
<AddWhite at="B14"/>
<AddWhite at="C14"/>
<AddWhite at="C15"/>
<AddWhite at="C16"/>
<AddWhite at="C17"/>
<AddWhite at="C18"/>
<AddWhite at="C19"/>
<Delete at="O19"/>
<Delete at="O18"/>
<Delete at="O17"/>
<Delete at="P17"/>
<Delete at="Q17"/>
<Delete at="R17"/>
<Delete at="S17"/>
<Delete at="T17"/>
<Delete at="T19"/>
<Delete at="S19"/>
<Comment>
<P>Black is even save here.</P>
</Comment>
</Node>
<White number="3" at="A17"/>
<Comment>
<P>If White tries to invade here, Black must be alert and make
two eyes immediately.</P>
</Comment>
<Black number="4" at="A18"/>
<Comment>
<P>This is the only move.</P>
</Comment>
<Node>
<Delete at="A18"/>
<AddWhite at="A18"/>
<Comment>
<P>Failing to do so allows White to play one more stone, and
White can kill black.</P>
<P>Your job is to play this out. It is Whites turn. Go ahead
and capture black.</P>
<P>If you have finished this goto the &quot;Next Game&quot;:</P>
</Comment>
</Node>
</Nodes>
</GoGame>
<GoGame name="Rules">
<Information>
<BoardSize>19</BoardSize>
</Information>
<Nodes>
<Node>
<AddBlack at="P16"/>
<AddBlack at="Q17"/>
<AddBlack at="R16"/>
<AddBlack at="Q15"/>
<AddWhite at="P15"/>
<AddWhite at="Q14"/>
<AddWhite at="R15"/>
<Comment>
<P>This situation is called a Ko.</P>
<P>Assume, White captures.</P>
</Comment>
</Node>
<White number="1" at="Q16"/>
<Comment>
<P>Ok. If Black recaptures, ...</P>
</Comment>
<Black number="2" at="Q15"/>
<Comment>
<P>we have the same situation again.</P>
<P>The Ko rule forbits this.</P>
<P>The rules say, that if a single stone captures a single
stone, it may not be recaptured immediately. It is
sometimes stated a little more restirctive in forbidding
game repetition. We can live with the first form for now.</P>
<P>Let&apos;s start again.</P>
</Comment>
<Node>
<AddWhite at="B19"/>
<AddWhite at="B18"/>
<AddWhite at="B17"/>
<AddWhite at="B16"/>
<AddWhite at="B15"/>
<AddWhite at="A15"/>
<AddBlack at="C19"/>
<AddBlack at="C18"/>
<AddBlack at="C17"/>
<AddBlack at="C16"/>
<AddBlack at="C15"/>
<AddBlack at="C14"/>
<AddBlack at="B14"/>
<AddBlack at="A14"/>
<Comment>
<P>Assume this is the board position.</P>
</Comment>
</Node>
<White number="3" at="Q16"/>
<Comment>
<P>If White captures, Black may not re-capture immediately.</P>
</Comment>
<Black number="4" at="A17"/>
<Comment>
<P>So he makes a move, which White has to answer. This is
called a &quot;Ko thread&quot;.</P>
</Comment>
<White number="5" at="A18"/>
<Comment>
<P>This is the only way.</P>
<P>Now Black can recapture.</P>
</Comment>
<Black number="6" at="Q15"/>
<Comment>
<P>White is not allowed to recapture. And he does not have a
Ko thread. So he plays elsewhere.</P>
</Comment>
<White number="7" at="D4"/>
<Comment>
<P>Say here.</P>
</Comment>
<Black number="8" at="Q16"/>
<Comment>
<P>Now Black can finish the Ko. </P>
<P>This whole process is called a Ko fight. A Ko fight can be
big and the outcome may decide a whole game.</P>
<P></P>
<P>Now go the next lesson with &quot;Next Game&quot;</P>
</Comment>
</Nodes>
</GoGame>
<GoGame name="Rules">
<Information>
<BoardSize>19</BoardSize>
</Information>
<Nodes>
<Node>
<Comment>
<P>You have now learned all rules of Go.</P>
<P>One thing, which remains to say, is that Black can get a
handicap from White. On the right, you see a 9 stone
handicap. Handicaps are set in a special way.</P>
<P>It is now Whites move.</P>
</Comment>
<AddBlack at="D16"/>
<AddBlack at="D10"/>
<AddBlack at="D4"/>
<AddBlack at="K4"/>
<AddBlack at="K10"/>
<AddBlack at="K16"/>
<AddBlack at="Q16"/>
<AddBlack at="Q10"/>
<AddBlack at="Q4"/>
</Node>
<Node>
<White number="1" at="O17"/>
<Comment>
<P>White might start by attacking a corner.</P>
<P>It should be stressed that the corner territory is by no
means save. White can invade it easily.</P>
</Comment>
<Mark at="R19"/>
<Mark at="R18"/>
<Mark at="R17"/>
<Mark at="S17"/>
<Mark at="S18"/>
<Mark at="S19"/>
<Mark at="T19"/>
<Mark at="T18"/>
<Mark at="T17"/>
</Node>
<Black number="2" at="R14"/>
<Comment>
<P>Which black defends like this.</P>
<P>Again the corner is not yet save. But Black has now
prospects along the right side.</P>
</Comment>
<White number="3" at="Q18"/>
<Comment>
<P>If Whit plays here, ...</P>
</Comment>
<Black number="4" at="R17"/>
<Comment>
<P>black can secure more territory with this move.</P>
</Comment>
<White number="5" at="F16"/>
<Comment>
<P>White may also attack higher, trying to build up his
position towards the middle of the board.</P>
</Comment>
<Black number="6" at="D14"/>
<Comment>
<P>Again Black defends the corner.</P>
</Comment>
<White number="7" at="D17"/>
<Comment>
<P>White may now try to gain foot along the top and strengthen
his lonely stone for an attack against the Black stone at
the top middle.</P>
<P>However, we do not want to give you a complete game.</P>
<P>Beginners are advised to play on smaller boards anyway.
There are numerous books about Go (mostly in English). For
a start, you should join the local Go club.</P>
<P></P>
<P>Have fun with this wonderful game!</P>
</Comment>
</Nodes>
</GoGame>
<GoGame name="Rules">
<Information>
<BoardSize>9</BoardSize>
<BlackPlayer>Heiko Paschka</BlackPlayer>
<BlackRank>about 20k</BlackRank>
<WhitePlayer>Bernd Gramlich</WhitePlayer>
<WhiteRank>1d</WhiteRank>
<Date>1999-12-1</Date>
<Handicap>3</Handicap>
<User>Rene Grothmann</User>
<Copyright>
<P>Deutsche Go Zeitung.</P>
</Copyright>
</Information>
<Nodes>
<Node>
<Comment>
<P>This is a game played between two amateurs. Comments were
in German by Bernd Gramlich and Heiko Paschka, but I
translated some into English.</P>
</Comment>
<AddBlack at="G7"/>
<AddBlack at="G3"/>
<AddBlack at="C3"/>
</Node>
<White number="1" at="C6"/>
<Black number="2" at="C5"/>
<Variation>
<Black number="1" at="E3"/>
<Comment>
<P>Safer.</P>
</Comment>
</Variation>
<White number="3" at="B5"/>
<Black number="4" at="B4"/>
<White number="5" at="D5"/>
<Black number="6" at="D4"/>
<Comment>
<P>Not the safest move.</P>
</Comment>
<Variation>
<Black number="1" at="C4"/>
<White number="2" at="D6"/>
<Black number="3" at="E4"/>
<Comment>
<P>It seems Black is more than safe now.</P>
</Comment>
</Variation>
<White number="7" at="C4"/>
<Black number="8" at="E3"/>
<White number="9" at="C5"/>
<Comment>
<P>Too cautious.</P>
</Comment>
<Black number="10" at="E5"/>
<White number="11" at="F6"/>
<Variation>
<White number="1" at="H3"/>
<Comment>
<P>An alternative.</P>
</Comment>
</Variation>
<Black number="12" at="G6"/>
<White number="13" at="F5"/>
<Black number="14" at="F4"/>
<Variation>
<Black number="1" at="G5"/>
<Comment>
<P>Simpler.</P>
</Comment>
<White number="2" at="F4"/>
<Black number="3" at="F3"/>
<White number="4" at="E4"/>
<Black number="5" at="D3"/>
</Variation>
<White number="15" at="G5"/>
<Black number="16" at="H5"/>
<White number="17" at="H4"/>
<Black number="18" at="G4"/>
<White number="19" at="E6"/>
<Variation>
<White number="1" at="H6"/>
<Black number="2" at="E6"/>
<White number="3" at="F7"/>
<Black number="4" at="F8"/>
<White number="5" at="E7"/>
<Black number="6" at="E8"/>
<White number="7" at="D7"/>
<Black number="8" at="H7"/>
<White number="9" at="J5"/>
<Black number="10" at="H8"/>
<Comment>
<P>Black gets more territory.</P>
</Comment>
</Variation>
<Black number="20" at="E4"/>
<White number="21" at="H6"/>
<Black number="22" at="H7"/>
<White number="23" at="J5"/>
<Black number="24" at="E8"/>
<White number="25" at="F8"/>
<Variation>
<White number="1" at="D8"/>
<Comment>
<P>Better. But the other move is more confusing.</P>
</Comment>
</Variation>
<Black number="26" at="F7"/>
<White number="27" at="D8"/>
<Black number="28" at="E7"/>
<White number="29" at="D7"/>
<Black number="30" at="G8"/>
<White number="31" at="B3"/>
<Black number="32" at="A4"/>
<Comment>
<P>No!</P>
</Comment>
<Variation>
<Black number="1" at="B2"/>
<White number="2" at="A4"/>
<Black number="3" at="C2"/>
</Variation>
<White number="33" at="C2"/>
<Black number="34" at="D2"/>
<White number="35" at="D3"/>
<Black number="36" at="H3"/>
<White number="37" at="E2"/>
<Variation>
<White number="1" at="C3"/>
<Comment>
<P>Better.</P>
</Comment>
</Variation>
<Black number="38" at="C3"/>
<White number="39" at="D1"/>
<Black number="40" at="D3"/>
<White number="41" at="B2"/>
<Black number="42" at="F2"/>
<Comment>
<P>Otherwise, Black dies.</P>
</Comment>
<White number="43" at="E1"/>
<Black number="44" at="F1"/>
<White number="45" at="C1"/>
<Black number="46" at="D9"/>
<White number="47" at="J3"/>
<Comment>
<P>Endangours the black group</P>
</Comment>
<Variation>
<White number="1" at="C9"/>
<Comment>
<P>Smaller.</P>
</Comment>
</Variation>
<Black number="48" at="J2"/>
<White number="49" at="J4"/>
<Comment>
<P>White cannot play Ko.</P>
</Comment>
<Variation>
<White number="1" at="H2"/>
<Black number="2" at="J4"/>
<Comment>
<P>There is no ko thread.</P>
</Comment>
</Variation>
<Black number="50" at="H2"/>
<Comment>
<P>Black cannot play Ko either.</P>
</Comment>
<White number="51" at="C9"/>
<Black number="52" at="E9"/>
<White number="53" at="C8"/>
<Black number="54" at="J7"/>
<White number="55" at="H5"/>
<Black number="56" at="J6"/>
<White number="57" at="D6"/>
<Comment>
<P>The game is over now.</P>
<P>At first, each side removes prisoners.</P>
</Comment>
<Node>
<Delete at="A4"/>
<Delete at="B4"/>
<Delete at="F8"/>
<Comment>
<P>Then the territory is filled with prisoners. Finally the
remaining territory is counted.</P>
<P>In this program, it is easier. There is a &quot;score&quot; option in
the &quot;Finish Game&quot; menu, which scores for you.</P>
<P>White wins by seven points. The chinese count is two off,
because there were two additional handicap stones, which
count in Chinese mode, but not in Japanese.</P>
</Comment>
<Mark territory="white" at="A9"/>
<Mark territory="white" at="A8"/>
<Mark territory="white" at="A7"/>
<Mark territory="white" at="A6"/>
<Mark territory="white" at="A5"/>
<Mark territory="white" at="A4"/>
<Mark territory="white" at="A3"/>
<Mark territory="white" at="A2"/>
<Mark territory="white" at="A1"/>
<Mark territory="white" at="B9"/>
<Mark territory="white" at="B8"/>
<Mark territory="white" at="B7"/>
<Mark territory="white" at="B6"/>
<Mark territory="white" at="B4"/>
<Mark territory="white" at="B1"/>
<Mark territory="white" at="C7"/>
<Mark territory="white" at="A9"/>
<Mark territory="white" at="A8"/>
<Mark territory="white" at="A7"/>
<Mark territory="white" at="A6"/>
<Mark territory="white" at="A5"/>
<Mark territory="white" at="A4"/>
<Mark territory="white" at="A3"/>
<Mark territory="white" at="A2"/>
<Mark territory="white" at="A1"/>
<Mark territory="white" at="B9"/>
<Mark territory="white" at="B8"/>
<Mark territory="white" at="B7"/>
<Mark territory="white" at="B6"/>
<Mark territory="white" at="B4"/>
<Mark territory="white" at="B1"/>
<Mark territory="white" at="C7"/>
<Mark territory="white" at="A9"/>
<Mark territory="white" at="A8"/>
<Mark territory="white" at="A7"/>
<Mark territory="white" at="A6"/>
<Mark territory="white" at="A5"/>
<Mark territory="white" at="A4"/>
<Mark territory="white" at="A3"/>
<Mark territory="white" at="A2"/>
<Mark territory="white" at="A1"/>
<Mark territory="white" at="B9"/>
<Mark territory="white" at="B8"/>
<Mark territory="white" at="B7"/>
<Mark territory="white" at="B6"/>
<Mark territory="white" at="B4"/>
<Mark territory="white" at="B1"/>
<Mark territory="white" at="C7"/>
<Mark territory="black" at="F9"/>
<Mark territory="black" at="F8"/>
<Mark territory="black" at="F3"/>
<Mark territory="black" at="G9"/>
<Mark territory="black" at="G2"/>
<Mark territory="black" at="G1"/>
<Mark territory="black" at="H9"/>
<Mark territory="black" at="H8"/>
<Mark territory="black" at="H1"/>
<Mark territory="black" at="J9"/>
<Mark territory="black" at="J8"/>
<Mark territory="black" at="J1"/>
<Mark territory="black" at="F9"/>
<Mark territory="black" at="F8"/>
<Mark territory="black" at="F3"/>
<Mark territory="black" at="G9"/>
<Mark territory="black" at="G2"/>
<Mark territory="black" at="G1"/>
<Mark territory="black" at="H9"/>
<Mark territory="black" at="H8"/>
<Mark territory="black" at="H1"/>
<Mark territory="black" at="J9"/>
<Mark territory="black" at="J8"/>
<Mark territory="black" at="J1"/>
<Mark territory="black" at="F9"/>
<Mark territory="black" at="F8"/>
<Mark territory="black" at="F3"/>
<Mark territory="black" at="G9"/>
<Mark territory="black" at="G2"/>
<Mark territory="black" at="G1"/>
<Mark territory="black" at="H9"/>
<Mark territory="black" at="H8"/>
<Mark territory="black" at="H1"/>
<Mark territory="black" at="J9"/>
<Mark territory="black" at="J8"/>
<Mark territory="black" at="J1"/>
</Node>
</Nodes>
</GoGame>
</Go>