[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [computer-go] How to play go with other programe?



> I am not missing that point at all, it is what I thought I had been 
> banging on about.  I see the lack of a hardware part as a fatal defect.

When you say hardware,  I assume you mean 2 serial cards and a null modem
cable.  

GTP needs hardware too, just less than GMP.   

  1.  GMP needs 2 computers, 2 serial cards and a null modem cable.
  2.  GTP needs 1 computer.

If you want to set it up  just like GMP with 2 separate computers, you
need 2 computers, 1 LAN (or the internet.)   OR you can get 2 serial
cards and a null modem cable and do like GMP.

You also need  software (GMP needs software too,  but it's linked into
the program.)  The software can  be linked into the programs just like
GMP if it makes you happy.  Or it can be a separate program running in
the  background on one  of the  computers.  It  will take  very little
resources.  If this  bothers you or you think it  unfair, keep in mind
that your  computer probably  has dozens of  processes running  in the
background, most of them also taking close to zero resources.

The  software for  GTP is  everywhere.   There is  full featured  user
interfaces so you don't have to write your own, or simple scripts that
will play 2 programs against each other.  I have my own GTP autotester
that  will  play multi-game  round  robins  against several  programs,
tracking all  the statistics,  rating the games,  saving them  etc.  I
don't  have to  set  up each  program  individually, I  just tell  the
autotester what boardsize, komi, etc to use and the autotester sets it
up for the programs.

GTP is  a lot more exciting  and flexible for reasons  like this.  The
point that  might be  hanging some of  us up  is that the  whole setup
isn't rigidly restricted to just one inflexible way of doing things.

GMP is very difficult to program if you are not an expert.  What makes
it popular  is that most of us  use a library that  someone else wrote
that hides all of this complexity.

GTP doesn't have this library.   That's because it's almost too simple
for a library.  To interface to  GMP you still have to honor some kind
of API to make your program use  GMP.  GTP is almost as simple as this
API and it would be almost  silly to write a library which required an
interface as complicated as the  library itself.  Unless you just like
having a  lot of extra code in  your program for no  reason.  (I don't
want to be  too dogmatic here, there might be some  benefits to such a
library  especially if  it provided  multiple  communication protocols
like PIPES via STDIO, sockets, serial cable, etc.)

GTP does do a lot more,  because GMP doesn't almost nothing other than
passing  and  getting  moves.   GMP  doesn't  care  about  setting  up
programs, taking  back moves,  and other useful  things.  You  have to
carefully set  each program up exactly  the way you want  it.  This is
both a virtue and a flaw of GMP, depending on your point of view.

I hope  this explains  things a little  better.  I've seen  most folks
very quickly  embrace GTP, but  there are a  few who are  almost angry
over it like it's  some kind of threat to them and  I don't get it.  I
don't think you  are this way, it's just that you  are used to hauling
out the serial  cable to connect two programs together  like we did in
the DOS days.

- Don
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/