Category Archives: chess4j

Category for posts pertaining to the chess4j project.

chess4j + Prophet integration status 5/17/20

Several months ago I wrote about a proof-of-concept JNI integration between chess4j and Prophet4. At the time I had managed to compile Prophet4 as a static library, load that library into chess4j and write a JNI layer. The only function … Continue reading

Posted in chess4j, Computer Chess, Prophet | Tagged , | Comments Off on chess4j + Prophet integration status 5/17/20

Prophet4 rewrite status 2/16/20

Added a simple depth first search. The search uses the alpha/beta algorithm and recognizes checkmated and stalemated positions but otherwise has no “intelligence.” It is a simple fixed depth search without iterative deepening or timing. The next phase of work … Continue reading

Posted in chess4j, Computer Chess, Prophet | Comments Off on Prophet4 rewrite status 2/16/20

chess4j + Prophet4 POC

I just wrapped up a successful proof-of-concept to marry up my two chess engines – the Java based chess4j and the C based Prophet4 . Note, Prophet4 isn’t even a complete engine yet – it doesn’t even have a search! … Continue reading

Posted in chess4j, Computer Chess, Prophet | Tagged , | Comments Off on chess4j + Prophet4 POC

chess4j 3.5 is released

I’m releasing version 3.5 of my Java based chess engine, chess4j. The only changes since 3.4 are some bugfixes to the ponder search and changes in some logging levels. As always the source code is available on the project website … Continue reading

Posted in chess4j, Computer Chess | Comments Off on chess4j 3.5 is released

chess4j 3.4 is released

chess4j 3.4 is officially released. The main changes in this release are the hashing related changes that I discussed some time back in this post. Other than that, there are many smaller changes, many of which I’m sure I’ve lost … Continue reading

Posted in chess4j, Computer Chess | Comments Off on chess4j 3.4 is released

Hashing in chess4j

Hashing is an area I’ve meant to revisit in chess4j since it was originally implemented, for a couple of reasons. (1) The hash entries consume too much space, limiting the number of entries the hash table can store, and (2) … Continue reading

Posted in chess4j, Computer Chess | Comments Off on Hashing in chess4j

chess4j 3.2 is released and it’s magic!

I just released chess4j 3.2. This release is purely about optimizing for speed. That is, there are no changes to the search or evaluation terms. chess4j is now a bitboard engine, and uses magic bitboards for move generation. Simply by … Continue reading

Posted in chess4j, Computer Chess | Comments Off on chess4j 3.2 is released and it’s magic!

chess4j 3.1 is released

I just released version 3.1 of chess4j, my Java based chess engine. This version is about 100 elo stronger than 3.0. The key differences are: The Groovy language is no longer used. Groovy is a fine language for some purposes. … Continue reading

Posted in chess4j, Computer Chess | Comments Off on chess4j 3.1 is released

chess4j 3.0 is released!

After a long period of inactivity I’m happy to announce the release of version 3.0 of my Java chess program, chess4j. This version is a good bit stronger than the previous version, though still not as strong as my C/C++ … Continue reading

Posted in chess4j, Computer Chess | Comments Off on chess4j 3.0 is released!

chess4j + SQLite

The last time I wrote anything about chess4j, way back in November, I reported that chess4j was using a small in-memory database of opening moves. The program was reading a library of about 500 games from GM Kasparov, which it … Continue reading

Posted in chess4j, Computer Chess | Comments Off on chess4j + SQLite