[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/