I’m finally ready to release version 3 of my little chess engine project. It is still only single core as I haven’t found the motivation to implement SMP. I’m still on the way to make the engine smarter not faster. So SMP is maybe something for the next release then.
What did change in v3
UCI Options Cleanup The UCI options of iCE are restructured and renamed. Details can be found here: iCE 3 UCI Options
Multi PV support iCE is now supporting Multi PV mode.
Bugfix The ponder protocol implementation is fixed. In Shredder GUI it did not work.
Evaluation: A bit of weight tuning was perfromed. However most changes failed or had only minor impact.
Search Changes: iCE 2 added History Heuristics, Late Move Pruning, Razoring and Counter Move Heuristics. For iCE 3 I optimized the conditions a bit further to make smarter pruning decisions.
Books: I finally touched my book code again. It was necessary as the books contained some errors coming from changes to the internal move format. I also improved the book building framework to use perfromance data of iCE in certain lines.
Time Management: I changed the algorithm for time allocation to not use all available time on the last move before TC.
What do you get
- ice3-x64-modern – This is the release you probably want to use. It makes use of some HW instructions found on recent CPU.
- ice3-x64 – This is the fall back release if your HW doesn’t support the instructions used in the modern compile
- ice3-x32 – As the name suggests, if you still on a 32 bit platform like Windows XP use this one
The versions along with new books can be found at my download site
How to use
iCE is only a chess engine so it integrates into a graphical interface and communicates with it via a protocol. All interfaces that support the UCI (Universal Chess Interface) are usable. Among the available interfaces are
The above interface are tested in at least some version, but others should work as well. Pick your favorite choice.