
Prophet is a chess playing program. Actually, it's a chess engine, meaning it's just a console (text) based program. It is not terribly strong as far as chess programs go, but if you're not a computer program and you're not titled it will probably give you a good thumping most of the time.
Playing a game with Prophet without using some sort of GUI would be pretty painful, so you'll want to get XBoard or Winboard by Tim Mann. I don't know if Prophet works with any other GUI, but in theory if it uses the Xboard/Winboard II protocol it should.
Prophet is written in C++, but is mostly C.
As far as the core algorithms go, Prophet is very conventional. The search is a classic depth first alpha-beta search with iterative deepening. It searches interesting lines deeper, and does some very conservative pruning to avoid wasting time searching stupid lines. A queiscense search is performed after the full width search.
I will try to elaborate more as time permits...
I'm pretty sure that every line of code is written by me, with the exception of the Random32() function in utils.cpp. Random32() came from Crafty, but I think before that it came from GNU Chess.
That said, most (all?) of the really good ideas in Prophet aren't mine. They are from so many different people that I'm not going to attempt to name them all. If you're reading this, you probably know most of them anyway. :) However, I do need to explicitly name a couple of sources.
First and foremost, Crafty. Like Crafty, Prophet is a (rotated) bitmap engine, though Prophet's implementation is my own.
Prophet has also been influenced by TSCP.
I have also looked over Arasan and Glaurung, both of which are very nice programs. I stole Glaurung's Makefile.
You can download Prophet in binary and source form from the download page. If you find a bug, please let me know. If possible send the logfile as well.
I'm working towards a 3.0 release. My guess is the release will be ready in 4Q 2009. Here's what needs to be accomplished:
I am sometimes online ICC logged in as Wizard-King or ProphetX. You can also reach me by email: james _at_ chessprogramming _dot_ org.