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