Next: The Metamachine, Previous: Running in GTP mode, Up: GTP
GTP is an asymmetric protocol involving two parties which we call controller and engine. The controller sends all commands and the engine only responds to these commands. GNU Go implements the engine end of the protocol.
With the source code of GNU Go is also distributed a number of applications implementing the controller end. Among the most interesting of these are:
Script to run regressions. The script sends GTP commands to set up and evaluate positions to the engine and then analyzes the responses from the engine. More information about GTP based regression testing can be found in the regression chapter (see Regression).
Perl script to run regressions, giving output which together with the CGI script regression/regress.plx generates HTML views of the regressions.
Pike script to run regressions. More feature-rich and powerful than regress.awk.
Pike script to examine a single regression testcase through a graphical board. This gives an easy way to inspect many of the GNU Go internals.
Perl script to play two engines against each other. The script essentially sets up both engines with desired boardsize, handicap, and komi, then relays moves back and forth between the engines.
An alternative Perl implementation of twogtp.
Implementation of twogtp in Python. Has more features than the Perl variants.
Implementation of twogtp in Pike. Has even more features than the Python variant.
Variation of twogtp which includes a graphical board.
More GTP applications, including bridges to go servers and graphical user interfaces, are listed at http://www.lysator.liu.se/~gunnar/gtp/.