root/05/release-0.5j/doc/tutorial.html

Revision 109, 75.2 kB (checked in by ug, 5 years ago)

Updated tutorial

Line 
1<HTML>
2<HEAD>
3<TITLE>Kombilo - tutorial</TITLE>
4
5<meta name="description"
6content="Kombilo - a go database program">
7<meta name="keywords"
8content="kombilo go weiqi baduk database">
9<meta http-equiv="expires" content="1800">
10<meta name="robots"
11content="INDEX,FOLLOW">
12<meta name="author"
13content="Ulrich Goertz">
14</HEAD>
15
16<BODY bgcolor=#FFFFFF>
17
18<div style="width:600px">
19
20<H1>Tutorial</H1>
21<img src="logosmall.jpg" align=RIGHT>
22This tutorial explains how to use Kombilo 0.5. If you are just looking
23for more information on this program before downloading it,
24you should find it here too.<p>
25
26<div style="border:none; padding:3px; width:600px;
27background-color:#CCCCCC; z-index:1"> 
28<font size="4"><b>Contents</b></font></div><p>
29
30<a href="#newin05">New features in version 0.5</a><br>
31<a href="#gettingstarted">Getting started</a><br>
32<a href="#firstsearch">The first search</a><br>
33<a href="#moresearchpatterns">More complicated search patterns</a><br>
34<a href="#sgfeditor">The SGF editor</a><br>
35<a href="#exportresults">Export search results/current position/SGF</a><br>
36<a href="#gamelistwindow">The game list window</a><br>
37<a href="#analyzing">Analyzing a game</a><br>
38<a href="#gameinfosearch">Game info search</a><br>
39<a href="#signaturesearch">Signature search</a><br>
40<a href="#editDBlist">The database list</a><br>
41<a href="#custommenus">The custom menus</a><br>
42<a href="#guessmode">Guess next move mode</a><br>
43<a href="#configure">Configuring Kombilo</a><p>
44<a href="#installation">Installation</a><br>
45<a href="#requirements">Requirements on SGF files</a><br>
46<a href="#troubleshooting">Troubleshooting</a><br>
47<a href="#tipsandtricks">Tips and tricks</a><br>
48<a href="#searchalgorithm">The search algorithm</a><br>
49<a href="#index">Index</a><br>
50<p>
51
52<div style="border:none; padding:3px; width:600px;
53background-color:#99CCCC; z-index:1"> 
54<a name="newin05"><font size="4"><b>New features in
55version 0.5</b></font></a></div><p>
56
57<ul>
58
59<li> Kombilo comes with a complete SGF editor: so you can add variations of
60  your own, comment the game, add labels etc. The SGF editor can also
61  handle collections, i.e. SGF files containing several games. The tree
62  structure of the current game is shown in a separate window. You can
63  rotate/mirror SGF files.
64
65<li> Kombilo now comes with a built in list of references to commentaries
66  of games in the English go literature. (NB: Kombilo does not come with
67  the game records, but recognizes the games by the Dyer signature.) Those
68  games in your database which Kombilo finds in its list are marked in the
69  game list, and in the game info a reference to the journal/book which has
70  the commentary is given. Currently the list contains around 1200
71  references, and includes references to the game commentaries in 85 issues
72  of Go World and in most English go books with game comentaries.
73
74  Any <a href="#references">help with extending the list</a> is
75  appreciated.
76
77<li> The previous search patterns are now shown on small boards in a
78  scrollable separate window. Thus you can switch back and forth between
79  different search patterns much more easily. This also works much better
80  now with different SGF files. In particular, you can load games from the
81  game list directly to the Kombilo main board, and then search for
82  patterns which arise in that game.
83
84<li> You can sort the game list with respect to one of several criteria
85  (besides the default, sort by filename, you can now also sort by date,
86  white player or black player). You can also easily change the order of
87  the databases.
88
89<li> You can refine pattern searches by filtering who moves next in the
90  search pattern.
91
92<li> New in 0.5j: <a href="#encodings">Support for character set encodings</a> 
93(in particular encodings of Asian languages).
94Added a command to <a href="#copyCurrentSGF">copy all SGF files in the current game list to some folder</a>.
95The database list now also lists, for each
96database, the date when it was last modified. Optionally, Kombilo marks
97the current move (thanks to Bernd Schmidt who provided a patch to do this).
98Added an option which makes Kombilo ask for a confirmation before
99discarding unsaved changes to an SGF file.
100Updated the references to game commentaries.
101A couple of new options and bug
102fixes.
103
104<li> And, as always, several minor improvements, fixes and changes:
105  e.g. case-insensitive game info search; a "1-click mode" where every
106  click on the board triggers a new pattern search; exporting the current
107  position as an ASCII diagram; a "guess next move" mode.
108
109<li> In order to install Kombilo, you can either use the installer (on Windows
110systems), or install Python (version 2.1 or better) and Kombilo separately.
111Since the user interface uses a few more fancy widgets, Kombilo now needs
112the Python MegaWidgets (Pmw) library to be installed on your system. Of course,
113Pmw comes with the Windows installer. But if you install(ed) Python separately,
114you have to install Pmw, too. Similarly, if Kombilo finds the Python
115Imaging Library (PIL) available, it will use (somewhat) more beautiful stones.
116PIL comes with the Windows installer, but has to be installed separately
117otherwise, if you want to use it. See the section on <a href="#installation">
118installation</a> for more details.
119</ul>
120<p>
121
122<div style="border:none; padding:3px; width:600px;
123background-color:#99CCCC; z-index:1"> 
124<a name="gettingstarted"><font size=4><b>Getting started</b></font></a>
125</div><p>
126
127After <a href="#installation">installing</a> Kombilo, you should
128execute the file 'kombilo.py' (under Windows: 'kombilo.pyw'
129(if you downloaded Python separately) or 'kombilo.exe', respectively,
130if you used the installer).
131
132Three windows will pop up: The main window,
133with a go board and some buttons for navigation, the game list
134window with an (initially empty) game list, and some buttons for
135the search function, and the data window which contains several lists and
136buttons related to the SGF editor.<p>
137
138<IMG SRC="mainwindow.jpg">
139<IMG SRC="gamelistwindow.jpg">
140<IMG SRC="datawindow.jpg"><p>
141
142The first thing you have to do now is to add a database to the
143database list; choose the 'Edit DB list' command in the File menu.<p>
144A database corresponds to a directory of SGF files; it contains all the SGF
145files in that directory. Kombilo does not come with any games. You can
146either
147<a href="http://www.u-go.net/gamerecords/">download a game collection</a>
148from the net, or buy a commercial one.<p>
149See also the section about <a href="#requirements">requirements on SGF files</a>
150in order to understand which kind of SGF files the program can handle;
151basically, it handles simple game records, they may contain
152variations, but the variations are ignored for the search.
153<p>
154
155<IMG SRC="editdblist.jpg"><p>
156
157When you add a directory for the first time, the SGF files will
158be 'translated' into a format that makes the search more efficient.
159This processing takes quite some time; if you have thousands of games,
160it will take several minutes even on a very fast machine.
161But this has only to be done once. The
162data will be written to several .db files in the same directory.
163Look <a href="#editDBlist">here</a> for more information on the
164buttons in this window.<p>
165
166Of course the sgf files remain in the directory, and Kombilo will never
167change them (unless you change the game info or edit the games yourself,
168of course). After the processing, the pattern search function actually
169does not use them anymore, but they are needed for the game info search
170and if you want to play through games with the SGF viewer.
171<p>
172
173<b><a name="oldTknote">Note:</a></b> (As far as I can tell, this is not an
174issue anymore with recent Python versions; in particular if you used the
175Windows installer, you should be fine.) In some Python versions the widget
176for selecting a directory is not available. (Technically speaking, they
177come with an old Tk version; Tk is the programming language underlying
178the GUI toolkit.) As a
179consequence, the program will crash once you press the 'Add DB' button
180in the 'Edit DB list' window. I think that this is mainly a problem on
181Windows95/98 systems, but it may happen on other systems, too. <BR>
182There is the following work-around: Check the 'Old Tk version'-option
183in the 'Advanced' submenu of the options menu. Now the 'Add DB' button
184will bring up a widget to select a file; this widget is always available.
185In order to select a certain directory which should be added as a
186database, you have to select any file in it. <BR>
187It is still possible to add all subdirectories of some directory
188at the same time, by the 'Add subdir's recursively' option. To do so,
189you have to select a file in the main directory. (If it doesn't
190contain any files, but only the subdirectories you want to add,
191you have to copy any file to that directory first. Don't take
192an sgf file because (probably) you don't want that sgf file to
193show up in the database.)<p>
194
195<div style="border:none; padding:3px; width:600px;
196background-color:#99CCCC; z-index:1"> 
197<a name="firstsearch"><font size="4"><b>The first search</b></font></a>
198</div><p>
199
200<table border="0" width="100" cellpadding="6" align=RIGHT>
201<tr><td><IMG SRC="expl_basic.jpg"></td></tr>
202<tr><td><i>Place stones on the board by clicking. Ctrl-click to remove
203stones, and Shift-click to place wildcards. Mark the search-relevant
204region by right-click and drag</i></td></tr>
205</table>
206Now the game list should contain some files, and you can start the first search.
207<br>
208
209With the right mouse key (click and drag) you can select the
210search-relevant region; the rest of the board will be grayed out.
211(If you prefer to have the relevant region itself to be darker, as was the
212case in previous Kombilo versions, select the "Invert selection" option in
213the options menu.)
214<img src="expl_select.jpg" align="left" vspace="10" hspace="20">
215Everything outside that
216region is ignored: on the one hand it does not matter if there are additional
217stones on the main board, on the other hand all games will be found which feature
218the given pattern in the relevant region, no matter what else is on the board.
219Of course, mirroring and rotating the board is automatically taken into account.<p>
220
221<table border="0" width="100" cellpadding="6" align=RIGHT>
222<tr><td><IMG SRC="expl_color.jpg"></td></tr>
223<tr><td><i>You can either place black and white stones alternatingly,
224or stones of one color only.</i></td></tr>
225</table>
226
227When no region is selected, the whole board is relevant.<br>
228
229After defining the pattern and the relevant region, just press the search button
230(in the lower left corner of the game list window).
231Then the game list will be erased, and afterwards all games in which the
232given pattern occurs will be inserted again. In order to go back to the
233complete game list, use the "reset game list" button in the first row of
234the "Pattern search" window.<p>
235
236If you click on a game in the game list, the game info (players, result, komi,
237event, date etc.) is displayed below the game list.<p>
238<IMG SRC="results.jpg"><p>
239By double-clicking on a game in the game list, you load the game to the
240SGF editor and you can look at that game. You can also start the viewer by
241selecting a game (by a single click) and pressing the return key.
242If you prefer to open the game in a new window, use Shift-Click instead of
243double-clicking; cf. the <a href="#externalviewer">Open game in external viewer</a>
244option.
245(If you like, you can use your customary SGF editor instead of the simple SGF viewer coming with Kombilo;
246use the 'Alternative SGF viewer' command in the Options menu.
247(Linux/Windows only,I think)) <p>
248By clicking on a game with the right mouse key, a window will pop up
249where the complete game info is displayed, and can be edited.<p>
250
251Furthermore, below the game list some statistics will be shown about the
252continuations in the given position.
253
254In the first line you find the number of hits (which, obviously,
255can be bigger than the number of games in the list); after this number,
256in parentheses, is the number of matches with colors as on the board
257respectively reversed colors. Finally, you get the B/W winning
258percentages corresponding to the hits (i.e. a game where the pattern
259occurs several times, is counted that often). <br>
260Below some information on the continuations in the search position
261is given. For the ten most frequent continuations, you get<br>
262- the number of hits in which this continuation is played<br>
263- graphically, it is shown, how often white played at this point
264  after a tenuki (light gray), how often white played there directly
265<table border="0" width="120" cellpadding="5">
266<tr><td><img src="statistics.jpg" align="left"></td></tr></table>
267  after the pattern was finished (white), how often black
268  played there directly after the pattern was finished (black),
269  and finally how often black played after tenuki at the given point.<br>
270- finally, below the letter labelling the corresponding point on the board
271  (use the ABC button to display the labels on the board), you get
272  the black winning percentage for white playing at this point,
273  and then the black winning percentage for black playing there.
274  (Because there is not enough space, the winning percentage for white is
275  not given, but of course (neglecting jigos etc.) it will be
276  100% - black winning percentage.<br>
277
278You can disable the 'show tenuki' feature by setting the colors
279used for it to white resp. black in the Options menu (Advanced -
280Customize appearance).<br>
281
282Click on the 'ABC' button above the board in order to display the
283corresponding labels on the board. The labels are ordered by the number of
284occurrences of the corresponding continuation. (Unless there were already
285labels present in the search pattern: in that case Kombilo will use those
286labels to refer to the same intersections, and thus will not sort by
287frequency.)<p>
288
289<IMG SRC="joseki_dict.jpg" align="right"><p>
290If you have a sufficient number of games in your databases,
291this lets you create fuseki and joseki
292dictionaries very easily:
293
294The color of the label indicates whether black or white (or both,
295depending on the game, in case of the gray labels) played on this point.
296<p>
297
298
299After a search, you can clear the board with the 'start' button above the board.
300You can reset the game list (such that it contains all the games again) with the
301"reset game list" button in the pattern search window (left of the statistics
302display). In the file menu, you can also choose to do a "complete reset" - that will
303reset Kombilo to the state right after it started up.
304
305
306<div style="border:none; padding:3px; width:600px;
307background-color:#99CCCC; z-index:1"><a name="moresearchpatterns">
308<font size="4"><b>More complicated search patterns</b>
309</font></a></div><p>
310
311There are several buttons to customize the search in the game list
312window:
313<img src="searchoptions.jpg" align="left" vspace=10 hspace=10>
314Usually the pattern obtained by reversing the colors is
315searched for too, but you can disable that with the 'fixed color'
316option. <br>
317As a default, Kombilo uses the 'smart fixed color' option,
318which automatically enables 'fixed color' for whole board
319searches, and disables it for all other searches. You can change
320that in the options menu; see also <a href="#configure">below</a>.
321
322Furthermore, for a pattern on the edge or in the middle of the board,
323the program also looks for translations; this can be disabled
324by the 'fixed anchor' option.<p>
325
326With the "black/white", "black" and "white" buttons in the line below
327you can limit the search to patterns where black plays next or
328white plays next. This is sometimes useful, in particular for joseki
329searches with very few stones on the board. The default is to allow either
330a black or a white continuation (or no continuation at all).
331
332Finally, you can impose a move limit, such that only games
333are found where the pattern occurs before the given limit.<p>
334
335You can also add wildcards to the search pattern, by shift-clicking on
336some point. These will be marked by small green circles, and mean that
337in the search these points may be either empty or contain a stone of
338either color.<p>
339
340For example, the following pattern finds all kos (that are not on the edge):<p>
341
342<IMG SRC="search_patt_ko.jpg"><p>
343
344<div style="border:none; padding:3px; width:600px;
345background-color:#99CCCC; z-index:1"> 
346<a name="sgfeditor"><font size="4"><b>The SGF editor</b></font>
347</a></div><p>
348
349You place stones by clicking (with the left mouse key) on an
350intersection. The four left-most buttons above the board control if you
351play black/white (resp. white/black) stones alternatingly, or if you place
352black (resp. white) stones, in order to set up a position.<p>
353
354In order to delete stones or to place labels, you have to select the
355appropriate tool among the 'edit tools' in the data window. Then you can
356perform the corresponding operation by holding down the Control key and
357clicking on an intersection.<p>
358
359With Shift + right-click you can go to the node where some move was/will
360be played.<p>
361
362Kombilo's main board has two more features which are related to the pattern
363search: You can place wildcards on the board (resp. delete them) by
364shift+click, and you can select the relevant area for the pattern search by
365clicking the right mouse key, and dragging.<p>
366
367The navigation keys above the board let you move around in the current game
368record: one move back, one move forward, 10 moves back, 10 moves forward,
369to the beginning resp. to the end of the current game. All these can also
370be done by <b>using keys</b>: left, right, up, down, home, end.<p>
371
372In order to <b>clear the board</b>, use the "start" button.<p>
373
374If the current SGF file contains variations, you can switch between the
375alternatives for the current move with the PageUp and PageDown keys.<p>
376
377<IMG SRC="boardbuttons.jpg" ALIGN=RIGHT>
378
379Pass: Insert a pass move.<p>
380
381Game info: View/edit the game information which is stored in the root node
382of the current game (black/white players, ranks, result, komi, date, rules,
383etc.)<p>
384
385DATA: Open/withdraw the data window.<p>
386
387
388<h3><a name="datawindow">The data window</a></h3>
389
390In the toolbar at the top you can choose which of the following frames you
391actually want to see. For example, if your SGF files all contain only one
392game each, you will not need the game list. Thus you can save some space on
393your screen by hiding some of the components of the data window.<p>
394
395<b>File list</b><p>
396
397<IMG SRC="filelist.jpg" ALIGN=RIGHT>
398This is a list of all SGF files that have been loaded during the current
399session. The currently active file is highlighted; you can change that by
400clicking on another item in the list. The buttons on the right let you
401create a new file, open a file from disk, delete a file, or split a
402collection. Deleting a file just means deleting it from this file list. The
403file on your disk will not be deleted. Splitting a collection serves to
404split an SGF file which contains several games into many files with one
405game each. You will be asked for a filename, and the files will then be
406saved under the names filename0.sgf, filename1.sgf, filename2.sgf, etc.<p>
407
408If changes have been made to a file after it has been saved, the file name
409is preceded by a *. Kombilo will never ask you if you want to save the
410changes, so you have to pay attention to the *, and save the files
411yourself, if you want to keep the changes!<p>
412
413<b>Game list</b><p>
414
415<IMG SRC="gamelist.jpg" align=RIGHT>
416This is a list of game records in the current SGF file. You can select
417games by clicking on them, and change the order by drag and drop.
418The buttons on the right let you create new games and delete games from the
419list.<p>
420
421<b>Game info</b><p>
422
423This shows part of the game information (names of players, result, date,
424etc.) of the current game. In order to see the full game information, or to
425edit it, use the "i" button above the go board.<p>
426
427<b>Game tree</b><p>
428<IMG SRC="gametree.jpg" ALIGN=RIGHT>
429Here the tree structure of the current game is shown. Nodes with a
430black/white move are shown black resp. white; others are red. Nodes with a
431comment or a label on the board have a small blue dot in the center.<br>
432
433The green mark shows the current move (i.e. it corresponds to the position
434currently shown on the main board).<br>
435
436By clicking on a node, you can go to the corresponding move.<p>
437
438<b>Edit tools:</b><p>
439
440The first few buttons in this frame control the behavior of Ctrl-click on
441<IMG SRC="edittools.jpg" ALIGN=RIGHT>
442the board: you can either delete a stone or place/remove one of several types
443of labels. Furthermore, there is a button to delete a node in the SGF tree and all
444nodes following it, and there are three buttons to mirror/rotate the current
445SGF file. Finally there is the button to enter/leave the
446<a href="#guessmode">guess mode</a>.
447<p>
448
449<b>Comments</b><p>
450In this window the comments which the SGF file contains for the current node are
451displayed.<p>
452
453<b>Kombilo: Search history</b><p>
454
455This frame contains a list of previous search patterns.
456Click on one of the small boards to go back to the corresponding pattern
457search (i.e. the pattern and the game list are restored to what they have
458been right after the search).<p>
459
460<IMG SRC="searchhistory.jpg" ALIGN=LEFT>
461A right-click on one of the board brings up a small menu, which lets you
462delete that entry, put the entry on hold resp. release it. Since storing
463these patterns and the lists of results consumes quite some memory
464(though less than it used to in previous versions),
465on machines with little memory it is useful to set a
466<a href="#maxnumsearches">maximum number of searches which are remembered</a>.
467Entries on hold will not be affected by this automatical deletion. These
468entries are marked by a blue frame.<p>
469
470<div style="border:none; padding:3px; width:600px;
471background-color:#99CCCC; z-index:1"> 
472<a name="exportresults"><font size="4"><b>Export search results/current position/SGF</b></font>
473</a></div><p>
474
475If you want to save some information on a pattern search, you
476can use the 'Export search results' function in the File menu.
477This will open a new window with a very simple text editor.
478It will contain the search pattern, the search pattern with
479the continuations, some statistical information on the search,
480and the number of hits in each database.<br>
481
482You can edit the information and in the end save the text to a
483file. I would be interested in hearing your opinion if other
484or additional information should be given, or if the information
485should be presented in another format.<br>
486
487Before the text editor opens, you will be asked if you want "ASCII" or
488"Wiki" style output.
489Usually you will choose 'ASCII', which produces plain text.
490If you want to use the output for Sensei's Library, choose
491'Wiki' instead.
492You can also choose if all continuations,
493or if only ten of them should be displayed. <p>
494
495The text editor has a button which lets you include the complete
496current game list (names of players, etc.).
497
498Similarly, you can "Export current position": this will open a text editor
499with the current position. Again, you can choose "ASCII" or "Wiki" type. In
500addition, Kombilo can put the next moves (up to 9 moves) on the board,
501marked by the numbers 1 to 9.
502
503Finally, you can also export the SGF source of the current game, in a text
504editor.<p>
505
506<a name="copyCurrentSGF"></a>
507With <b>Copy current SGF files to folder</b> in the file menu you can
508copy the SGF files corresponding to the games currently in the game list
509to some folder (e.g. in order to use them with a different program).
510
511<div style="border:none; padding:3px; width:600px;
512background-color:#99CCCC; z-index:1"> 
513<a name="gamelistwindow"><font size="4"><b>The game list
514  window</b></font></a>
515</div><p>
516
517At the top, the game list window shows the number of games currently in the
518list, and the B/W winning percentages (the two numbers will often not
519add up to 100% since there might be Jigo's, unfinished games etc.)
520
521Right below the list, there is a frame where (part of) the game information
522for the currently selected game in the list is shown (just click on a game
523to select it).
524
525Below that, there is a "notebook" with one sheet each for the pattern
526search and the game info search.
527
528In the pattern search window, there are several buttons and switches. <br>
529<table border="0" width="100" cellpadding="6" align=RIGHT>
530<tr><td><IMG SRC="backreset.jpg"></td></tr>
531<tr><td><i>The 'back' and the 'reset' button.</i></td></tr>
532</table>
533The 'back' button jumps back to the previous search: the position on
534the board is restored as well as the game list. (Previous search patterns
535are also shown on small boards in the "History" frame of the data window.)<br>
536
537The 'reset' button serves to reset the game list, i.e. to put all
538the games from the currently active databases in it, again.<p>
539
540With the ABC button, you can display the labels showing the continuations
541in the current search pattern (resp. remove them again).
542
543The "1-cl." button toggles the <a name="oneclickmode">1-click mode</a>.
544If this mode is active, every click on the board triggers a search. That
545can be quite practical in order to play through joseki sequences, say.
546
547If this mode is inactive, single clicks will just place a stone on the
548board. In this case, you can place a stone and start a search at the same
549time by double-clicking.
550
551Below these buttons there are several buttons to control the behavior
552of the pattern search engine.
553
554Last but not least, in the game list window there is the
555button to start a pattern search.
556
557In the game info search window, you see entry fields for the search
558criteria: white/black player, player, event, etc.
559
560If you select the 'Referenced' option, only games with a reference to a
561commentary will be shown.
562
563You can make the game info search case insensitive by checking the
564corresponding box.
565
566The "clear" button clears all entries; the back and forward buttons restore
567the entries from previous searches. Unlike the back button for pattern
568searches, they do not change the game list. Last but not least, there is
569the button to start a search; you can also start the search by pressing
570Enter in one of the entry fields.
571
572The <a name="gotofield">"Go to:" field</a>
573<IMG SRC="gotogame.jpg" ALIGN=RIGHT>
574makes it easy to find specific games in the game list quickly. In
575order to use this feature you should ensure that the complete database is
576ordered (you can always do that by unchecking the 'sort by database'
577option; if the order of the databases is consistent with the sort
578criterion, that might not be necessary, though). The 'Go to' entry always
579works with respect to the current sort criterion.  Let's assume that you
580sorted the database by filename. Then entering something in the 'Go to'
581field will jump to the closest game in the game list the filename of which
582starts with what you entered.
583
584Finally there is the button to start a <a href="#sigsearch">signature
585search</a>.<p>
586
587<b><a name="references">References to commentaries</a></b><p>
588
589Kombilo has built in a list of references to game commentaries in the
590english go literature. The games are referenced by the Dyer signature (a
591signature assigned to the game which encodes the positions of move 20, 40,
59260, 31, 51, 71, and which in practice characterizes a game uniquely); in
593particular Kombilo does not contain the game records. If Kombilo recognizes
594a game for which it has a reference, hte corresponding line in the game
595list is preceded by a star, and a line which gives the actual reference is
596appended to the game info which is shown when that line in the game list is
597selected. (This is printed in blue, to show that it is not part of the game
598info proper, but was added by Kombilo.)
599<IMG SRC="references.jpg" ALIGN=LEFT vspace=10 hspace=10>
600Currently, the list contains around 1200 references; in particular all but
60110 issues of Go World, and most English books with game commentaries that I
602know of.<p>
603
604The references are stored in the file "references" in the main Kombilo
605directory. This file consists of two parts: first, a list of journals and
606books for which references should be shown. The second list contains the
607actual references, in the form 'signature journal/book issue'.<p>
608
609If you want only references to sources which you own to be shown, you can
610delete those books/journals which you don't own from the
611first list, without changing the second list, and then the corresponding
612references will be ignored by Kombilo. Differentiating between
613different issues of a journal is more complicated: in that case you have to
614edit the second list, and delete all references to those issues which you
615don't have.<p>
616
617Of course, additions to the list of references are very welcome.
618I think it would make sense to add references to other journals, like the
619American Go Journal, the British Go Journal, the Deutsche Go-Zeitung,
620the Revue Francaise de Go, etc. I will probably start adding more
621references to Go Review, myself. Your help to make the list more complete
622would be appreciated. If you are interested, please contact me, so that we
623can agree in which format you could send me the references, and to avoid
624that any references are collected twice. (Thanks to Uwe Richter for indexing
62510 issues of Go World!)<p>
626
627<div style="border:none; padding:3px; width:600px;
628background-color:#99CCCC; z-index:1"> 
629<a name="analyzing"><font size="4"><b>Analyzing a game</b></font></a>
630</div><p>
631
632If you want to analyze a game of your own, just load it into the main board with
633the 'Open' command in the file menu (or use the 'Open' button next to
634the file list in the data window). Use the navigation buttons to
635navigate through the file, and search for patterns appearing in your game:
636for the first few moves you may want to do a whole board search, in order
637to see up to which point the fuseki
638you played also occurs in professional games, and afterwards you have
639to select an appropriate relevant region.<p>
640
641You can also load a fuseki or joseki dictionary
642For example, Kombilo works quite well with Kogo's joseki dictionary.
643To navigate all the variations, you should enable the 'Show next move'
644option.<p>
645
646<div style="border:none; padding:3px; width:600px;
647background-color:#99CCCC; z-index:1"> 
648<a name="gameinfosearch"><font size="4"><b>Game Info search</b></font></a>
649</div><p>
650
651If you are looking for games by a particular player, from a particular
652event or from a certain time period, you can use the
653game info search. This is basically a text search in the SGF game records.<p>
654
655<img src="isearch.jpg" align=RIGHT>
656The games have to match all the requirements (Black Player, Event, ...)
657simultaneously. The corresponding string does not have to occur at the
658beginning of the data (i.e. if you enter 'Chikun' as player,
659games where Cho Chikun plays will be found).<br>
660
661The 'Anywhere' entry is simply a text search in the SGF file. This allows
662you to search for the result (use 'RE[W' or 'RE[B'), for games which
663have a game comment (use 'GC['), etc.<br>
664
665<p>
666
667<div style="border:none; padding:3px; width:600px;
668background-color:#99CCCC; z-index:1"> 
669<a name="signaturesearch"><font size="4"><b>Signature search</b></font></a>
670</div><p>
671
672<img src="ssearch.jpg" align=RIGHT>
673In order to check for duplicates in the database, Kombilo
674computes a modified
675<a href="http://www.andromeda.com/people/ddyer/go/signature-spec.html">Dyer signature</a>
676 of every game in the database. The signature of a game is
677given by the coordinates (in SGF format) of the moves 20, 40, 60,
67831, 51, 71. This almost always characterizes a game uniquely.<br>
679
680In order to detect games which differ only by a symmetry of the board,
681Kombilo uses a symmetrized Dyer signature: the Dyer signatures
682for the game and for all rotations/reflections of the game
683are computed, and then the smallest of these (with respect to
684the lexicographic order) is stored.<br>
685
686You can also search for the signature. This might be useful
687to see if a certain game is in the database if you have
688the game record in some (foreign-language) book, say, and cannot read the
689player's names.<br>
690
691Press the 'signature search' button, and a window will
692pop up, where you can enter the coordinates of the corresponding
693moves. If you click on an intersection on the board,
694the corresponding coordinates will be entered in the
695currently active text entry below, and the next entry will be made
696active. So you can enter the signature simply by clicking on
697the places where moves 20, 40, ... were played. You can also omit
698some of them (in most cases, two or three of the moves will
699be enough to characterize a game uniquely).<p>
700
701<div style="border:none; padding:3px; width:600px;
702background-color:#99CCCC; z-index:1"> 
703<a name="editDBlist"><font size="4"><b>The database list</b></font></a>
704</div><p>
705
706For Kombilo, a database is just a directory with SGF files in it.
707The database list is thus a list of directories. These contain
708the SGF files in which Kombilo will search for a given pattern.<br>
709
710Before you start working with Kombilo, you have to choose
711the databases (i.e. you have to tell Kombilo where your SGF
712files are). This is done in the 'Edit DB list' window
713(available via the File menu). In this window, the list of
714databases is shown, and you can<p>
715
716<b>Add databases</b> This lets you choose a directory of SGF files
717which is then added to Kombilo's database list. Because the SGF files
718have to be translated into a format which is more suitable for
719the pattern search, this takes some time.<br>
720If you check the 'add subdir's recursively' option, then all
721subdirectories (and their subdirectories ...) of the directory you
722choose will be added, too.<br>
723
724The optimal size (i.e. number of SGF files) of the databases
725depends mostly on the amount of memory in your computer.
726I recommend a size of  1000-2000 SGF files per
727database; that should be fine on almost every system.
728If you have a lot of memory, you can experiment with larger databases,
729but the performance gains are usually not that big.
730<p>
731
732<b>Toggle normal/disabled</b>
733If you want to temporarily exclude a database from some searches,
734select it and use this button to set its status to 'disabled'.
735It will then be marked as 'DISABLED' in the database list.
736Its games will not show up anymore in the game list, and
737will not be found by any search. Nevertheless, Kombilo's
738database files written during the processing are still
739available, and if you toggle the status back to 'normal',
740you can use that database again without processing it again.
741<p>
742
743<b>Remove a database</b>
744If you want to remove a database from Kombilo's list completely,
745select it and press this button. The database files Kombilo
746has written will
747then be deleted. Of yourse, the SGF files themselves will not
748be deleted (Kombilo will actually never change them.)
749If you want to add this database again later, it will
750have to be processed again.
751<p>
752
753<b>Reprocess a database</b>
754If you made any changes to the SGF files in one of the
755database directories (or added/deleted SGF files in there),
756you should reprocess the database, so that the pattern search
757really uses the information corresponding to the current
758version of the SGF files.
759<p>
760
761<b>Stop processing</b>
762If you chose to add a lot of subdirectories of some directory
763at the same time (with the 'add subdir's recursively' option),
764and see that the processing takes too long, you can interrupt
765it with this button. The currently processed database will
766be finished, and then the processing will stop.<p>
767
768<b>Save messages</b> 
769If there are errors in the SGF files, or if Kombilo
770finds duplicates, a message is issued. The 'save messages'
771button allows you to save these messages into a file,
772such that you can look at them later again in order to
773correct the errors. (After correcting any errors,
774you should reprocess the corresponding databases.)<p>
775
776With Ctrl-click and Shift-click you <b>can select several databases</b> in the
777list simultaneously. The "Toggle normal/disabled", "Remove" and "Reprocess"
778buttons will then apply to all the selected databases.<p>
779
780<b>Changing the order of the databases:</b>
781You can use "drag and drop" for the items in the database list and thus
782change the order of the databases. If you sort the game list per database,
783the order of the databases will be reflected in the game list.<p>
784
785
786<b>Processing options</b> 
787You can choose to add all files with file names anding in .sgf, or files with
788filenames ending in .mgt or .sgf, or to add all files in the concerning
789directories.
790Furthermore you can have all subdirectories of the chosen directory added, too.
791Finally, you can specify a place where the Kombilo database files should be written.
792The default is to write them to the same directory as the SGF files they
793are associated to. (This choice has to be made before adding the database; it's not
794possible to change it, later.)<p>
795
796<p><b>Character encodings</b>
797
798If your SGF files are not plain ASCII, but contain other characters, you have to
799tell Kombilo in which way they are encoded in the file. The best way to do this
800is with a CA[] tag in the root node of the SGF file (e.g. CA[gb2312]). However,
801since there are many SGF files out there without the correct tag, you can also
802tell Kombilo about the encoding when you process your SGF databases.</p>
803
804<p>You have to know in which way your files are encoded, and all SGF files in the
805directory which is to be processed have to have the same encoding. Choose the
806encoding from the list, and choose what Kombilo should do with your SGF files.</p>
807
808<p>- Do not change SGF: In this case, Kombilo will not touch your files. It will
809remember the encoding of the files in this database however, so Kombilo
810will know about the right encoding.</p>
811
812<p>- Add CA tag: This will add a tag in the root node of the SGF file which contains
813the encoding of this file. This is probably a good idea if you are sure that you
814know the right encoding. (Right now, if you have Kombilo add a wrong CA tag, you
815will have to remove it manually, because Kombilo will always obey a CA tag if
816present.)</p>
817
818<p>- Transcode to utf-8: In this case Kombilo will replace the SGF file with a
819transcoded version. CA tag?!</p>
820
821<p>Note: If a file already has a CA tag, Kombilo will not touch it.</p>
822
823<p>In order to use codecs for asian languages (like gb2312 or big5 for Chinese,
824shift-jis for Japanese or euc-kr for Korean), you have to install the cjkcodecs
825package. (In the Windows installer, this is already included.)
826This package may be available as a package in your Linux distribution; for
827Mac OS X users it is available via fink. Otherwise,
828you can get it at
829<a href="http://cjkpython.i18n.org/">http://cjkpython.i18n.org/</a>.</p>
830
831
832<div style="border:none; padding:3px; width:600px;
833background-color:#99CCCC; z-index:1"> 
834<a name="custommenus"><font size="4"><b>The custom menus</b></font></a>
835</div><p>
836
837The custom menus can be used to add your own menu entries.
838Upon selecting a menu entry, Kombilo can do a pattern search for some
839pre-defined pattern and/or a game info search and/or open a html file in
840your web browser. For example, you could create entries for fuseki or
841joseki patterns, for players, or for titles.<p>
842<img src="custommenus.jpg" align=RIGHT>
843
844To edit the custom menus, select the corresponding entry in the Options
845menu. You see a list of the currently existing menus, submenus and
846entries. The first line with a * represents the Kombilo main menu. You can
847add submenus or entries to the menus, or delete them.<p>
848
849When an entry is selected, you can 
850
851<ul>
852<li> Add pattern information by pressing the corresponding button. The pattern
853  (and search-relevant region, and the search options) will then be
854  associated with this menu entry).
855
856<li> Add game info information by clicking the corresponding button.
857  The current entries in the game info search window will then be
858  associated with the current menu entry.
859
860<li> Add a HTML file by entering the file name in the corresponding field, or
861  by browsing for a file.
862</ul><p>
863
864
865<div style="border:none; padding:3px; width:600px;
866background-color:#99CCCC; z-index:1"> 
867<a name="guessmode"><font size="4"><b>Guess next move mode</b></font></a>
868</div><p>
869
870<IMG SRC="guesswrong.jpg" hspace=10 vspace=10 align=LEFT>
871One fun way to study go is to replay professional games by guessing the
872next move. If you click on the corresponding button in the SGF edit toolbar
873in the data window, you enter Kombilo's guess mode. That means that clicks
874on the board will be interpreted as guesses - if it coincides with the next
875move in the current SGF file, that move is played; otherwise no stone is
876placed on the board.<p>
877
878When you switch to the 'guess next move' mode, a small frame appears next
879to the game tree, which gives you some feedback on your guesses. If your
880guess is right, it displays a green square (and the move is played on the
881board).<br>
882<IMG SRC="guessright.jpg" hspace=10 vspace=10 align=RIGHT>
883If the guess is wrong, it displays a red rectangle; the rectangle is
884roughly centered at the position of the next move, and the closer your
885guess was, the smaller is that rectangle. Furthermore the number of correct
886guesses and the number of all guesses, as well as the success percentage
887are given.<p>
888
889Of course, if you just can't find the next move, you can always use the
890'Next move' button above the board.<p>
891
892<div style="border:none; padding:3px; width:600px;
893background-color:#99CCCC; z-index:1"> 
894<a name="configure"><font size="4"><b>Configuring Kombilo</b></font></a>
895</div><p>
896
897You can configure Kombilo by changing the options in the
898options menu.<p>
899
900<b>Edit custom menus</b>
901See <a href="#custommenus">above</a>.<p>
902
903
904<b>Fuzzy stone placement</b>
905Place the stones on the main board slightly off the exact
906point, in a random direction, to make the position
907look more natural. (Well, some people might think that it
908is just ugly, so you can switch it off here).
909<p>
910
911<b>Shaded stone mouse pointer</b>
912(Don't) Show the current position of the mouse pointer on
913the board and the color of the next stone to be played
914by a shaded stone.
915<p>
916
917<b>Use 3d stones</b>
918By default, Kombilo uses the realistic looking stone pictures provided by
919Patrice Fontaine (thanks!). You can switch this off; then Kombilo will use
920"flat" stones, i.e. just black and white circles.
921<p>
922
923<b>Show next move</b>
924In case a SGF file has been loaded, show the position of the
925next move with a circle.<p>
926
927<b>Show last move</b>
928This marks the most recent move with a small circle. Thanks to Bernd Schmidt
929who provideda a patch for this. (The SGF file is not changed.)
930
931<b>Show Coordinates</b>
932Show coordinates around the board.<p>
933
934<b>The 'Game list' submenu:</b><p>
935
936---Sorting the game list<p>
937
938First of all, in the 'Game list' submenu of the Options menu,
939you can choose how to sort the game list. For one thing, you can either
940sort the list per database, or sort the complete list. Second, you can
941choose the sort criterion: name of white or black player, date or filename.<br>
942
943Having the game list sorted per database and by filename is the fastest,
944since that is the order in which the data is actually stored on your hard
945disk. With all other choices, the process of resetting the game list after
946a search will slow down a bit. Of course that depends on the number of
947games as well as on your machine, so you have to see yourself which choice
948is best for you. <br>
949
950Finally, you can reverse the whole game list by selecting the "Revert
951order" option. So if you would like to sort the whole list by date, with
952the most current games at the top, you could disable 'Sort per database',
953choose 'Sort by date', and select 'Revert order'. (Of course, if the file
954names of your SGF files and the databases reflect the date, as is the case
955with GoGoD, for example, you should 'sort per database' and 'sort by
956filename' and 'reverte order', since that's faster).<p>
957
958---Show date/show filename<p>
959
960Depending on where your SGF files come from, it might be interesting to
961include the filename in the game list (as was done automatically in
962previous Kombilo versions), or to omit it. Similarly, it might be
963interesting to include the date (if it cannot be read off from the file
964name, say, or to omit it). These two options allow you to control this.
965Changing one of these options will reset the game list.<p>
966
967<b>Invert selection</b>
968By default, when the relevant region for a pattern search is selected, the rest