descriptionXboard compatible chess engine written in C++
homepage URLhttp://vinc.cc/projects/foss/purplehaze
repository URLhttps://github.com/vinc/purplehaze.git
ownerme@nospam.cc
last changeSat, 10 Nov 2012 10:29:21 +0000 (10 11:29 +0100)
last refreshThu, 21 Nov 2024 08:20:03 +0000 (21 09:20 +0100)
content tags
add:
README.md

Purple Haze

Do chess engines dream of electric guitar?

Synopsis

Purple Haze is a free chess engine compatible with the Xboard protocol. It is written by Vincent Ollivier and distributed under the terms of the GNU General Public License version 3.

The development of Purple Haze started in the winter of 2006-2007 as a pet project to learn the Java programming language by a student in Computer Science. It was terribly slow and rapidly put aside for two years before benefiting from a regained interest after much research and reading of papers on the subject.

A new version was written in C++11 between the summer of 2009 and the beginning of 2010 but it was full of bugs and not well engineered so a second major rewriting started during the winter of 2010-2011. This time it was only slightly faster but it would prove to be a lot easier to maintain and the overall code quality was enhanced by using a test-driven development practice. The goal is to end up with something reasonably good and free of bugs.

Most of its concepts or algorithms are inspired from scientific papers and Open Source engines, notably TSCP, CPW, Fruit, Crafty and Stockfish. A lot of the ideas used for the implementation of theses concepts also comes from reading the Computer Chess Club Forums and the Chess Programming Wiki. Without them Purple Haze would not be able to do more than moving the pieces around the board.

Installation

See INSTALL for detailed installation instructions or just type the following commands in a terminal:

$ git clone git://github.com/vinc/purplehaze.git
$ cd purplehaze
$ make

Features

Data Structures:

Moves:

Search:

Quiescence Search:

Evaluation:

Debugging:

Miscellaneous:

Usage

You are free to read it, run it and modify it. If you choose to do so, drop me an email at <contact@vincentollivier.com>, it is not yet a mature project so any feedback will be really appreciated.

shortlog
2012-11-10 Vincent OllivierMerge branch 'release-2.1.0'masterv2.1.0
2012-11-10 Vincent OllivierBump version number to 2.1.0
2012-11-10 Vincent OllivierUpdate NEWS
2012-11-09 Vincent OllivierUse MAKE variable in Makefile
2012-11-09 Vincent OllivierReorder README
2012-11-09 Vincent OllivierImprove README and INSTALL documentation
2012-11-06 Vincent OllivierRemove system dependency on libgtest for Travis CI
2012-11-06 Vincent OllivierAdd rules to build libgtest in Makefile
2012-11-04 Vincent OllivierFix gtest dependency for Travis CI
2012-11-04 Vincent OllivierAdd Travis CI support
2012-11-04 Vincent OllivierImprove Makefile
2012-10-19 Vincent OllivierFix crash when last input command is not 'quit'
2012-10-18 Vincent OllivierFix squares declaration bug
2012-07-01 Vincent OllivierUpdate copyright
2012-06-25 Vincent OllivierRemove unused part of Search code
2012-06-25 Vincent OllivierReorder Transposition switch cases in Seach
...
tags
12 years ago v2.1.0 Version 2.1.0
12 years ago v2.0.3 Version 2.0.3
12 years ago v2.0.2 Version 2.0.2
13 years ago v2.0.0 Tagged v2.0.0
13 years ago v2.0.1 Tagged v2.0.1
heads
11 years ago develop
12 years ago master