Would you like to react to this message? Create an account in a few clicks or log in to continue.

Chess2uLog in

descriptionCPW-engine EmptyCPW-engine

From the author, Pawel Koziol

In 2008 me and Edmund Moshammer wrote a thing called CPW-Engine, attempting it to be a didactic piece of code for Chessprogramming Wiki. It succeeded only as a self-learning exercise, because at that time both of us knew next to nothing about chess programming. Nevertheless that sin against all principles of good coding has been accessible on the Chessprogramming Wiki, and sometimes even some of the code snippets were referred to on this very forum.

About a month ago I looked at that code again and decided that showing 2008 version to the public is plain wrong. Today a slightly less wrong version has been uploaded, both at the wiki and under the following link.

It is still wrong in many places, but at least some bad decisions were revoked and some misconceptions cleared. Changes include:

- adding late move reduction
- changing hash retrieval logic in PV nodes
- changing futility pruning logic
- adding static eval pruning
- deleting lots of garbage from eval function
- interpolating between midgame and endgame scores

Probably it does not make sense to test this engine, as its only purpose was to show a couple of chess programming techniques. It should perform a bit better than Sungorus, which makes it uninteresting from competitive standpoint. If somebody wants to improve it - fine, but IMHO the only thing that makes sense would be to make code more readable and gradually remove some more idiocies that are left in the source.

descriptionCPW-engine EmptyCPW 1.1.18

Homepage :

Version 1.1.18(commit 42)

Some modifications had to be made to make it work under Linux.
1. Time resolution was broken.
2. I/O buffering wasn't present.
3. Welcome screen wasn't present in Linux.

Other fixes for Windows and Linux.
4. Fix integer overflow when calculating nps(int countNps)
5. Fix bench nps(formula was wrong).
6. Added cpw.ini(configuration) and cpw_book.txt(opening book). These files seem not to be available anymore!
7. PV output didn't work in 32 bits version.

Windows executables were built with Visual Studio 2012.
Linux executable was built with GCC(g++ *.cpp -DNDEBUG -flto -Ofast -s -o cpw-1.1.18-lin64).

Download Windows and Linux binaries :

Last edited by linuxchess on Wed Jun 12, 2019 3:25 pm; edited 3 times in total

descriptionCPW-engine EmptyRe: CPW-engine

any idea of strength (ELO)

descriptionCPW-engine EmptyRe: CPW-engine

2200 ELO

descriptionCPW-engine EmptyRe: CPW-engine

Permissions in this forum:
You cannot reply to topics in this forum