As I promised on the GNU Go mailing list, I'm writing a GMP/GTP bridge with the original intent to be usable in the Gifu contest.
In the course of the implementation however, I encountered a problem which I don't know exactly how to solve. The regulations of the contest allow only a very restricted use of the Go Modem Protocol, especially with regard to queries (board size, ruleset used, etc). This is no problem for the answering side of the communication channel - if it is not asked, it need not be aswered. But it severely hampers the implementation of the querying side.
I will give an example: Black sends "new game". He knows about his game parameters. White does not know these and tries to acquire them through queries sent to black. Gifu regulations allow (and require) exactly two of them ("what's your color" and "what's the handicap"). The board size, e.g., must not be queried, and is thus implicitly assumed.
Now I can either follow the Gifu regulations and end up with an incomplete bridge, or I can attempt to write a more complete mapping of functionality and will have a program which cannot be used in the contest.
As an aside, GNU Go's GMP implementation, which I intended to use in my program, does way too much on its own (sending many queries to verify parameters). This is all perfectly legal GMP, but it is NOT legal with the 'modified GMP' used in the contest.
Any ideas will be very much appreciated.
Hellwig