You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
245 lines
8.7 KiB
Plaintext
245 lines
8.7 KiB
Plaintext
1 year ago
|
GNU Go
|
||
|
|
||
|
This is GNU Go, a Go program. Development versions of GNU Go may be
|
||
|
found at http://www.gnu.org/software/gnugo/devel.html. Consult TODO if
|
||
|
you are interested in helping.
|
||
|
|
||
|
|
||
|
Installation
|
||
|
|
||
|
In short, './configure; make' will build GNU Go; optionally (running
|
||
|
as root) 'make install' will put it into /usr/local/bin and also
|
||
|
install the man page. You also will probably want to install CGoban.
|
||
|
See INSTALL for details.
|
||
|
|
||
|
|
||
|
Documentation
|
||
|
|
||
|
User documentation can be obtained by running 'gnugo --help' or 'man
|
||
|
gnugo' from any terminal.
|
||
|
|
||
|
Texinfo documentation includes instructions for users as well as
|
||
|
documentation of GNU Go's algorithms and functions for programmers and
|
||
|
developers. Use an info reader or emacs to read the info files, or run
|
||
|
`make gnugo.dvi' or `make gnugo.ps' in the doc/ directory to get
|
||
|
printed documentation. You can also make html documentation from the
|
||
|
Texinfo files. One method of making html documentation is to run the
|
||
|
command 'makeinfo --html gnugo.texi' in the doc/ directory.
|
||
|
|
||
|
|
||
|
|
||
|
Contact us at gnugo@gnu.org if you are interested in helping to
|
||
|
develop this program.
|
||
|
|
||
|
|
||
|
Running GNU Go via CGoban
|
||
|
|
||
|
This is an extremely nice way to run GNU Go. CGoban provides a
|
||
|
beautiful graphic user interface under X Window System.
|
||
|
|
||
|
Start CGoban. When the CGoban Control panel comes up, select ``Go
|
||
|
Modem''. You will get the Go Modem Protocol Setup. Choose one (or
|
||
|
both) of the players to be ``Program,'' and fill out the box with the
|
||
|
path to gnugo. After clicking OK, you get the Game Setup window.
|
||
|
Choose ``Rules Set'' to be Japanese (otherwise handicaps won't work).
|
||
|
Set the board size and handicap if you want. Click OK and you are
|
||
|
ready to go.
|
||
|
|
||
|
In the Go Modem Protocol Setup window, when you specify the path to
|
||
|
GNU Go, you can give it command line options, such as --quiet to
|
||
|
suppress most messages. Since the Go Modem Protocol preempts standard
|
||
|
I/O other messages are sent to stderr, even if they are not error
|
||
|
messages. These will appear in the terminal from which you started
|
||
|
CGoban.
|
||
|
|
||
|
If you want to play with a komi, you should bear in mind that
|
||
|
the GMP does not have any provision for communicating the komi.
|
||
|
Because of this misfeature, unless you set the komi at the command
|
||
|
line GNU Go will have to guess it. It assumes the komi is 5.5 for
|
||
|
even games, 0.5 for handicap games. If this is not what you want,
|
||
|
you can specify the komi at the command line with the --komi
|
||
|
option, in the Go Modem Protocol Setup window. You have to set
|
||
|
the komi again in the Game Setup window, which comes up next.
|
||
|
|
||
|
Click OK and you are ready to go.
|
||
|
|
||
|
Other command line options can be listed by typing 'gnugo --help'
|
||
|
-or- 'man gnugo' from any terminal, or by consulting the Texinfo
|
||
|
documentation.
|
||
|
|
||
|
|
||
|
Ascii Interface
|
||
|
|
||
|
Even if you do not have CGoban installed you can play with GNU Go
|
||
|
using its default Ascii interface. Simply type `gnugo' at the command
|
||
|
line, and GNU Go will draw a board. Typing `help' will give a list of
|
||
|
options. At the end of the game, pass twice, and GNU Go will prompt you
|
||
|
through the counting. You and GNU Go must agree on the dead groups--you
|
||
|
can toggle the status of groups to be removed, and when you are done,
|
||
|
GNU Go will report the score.
|
||
|
|
||
|
|
||
|
GNU Go mode in Emacs
|
||
|
|
||
|
You can run GNU Go from Emacs. This has the advantage that you place
|
||
|
the stones using the cursor arrow keys. This requires Emacs 20.4 or
|
||
|
later. (Tested with Emacs 20.4. Does not work with 20.2.)
|
||
|
|
||
|
Load `interface/gnugo.el', either by `M-x load-file', or by adding a
|
||
|
line
|
||
|
|
||
|
(autoload 'gnugo "gnugo" "GNU Go" t)
|
||
|
|
||
|
in your `.emacs' file. Now you may start GNU Go by `M-x gnugo'. You
|
||
|
will be prompted for command line options *note Invoking GNU Go::.
|
||
|
Using these, you may set the handicap, board size, color and komi.
|
||
|
|
||
|
You can enter commands from the GNU Go ASCII interface after
|
||
|
typing `:'. For example, to take a move back, type `:back', or
|
||
|
to list all commands, type `:help'.
|
||
|
|
||
|
Here are the default keybindings:
|
||
|
|
||
|
* `Return' or `Space'
|
||
|
Select point as the next move. An error is signalled for
|
||
|
invalid locations. Illegal locations, on the other hand,
|
||
|
show up in the GNU Go Console buffer.
|
||
|
|
||
|
* `q' or `Q'
|
||
|
Quit. Both Board and Console buffers are deleted.
|
||
|
|
||
|
* `R'
|
||
|
Resign.
|
||
|
|
||
|
* `C-l'
|
||
|
Refresh. Includes restoring default window configuration.
|
||
|
|
||
|
* `M-_'
|
||
|
Bury both Board and Console buffers (when the boss is near).
|
||
|
|
||
|
* `p'
|
||
|
Pass; i.e., select no location for your move.
|
||
|
|
||
|
* `:'
|
||
|
Extended command. Type in a string to be passed directly to
|
||
|
the inferior GNU Go process."
|
||
|
|
||
|
|
||
|
|
||
|
Running GNU Go via Jago
|
||
|
|
||
|
Jago, like CGoban is a client capable of providing GNU Go with a
|
||
|
graphical user interface. Unlike CGoban, it does not require
|
||
|
X Window System, so it is an attractive alternative under Windows.
|
||
|
You will need a Java Runtime Environment. Obtain Jago at
|
||
|
http://www.rene-grothmann.de/jago and follow the links there for the
|
||
|
Java Runtime Environment.
|
||
|
|
||
|
|
||
|
Go Modem Protocol
|
||
|
|
||
|
The Go Modem Protocol was developed by Bruce Wilcox with input from
|
||
|
David Fotland, Anders Kierulf and others, according to the history in
|
||
|
ftp://www.joy.ne.jp/welcome/igs/Go/programs/protocol.Z . Any Go
|
||
|
program *should* use this protocol since it is standard. Since CGoban
|
||
|
supports this protocol, the user interface for any Go program can be
|
||
|
done entirely through CGoban. The programmer can concentrate on the
|
||
|
real issues without worrying about drawing stones, resizing the board
|
||
|
and other distracting issues.
|
||
|
|
||
|
|
||
|
Options
|
||
|
|
||
|
A few options are described here. A more complete list
|
||
|
may be found in the Texinfo documentation, or by running
|
||
|
gnugo --help.
|
||
|
|
||
|
* `--help', `-h'.
|
||
|
Print a help message describing the options. This will also
|
||
|
tell you the defaults of various parameters, most importantly
|
||
|
the level and cache size. The default values of these
|
||
|
parameters can be set before compiling by `configure'. If
|
||
|
you forget the defaults you can find out using `--help'.
|
||
|
|
||
|
* `--level LEVEL'
|
||
|
GNU Go can play with different strengths and speeds. Level 10
|
||
|
is the default. Decreasing the level will make GNU Go faster
|
||
|
but less accurate in its reading.
|
||
|
|
||
|
* `--quiet', `--silent'
|
||
|
Don't print copyright and other messages. Messages
|
||
|
specifically requested by other command line options, such as
|
||
|
`--trace', are not supressed.
|
||
|
|
||
|
* `-l', `--infile FILENAME'
|
||
|
Load the named SGF file
|
||
|
|
||
|
* `-L', `--until MOVE'
|
||
|
Stop loading just before the indicated move is played. MOVE
|
||
|
can be either the move number or location.
|
||
|
|
||
|
* `-o', `--outfile FILENAME'
|
||
|
Write sgf output to file
|
||
|
|
||
|
* `--mode MODE'
|
||
|
Force the playing mode ('ascii', 'gmp' or 'gtp'). The
|
||
|
default is ASCII, but if no terminal is detected GMP (Go
|
||
|
Modem Protocol) will be assumed. In practice this is usually
|
||
|
what you want, so you may never need this option.
|
||
|
|
||
|
|
||
|
* `-M', `--cache-size MEGS'
|
||
|
Memory in megabytes used for hashing. The default size is 8
|
||
|
unless you configure gnugo with the command `configure
|
||
|
--enable-cache-size=SIZE' before compiling to make SIZE
|
||
|
the default.
|
||
|
|
||
|
|
||
|
* `--chinese-rules'
|
||
|
Use Chinese counting.
|
||
|
|
||
|
|
||
|
* `--japanese-rules'
|
||
|
Use Japanese Rules. This is the default unless you specify
|
||
|
`--enable-chinese-rules' as a configure option.
|
||
|
|
||
|
* `--copyright': Display the copyright notice
|
||
|
|
||
|
* `--version' or `-v': Print the version number
|
||
|
|
||
|
* `--printsgf FILENAME': Create an SGF file containing a diagram of
|
||
|
the board. Useful with `-L' to create diagrams from games.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
Copyrights and License
|
||
|
|
||
|
All files Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||
|
2007, 2008 and 2009 by the Free Software Foundation except as noted below.
|
||
|
|
||
|
All files are under the GNU General Public License, which may be
|
||
|
found in the file COPYING, with the following exceptions.
|
||
|
|
||
|
* The files interface/gtp.c and gtp.h are copyright 2001 by
|
||
|
the Free Software Foundation. In the interests of promoting
|
||
|
the Go Text Protocol these two files are licensed under a less
|
||
|
restrictive license than the GPL and are free for unrestricted use.
|
||
|
The GTP license appears in each file.
|
||
|
|
||
|
* The files gmp.c and gmp.h are copyright Bill Shubert. These
|
||
|
are free for unrestricted use.
|
||
|
|
||
|
* The files regression/golois/* and the tests vie.tst, connect.tst,
|
||
|
capture.tst and global.tst are copyright Tristan Cazenave and are
|
||
|
used with his permission
|
||
|
|
||
|
* The SGF files in regression/games/handtalk are copyright Jessie Annala
|
||
|
and are used with permission.
|
||
|
|
||
|
* The SGF files in regression/games/mertin13x13 are copyright Stefan
|
||
|
Mertin and are used with permission.
|
||
|
|
||
|
* The remaining SGF files are either copyright by the FSF or are in
|
||
|
the public domain.
|