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

Re: Progress - OpenGo...



>
>However there are certainly problems at a high level.  I am told that
>there are two strong programs which can use the GMP if one is black and
>the other is white.  But the other way round they have a conversation:
>
>A: "Hello"
>B: "Hello.  I am B.  Who are you?"
>A: ""
>
>A considers that it is not obliged to reveal its identity to its
>opponent.  Neither of them starts the game.

This is because one program didn't implement the protocol as specified :(
B can't say I am B.  This is not part of the protocol.

It's more like:

A: start a new game
B: Ok, who are you?
A: dies, since it didn't implement the query command.

The protocol states that responding to the query command is not
optional.  An allowed, and easy, response to any query is
"I don't know".  So the base query command is very simple to
implement.  Just always respond, "I don't know" to any query.

The protocol is very clear on this point.  You are not required to
give any information in reponse to a query.  It's always OK to
repond with no information.  But the query command is not
optional.

Since the DLL only implements a subset of the protocol, and never
sends queries, I guess some programmers thought they didn't have to
implement it.  The DLL does respond correctly to all queries with
"I don't know", so any program that uses the DLL will work fine.

The basis of the protocol is that no one forces information on
another.  Once only responds to questions.  When a new game is
set up, each side can ask the other what board size, rule set,
etc they plan to use.  

When two players set up a game and aren't in the same room, they
don't have the luxury of agreeing verbally first on the game
parameters, like color, board size, and who will start first.  The
protocol needs to deal with any possible sequence of game starting,
even when both are started simultaneously, so the two "new game"
commands pass in the wires, and each program sees a "new game"
in response to it's own "new game".  This does add some complexity
that is not needed when both computers are in the same room.

David

>
>I have no opinion on whether a program ought to be obliged to identify
>itself to its opponent.  I do believe that the protocol ought to rule
>one way or the other on this.  I think that filling such high-level gaps
>in the GMP is more important than changing the low-level aspects of it.
>
>Nick
>-- 
>Nick Wedd    nick@xxxxxxxxxxxxxxxxx
>
>