||Devel Chess Engine
Devel is a free UCI engine for Windows, written by Per Skjerpe. The program works well with Arena and with other UCI-compatible programs like Fritz and Chessbase.
The program is a 32-bit application for a single processor system. Default hash table is 256 MB, configurable up to 2048 MB. Principal variation search (PVS) with up to 8 PV lines. Supports all common time controls, but never uses pondering (thinking on opponent's time).
Download the newest version, Devel 2.0000 (released 16 March 2018).
The strength of this version has not been determined yet, but many minor changes hopefully makes it slightly stronger than the previous version (Devel 1.8090).
The previous version Devel 1.8090 can still be downloaded here (released September, 2017).
The strength of this program is ~ ELO 2700 on the CCRL scale (Computer Chess Rating Lists). See the rating list for slow chess CCRL 40/40 (40 moves in 40 minutes)
or the rating list for blitz chess CCRL 40/4 (40 moves in 4 minutes).
I am very grateful to Graham Banks at CCRL for taking the time to test Devel! More test results are
All source code in Devel is original, but many ideas have been taken from other sources.
Chess Programming Wiki contains much useful information on all aspects of chess programming.
The static evaluation function in Devel resembles Chess 4.5, the ancestor of all modern chess programs. Chess 4.5 is described well in the book:
David J. Slate and Lawrence R. Atkin: Chess 4.5-The Northwestern University chess program in the book "Chess Skill in Man and Machine", by Peter W. Frey (ed.), Springer-Verlag, 1983.
For improved evaluation of king safetey and passed pawns, the source code of the following programs was particularly useful:
Devel is written in C++. The internal data structure is quite straight-forward. The chess board is represented by a 12x16 integer array (mailbox board representation), in reverse direction there are arrays giving the placement of all pieces on board. The search is recursive with an expectation window (alpha-beta pruning) and quiescence search for nodes beyond nominal depth. The common pruning techniques are used, including razoring, futility pruning, null move pruning.
Last update: 16 March 2018