                            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 `make gnugo.dvi' or `make gnugo.ps' to get printed documentation. 
You can also make html documentation from the Texinfo. The methods
of doing this are discussed in the Texinfo documentation.

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-Windows.

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.

Other command line options can be listed by typing 'gnugo --help' -or-
'man gnugo' from any terminal.


                       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 GNUGO 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 GNUGO 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-Windows, so it is an attractive alternative under Windows.
You will need a Java runtime environment. Obtain Jago at
http://mathsrv.ku-eichstaett.de/MGF/homes/grothmann/jago/Go.html
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.


                   Copyrights and License

Copyright 1999 and 2000 by the Free Software Foundation except for
the files gmp.c and gmp.h, which are copyrighted by Bill Shubert
(@email{wms@@hevanet.com}).

All files are under the GNU General Public License, which may be
found in the file COPYING, except gmp.c and gmp.h, the files
interface/html/* and win/makefile.win. The two files gmp.c and
gmp.h are in the public domain and are free for unrestricted
use. The files interface/html/* are not part of GNU Go but are a
separate program and are included in the distribution for the
convenience of anyone looking for a CGI interface to GNU Go. Were
placed in the public domain by their author, Douglas Ridgway,
and are free for unrestricted use. The file win/makefile.win is
also in the public domain and is free for unrestricted use.

