[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: computer-go: Computer Go Tournament Program
In the context of a proposal that an NNGS style server be used
as a mediator in a computer Go tournament, David Fotland wrote:
> A biasc interface to NNGS or IGS is would be simple to write if there were
> any documentation of the prototcol. But every program has had to reverse
> engineer the protocol, which makes it much more difficult. For reference,
> my go modem protocol implementation is 1600 lines of C++ and my IGS client
> is 3600 lines. I implement the full modem protocol, including retries, etc,
> so a tournament version of GMP should be less than 1000 lines. I implement
> a fairly full-featured IGS interface. I rudimentary one would be much
> smaller, but still bigger than the GMP I think.
One might add that the interface to the server protocol is also
made difficult by the unfortunate attitude of IGS, which is
falsely claiming that NNGS is violating their copyright by
using the protocol.
But the program which is entered into the tournament does not
need to support the server protocol, just GMP since there the
mediation with the server can be done using an existing client.
I'm not sure which clients support GMP but I know Jago and
CGoban 1 do, so such clients are available under every operating
system.
It would be a good idea if NNGS supported a second protocol,
for which client- and server-side header files could be made
publicly available with something like a BSD license. The server
could easily support two protocols, responding to the client
based on whatever protocol the client seems to be using.
I have been told that idea of adding such a second protocol has
been considered, perhaps (it was said) based on XML. It seems to
me that a simple text based protocol, perhaps an extension of the
Go Text Protocol used by GNU Go 2.7.xx might be preferrable.
Dan