[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] Moyoman, a Go playing program



David Weiss wrote:
>      This is to announce a new open source 
> Go playing program, Moyoman.
> 
> [...]
> 
>      Moyoman provides its own client, rather than 
> using a standard protocol such as GTP.  The reason 
> for this is that each module provides debugging 
> information which the client displays graphically.  

While your reasons are perfectly OK to justify using a
custom client, I strongly suggest to implement GTP in
addition.  It will allow you to play against other GTP
engines (most noteably, GNU Go) without reinventing the
wheel.  Since your project is an OSS/FS one, please
consider this too: it will allow _others_ to play with
Moyoman without troubles, which is well in the spirit of
cooperation.

Implementing GTP is not hard at all.  I can predict that
it will take not more than 5% or work you will spend on
implementing a graphical client (and likely not more
than 1%).

Also, please remember that GTP is not limited to a fixed
set of commands, you can extend it to transfer whatever
data you wish, as long as the client and the engine can
understand each other.  GNU Go, for instance, has a
graphical debugging tool (`regression/view.pike') which
communicate with GNU Go over GTP and actually knows
nothing about program internals---only about its output---
and is a separate program.

> There is a great
> deal of work that has already been done on computer Go
> which is in the public domain, most notably the GnuGo
> program.  A life and death module could be written for
> Moyoman using the life and death algorithm from GnuGo, 
> and one for shape, tactics, etc.

The name is GNU Go, not Gnu Go, GnuGo, gnugo or
something else.

If you'd like to borrow code from GNU Go, I'd suggest
starting with tactical reading.  I think it's one of the
best parts of the program and the least controversial
one.  Connection reader is quite good too, but the life-
and-death (OWL) has quite a few problems.  It might be
well worth it to start a new life-and-death module
instead of trying to adapt one from GNU Go.

Also, the more complicated and higher level a module is,
the more difficult it is to cut off all dependencies and
plug it into a different project.  Tactical reader is the
best start in this respect, because it depends on a
relatively small part of GNU Go (the board code, the
cache and some utilities, mostly superstring-related,
unless I forgot something else).  Of course, you'll have
to port it to Java, but then this is an inherent problem.

>      Moyoman is currently very weak, even for a
> computer program.  It is probably somewhere between 30
> and 40 kyu in strength.  With enough contributors to
> this project, it can rapidly increase in strength.

Good luck.

Paul Pogonyshev, GNU Go team
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/