I think for this purpose stick with gtp protocol would be an handicap more
than a bless

I think a simple protocol like this (loosely adapted from gtp would fit)


               # Rules negotiation
-> settings rules=chinese fixed_handicap=5 player1=black player2=white
<- = not_agree
<-
<- settings rules=chinese fixed_handicap=3 player1=black player2=white
-> = agree
->
               # game
-> play k10 black
<- =
<-
<- play k11 white
-> =
->
...
-> play pass black
<- =
<-
<- play pass white
-> =
->

        #negotiation of dead stones
<- dead stone k1 k2
-> = not_agree
->
-> dead stone k1 k2 k3
-> = agree
->

where <- and -> describe the direction of command

Actually the gtp protocol could be used with one player as the master and
the other as an engine but it would let you less flexibility and

would not illustrate well that both player are not in a strictly slave
master relation but more a pair to pair relation

During the negotiations phase, both player could simultaneously send the
same command in this case both would agree and it's not a problem

2015-06-09 4:25 GMT+02:00 Ray Tayek <rta...@ca.rr.com>:

>  On 6/8/2015 12:58 PM, Xavier Combelle wrote:
>
> It's not clear why you would want that your engine have control on
> communication. Can you explain your use case ?
>
>  our main use case is: two humans at different locations with my program
> want to play each other over a socket. seems like one has to be active.
>
> the passive client has a thread that reads a socket and executes commands.
> if this program were to send a command through the socket, then the other
> side's response to the command would be read as a command.
>
> thanks
>
>  2015-06-08 7:28 GMT+02:00 Ray Tayek <rta...@ca.rr.com>:
>
>> hi, still implementing gtp for my topological go program. it sorta works
>> with gogui.
>>
>> looking at the gnugo implementation, it seems all passive in that it
>> simply reacts to commands.
>>
>> so it looks like one side (or some other controller) has to be the
>> passive side and react to the commands (like gnugo), and one side need to
>> be active to do the setup and issue genmove commands (like gogui).
>>
>> currently my program waits for the player to move before sending it's
>> repsonse (the move) back. looks like gogui uses something called:
>> runLengthyCommand() for this. and some complicated code.
>>
>> is there any documentation on how to be the active side of gtp?
>>
>> is it possible for both sides to issue commands?
>>   ...
>>
>
>
> _______________________________________________
> Computer-go mailing 
> listComputer-go@computer-go.orghttp://computer-go.org/mailman/listinfo/computer-go
>
>
>
> --
> Honesty is a very expensive gift. So, don't expect it from cheap people - 
> Warren Buffetthttp://tayek.com/
>
>
> _______________________________________________
> Computer-go mailing list
> Computer-go@computer-go.org
> http://computer-go.org/mailman/listinfo/computer-go
>
_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Reply via email to