----- Original Message ----- From: "Anders Kierulf" anders@smartgo.com To: gtp@lists.lysator.liu.se Sent: Sunday, August 19, 2001 9:55 PM Subject: RE: [gtp] GTP Specification-Draft
- Need to know under what rules the game is being played.
(6) What to do on failure
The GTP standard should clearly state that anytime failure is returned, the state of the Go program must remain unchanged. That simplifies the description of the "On Failure" section for each command, that section simply needs to list the standard error messages that can be returned.
- 'komi': I don't think the standard should specify a default komi. Why
5.5 and not 6.5 or 7.5? The komi should be zero unless specified. I think it will be easier to get all the controllers to always send a komi command than to make sure they remember to set the komi to zero (or 0.5) for handicap games.
- 'boardsize' probably resets the number of prisoners?
I think explicitly specifying the state maintained by each engine would make it clearer, and would make it easier to implement GTP correctly. For example, board_size, komi, and (optional) number_of_prisoners are clearly part of the state. Apparently, the current player is not (I think it should be, which would simplify many commands, but that's a different matter). Every command affecting this state should specify that.
I've incorporated most of these comments about state into the specification.
You also point out a current gap in GTP, there is no way to set the rules for scoring, suicide, KO, etc.
So I offer two proposals to solution:
(1) Set the rule set for the game, like so: rule_set {chinese|Japanese|ing|new_zealand|igs|tromp_taylor}
(2) Or set each rule seperately, like so: scoring {territory|area, ko {simple|no_repeats}, suicide_allowed {yes|no}
We also need to define the default rule set or rules, when not specified by the Controller. We can work this out later.
So which is it to be? Or does someone have a better idea?
Phil