Beginning of implementation of a ctypes-based interface to libboard, which is a much cleaner set of Go routines than I hacked together originally. Including a copy of gnugo 3.8 so we can build a dynamic version of libboard.
This commit is contained in:
244
gnugo/README
Normal file
244
gnugo/README
Normal file
@ -0,0 +1,244 @@
|
||||
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.
|
Reference in New Issue
Block a user