[App Dev] [advice wanted] the standard format of a multi-GTP session

I bring dot-broadcast syntax to a multiple-GoTextProtocol session like this:

...
[ Info: GTP ready (ka first), type ? or list_commands for help
?
=
status, st  : list all bots
  open, run : run a bot
switch, turn: switch to a bot
  help, ?   : show this message
gtp_command.: broadcast a GTP command to all running bots
-----Example:
name.
g = GNU Go
l = Leela Zero

st
= ka g k ka2 l k2 ks

name.
ka = KataGo
g = GNU Go
l = Leela Zero

boardsize 3 2.
g =
l ? unacceptable size
ka =

genmove b.
g = B2
ka = B1
l = Q3

showboard.
l =
Passes: 0            Black (X) Prisoners: 0
White (O) to move    White (O) Prisoners: 0
   a b c d e f g h j k l m n o p q r s t
19 . . . . . . . . . . . . . . . . . . . 19
18 . . . . . . . . . . . . . . . . . . . 18
17 . . . . . . . . . . . . . . . . . . . 17
16 . . . + . . . . . + . . . . . + . . . 16
15 . . . . . . . . . . . . . . . . . . . 15
14 . . . . . . . . . . . . . . . . . . . 14
13 . . . . . . . . . . . . . . . . . . . 13
12 . . . . . . . . . . . . . . . . . . . 12
11 . . . . . . . . . . . . . . . . . . . 11
10 . . . + . . . . . + . . . . . + . . . 10
 9 . . . . . . . . . . . . . . . . . . .  9
 8 . . . . . . . . . . . . . . . . . . .  8
 7 . . . . . . . . . . . . . . . . . . .  7
 6 . . . . . . . . . . . . . . . . . . .  6
 5 . . . . . . . . . . . . . . . . . . .  5
 4 . . . + . . . . . + . . . . . + . . .  4
 3 . . . . . . . . . . . . . . .(X). . .  3
 2 . . . . . . . . . . . . . . . . . . .  2
 1 . . . . . . . . . . . . . . . . . . .  1
   a b c d e f g h j k l m n o p q r s t
Hash: 91B5DA3DB56CDA5 Ko-Hash: 99096EB1679EA18B
Black time: 00:59:59
White time: 01:00:00
ka = MoveNum: 1 HASH: 233749520E26687E992C3A6B45CB5423
   A B C
 2 . . .
 1 . X1.
Next player: White
Rules: {"friendlyPassOk":true,"hasButton":true,"ko":"POSITIONAL","komi":7.0,"scoring":"AREA","suicide":false,"tax":"ALL","whiteHandicapBonus":"N"}
B stones captured: 0
W stones captured: 0
g =
   A B C
 3 . . . 3
 2 . X . 2     WHITE (O) has captured 0 stones
 1 . . . 1     BLACK (X) has captured 0 stones
   A B C

quit.
g =
l =
ka =

May I ask your advice about it? I hope the format could be a standard of “GTP Plus” that can be easy for both computer parsing and people reading!

1 Like

Cool! But… what is the motivation for adding dot broadcasting to GTP?

Em, hard to say :smiling_face_with_tear: The Go is a game of two players, but sometime I want to get help from not only one GTP bot. In this case, you would want a manager :thinking: of GTP bots that can open, close, switch, sort, team, broadcast and etc :melting_face:

If you dev a GUI with many different GTP bots, it is useful. Because different bots behave differently when they are asked the same one GTP command.