Re: [Computer-go] gtp question for topological go program
Hi Ray, GTP is a strictly asymmetric protocol, not intended to be used directly between players. The specification draft http://www.lysator.liu.se/~gunnar/gtp/gtp2-spec-draft2/gtp2-spec.html expresses this clearly (1.3 Communication Model): The protocol is asymmetric and involves two parties, which we call controller and engine. The controller is typically some kind of arbiter or relay and the engine is typically a go playing program. All communication is initiated by the controller in form of commands, to which the engine responds. So if you want to let two instances of Go players play each other, you need some controller in between, possibly split in two halves, one half on either side of a network connection, with a separate protocol for communication between the two controllers. This is the usual situation when two programs are playing on a (remote) Go server. Hellwig ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go
Re: [Computer-go] gtp question for topological go program
strictly asymmetric protocol, not intended to be used directly between players does not imply All communication is initiated by the controller. It would be reasonable to allow a player to ask the server how much time do I have left?, and how much time does my opponent have left?. As far as I know, GTP does not support this. Nick On 9 June 2015 at 13:03, Hellwig Geisse hellwig.gei...@mni.thm.de wrote: Hi Ray, GTP is a strictly asymmetric protocol, not intended to be used directly between players. The specification draft http://www.lysator.liu.se/~gunnar/gtp/gtp2-spec-draft2/gtp2-spec.html expresses this clearly (1.3 Communication Model): The protocol is asymmetric and involves two parties, which we call controller and engine. The controller is typically some kind of arbiter or relay and the engine is typically a go playing program. All communication is initiated by the controller in form of commands, to which the engine responds. So if you want to let two instances of Go players play each other, you need some controller in between, possibly split in two halves, one half on either side of a network connection, with a separate protocol for communication between the two controllers. This is the usual situation when two programs are playing on a (remote) Go server. Hellwig ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go -- Nick Wedd mapr...@gmail.com ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go
Re: [Computer-go] gtp question for topological go program
It's not clear why you would want that your engine have control on communication. Can you explain your use case ? 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? any pointers will be appreciated. thanks -- Honesty is a very expensive gift. So, don't expect it from cheap people - Warren Buffett http://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
Re: [Computer-go] gtp question for topological go program
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 mailto: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 list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go -- Honesty is a very expensive gift. So, don't expect it from cheap people - Warren Buffett http://tayek.com/ ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go
Re: [Computer-go] gtp question for topological go program
On 6/8/2015 8:52 PM, Xavier Combelle wrote: I think for this purpose stick with gtp protocol would be an handicap more than a bless it looks that way, but i want to have the program work against other engines when it is playing normal go. I think a simple protocol like this (loosely adapted from gtp would fit) ... # Rules negotiation ... i could do this (i think). but i would need 2 sockets since on is blocked on reading gtp commands. 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 i may try something like this later. thanks 2015-06-09 4:25 GMT+02:00 Ray Tayek rta...@ca.rr.com mailto: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 mailto: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 list Computer-go@computer-go.org mailto:Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go -- Honesty is a very expensive gift. So, don't expect it from cheap people - Warren Buffett http://tayek.com/ ___ Computer-go mailing list Computer-go@computer-go.org mailto: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 -- Honesty is a very expensive gift. So, don't expect it from cheap people - Warren Buffett http://tayek.com/ ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go
[Computer-go] gtp question for topological go program
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? any pointers will be appreciated. thanks -- Honesty is a very expensive gift. So, don't expect it from cheap people - Warren Buffett http://tayek.com/ ___ Computer-go mailing list Computer-go@computer-go.org http://computer-go.org/mailman/listinfo/computer-go