Many years ago i wrote a simple pente playing program for an AI computer science class i was taking. It was not a very approachable or usable program. It was written in lisp and ran on dog slow x86 PC/ATs. Nobody had lisp or enough time to wait around for the PC to make its move.
Since becoming a professional sw engineer 12 years ago, I've always had in mind to write a more practical and usable pente program. Well last summer i finally got around to doing some of that by writing the core pente playing logic in java albeit with an unapproachable command line user interface. Just yesterday I finally picked it up again and wrote a graphical user interface and packaged things up as an applet.
Its not the best or fastest game in the world. I havent tuned the 'evaluation function' terribly much. But it plays the game.
Features: - applet that plays in your browser (IE recommended, doesnt resize properly in NS) - minimax with alpha/beta pruning - you can set the search depth - undo/redo
The next thing I have in mind to do is to create a system that employs 'evolution' to tune the parameters of the evaluation function. Who knows if or when i'll get around to that.
Anyway... i hope somebody enjoys it.
This message was originally posted at Yahoo's pente group.
Oooops... I just found and fixed a bug in the PenteApplet. It was a logic error in programs decision making about how good or bad a move is (the evaluation function). I just put the fixed applet up on my site.
If you tried it Sunday and were disappointed in its game, you may want to give it another whack. It'll give you a noticably better game now.
Hi again, just a note to let you that i've updated the PenteApplet to abide by the 'tournament rule' that constrains where the first player can place his or her second piece. And that it now runs about 30% faster than before.
New features: - tournament rule (on by default, can be turned off) - 30% faster