Chess Programming Tutorial...[]

07 Oct 2019

iCE Chess Engine Version 4

An updated and improved version of iCE is released.

It's been a while since iCE 3 was released in 2016. It was the outcome of several years of developing, testing and tuning. It played at a reasonable strength and had almost all features a chess engine should have. It missed only one feature that was asked about a lot, the ability to use more than 1 core for the calculation.

Sometimes it seemed that people cared more about this feature than actual strength. iCE was never allowed to play into the Top Chess Engine Championship (TCEC) although it was stronger than most of the participating engines. Maybe to save some 32 core engines from embarressment being beaten by a single core one (not that I actually care about that).

As an engine author I was not really interested in this feature as it is just means the engine calculates faster instead of smarter. But as all the other engines supported it, it felt more and more like a missing feature. So I decided that iCE 4 will support multi processor calculation, although this required a rewite of some vital parts of the engine.

It is done now and iCE can call itself now Deep iCE.

Strength: 3000+ ELO - Belongs to the strongest engines in the world

ELO Ratings are based on the CCRL 40/40 rating list Mar 2016 for 1 CPU.


SMP The major change is the support of multiple threads now. iCE exposes now the uci command Threads which determines the number of parallel calculation threads.

Book Format iCE now uses a new book format. The keys are aligned to polyglot keys which makes it possible to convert polglot books into iCE books. A native polyglot book support is not possible as the move format in polyglot is not compatible with the iCE format and requires a transformation. This transformation requires some computation and is not done while the engine calculates a move.

Others Some parameter tuning was done but the single thread performance of iCE 4 is similar to iCE 3

Unchanged iCE is still a CLOP free zone and does not access endgame tablebases in play. However the new endgame knowledge was verified against Gaviota table bases. Tribut and thanks for providing them goes to Miguel Ballicora.

I recorded my work on iCE over the last years in my Blog. It contains all the dirty details. So someone interested to learn about my approach to automated parameter tuning using an GA might find something interesting here



Download iCE 4

iCE Engine + Medium Opening Book
4.0 v853 for Windows x32/x64, 7 MB

For those interested only in the engine alone the download area contains a package without opening book.