Sunday, November 15, 2009

My 15 seconds of fame...

I might have accidentally invented the multi-A.I. computer game, unheard of back in 1986. This is the opponent selection screen from my old public domain Peelgrunt Game of Gammon IV.64 that went around the world for a few months. I wrote it for CP/M and ported it to MS-DOS eventually. The source code for the MS-DOS version is on the C/C++ User's Group CD-ROM, in the uncataloged early stuff.

The characters are a homage to Alexei Panshin's Star Well trilogy, one of the most pleasantly droll science fiction series I've ever read. Peelgrunt is a special time of day (when the peels come out to grunt) in the third novel. There's also a Peelgrunt Room in some versions of the old text Adventure game.

My "a.i." algorithm was ridiculously simple. I just used the same set of board evaluation subroutines for each player, but since C allows you to pass an array of pointers to functions, I simply sorted three bool (*)( void )[] arrays into different evaluation priorities for each "player," and passed the array to my evaluator. In practice, there were three function arrays, but only one evaluator which called each member of its argument (the pertinent array of pointers to functions) in turn. I thought Villiers would be the strongest, but it turned out to be Parini in my case. I had mail from other players who thought Torve the Trog was nearly unbeatable, but in fact, he just looked for the attack with the longest reach and executed that first, if possible. It was all pure heuristics; no neural net stuff at all — a weak first effort, in fact, pathetic against GNU Backgammon or JellyFish Light 3.5 (heh...eventually), but sometimes ok against beginners.

Labels: , , , , , ,


Post a Comment

Subscribe to Post Comments [Atom]

<< Home