5 Do Chess Engines Dream of Electric Guitar?
6 ------------------------------------------
8 Purple Haze is a free chess engine compatible with the Xboard protocol. It is
9 written by Vincent Ollivier and distributed under the terms of the GNU General
10 Public License version 3.
12 The development of Purple Haze started in the winter of 2006-2007 as a pet
13 project to learn the Java programming language by a student in Computer
14 Science. It was terribly slow and rapidly put aside for two years before
15 benefiting from a regained interest after much research and reading of papers
18 A new version was written in C++11 between the summer of 2009 and the beginning
19 of 2010 but it was full of bugs and not well engineered so a second major
20 rewriting started during the winter of 2010-2011. This time it was only
21 slightly faster but it would prove to be a lot easier to maintain and the
22 overall code quality was enhanced by using a test-driven development practice.
23 The goal is to end up with something reasonably good and free of bugs.
25 Most of its concepts or algorithms are inspired from scientific papers and
26 Open Source engines, notably TSCP, CPW, Fruit, Crafty and Stockfish. A lot of
27 the ideas used for the implementation of theses concepts also comes from
28 reading the [Computer Chess Club Forums](http://talkchess.com/forum/) and the
29 [Chess Programming Wiki](http://chessprogramming.wikispaces.com/). Without
30 them Purple Haze would not be able to do more than moving the pieces around
38 * 0x88 Board Representation
42 * Lazy Move Generation
43 * Best Move from Iterative Deepening or Transposition Table
44 * Most Valuable Victim / Least Valuable Aggressor
48 * Principal Variation Search
53 * Adaptive Null Move Pruning
54 * Extended Futility Pruning
60 * Move Ordering (via MVV/LVA)
65 * Opening and Ending Piece-Square Tables
84 See INSTALL for detailed installation instructions or just type the following
85 commands in a terminal:
87 $ git clone git://github.com/vinc/purplehaze.git
95 You are free to read it, run it and modify it. If you choose to do so, drop me
96 an email at <contact@vincentollivier.com>, it is not yet a mature project so
97 any feedback will be really appreciated.