pbm2sgf
What is it?
If you are both a Go player and a computer user, you must have used, at some point, a computer-based viewer to allow you to replay games easily, annotate them, etc. Go players have developped a file format called SGF, which does all that and more. A good SGF viewer for Unix is cgoban, which is available in all major distributions.
Now, if you are both an e-mail user and a gamer, you may have started playing games on-line using e-mail. A very good server that allows such play is Richard's PBeM server.
The next natural step is to want to archive your play-by-e-mail Go games in SGF. This is where pbm2sgf comes in: it will convert a pbmserv Go summary into an SGF file. Incidentally, it also works with Gonnect, and probably most Go variants available on the server.
Usage
pbm2sgf is a command-line utility written in Perl. As such, it will work on mostly any Unix system, and should work on Windows provided you have ActiveState Perl installed (I haven't tried it — let me know if you have any success or failure stories).
Supposing you have saved pbmserv's summary into a file called game.txt, the SGF file is produced:
pbm2sgf game.txt > game.sgf
Version 0.1
This is the first version of pbm2sgf. I wrote it in about an hour, while doing something else, and only tested it on a couple of games and only viewing the result with cgoban. Please let me know if something doesn't work for you, or if the SGF is missing information (at the moment cgoban doesn't print the name of the players, although it's in the SGF, but I don't know if it's the file's fault or cgoban's.)To do
- SGF file update: Using a normal move e-mail, which only contains the last few moves, update an existing SGF file (while keeping comments, branches etc: the user may have commented the game, all we want to do is add the few moves on the main branch.)
