At 04:10 PM 1/4/2001 +0100, you wrote:Hi! I'm relatively new to computer go (and go as well) and just started to write an engine. Now the question of what protocol to use. I know two, that both I'm not happy with: a) Go Modem Protocol I've translated the gmp.c to java and it works (more or less), I can connect to cgoban. But my implementation seems somewhat unstable. I inserted some debug-code. With debug-code it works, but I have an odd feeling (something with timing seems to be wrong). Also I'd prefer to setup my engine via the protocol, which isn't possible. With cgoban I can't even test the undo-feature. An other drawback is, that it isn't ascii based.The protocol supports undo, so cgoban must not implement the full protocol.The protocol is not documented :) It's ascii, but you have to reverse engineerb) NNGS/IGS-Protocol I havn't internet connection at home, so I'd need my own server what I think isn't worth the work. I havn't found any description of the protocol, too.
it yourself. I've written two clients, and it's not too hard to figure out. NNGS source
code for a server is available.
An other drawback of both of them is, that they aren't simple to use. So I thought of creating my own protocol, but that has the drawback that it will not used widely.Only by you, I think :)The modem protocol is very different from this since it had veryThis in mind, I wonder if there are better protocols out there. Properties I'd wish for a protocol are: Server based (Server starts and controles the engine(s)). Ascii (Easier to debug for humans, will give the chance of simulating an engine via telnet or stdin/stout) Simple (Why making complicated when not needed.) Extendable (If possible I'd like to start special features of the engine from the server rather than interact with the engine directly) Do you know any, that suits this (or part of this)? I've seen, that gnuchess uses a protocol, that looks like something I'd use (but that's for chess ;-).
different objectives:
Peer to Peer: Two people playing over a modem with no other communication.
Low bandwidth for 1200 baud connections or lower
Error tolerant, since modem connections were very unreliable
Simple: it's about as simple as possible with the above constraints
Extendable: yes.
It was invented before the internet was available to people at home :)
The IGS protocol meets all of your criteria, I think. I don't understand why you
want to invent a server based protocol, but you don''t want to write a server :)
David Fotland