Chess4j

Home * Engines * chess4j

chess4j, an open source chess engine by James Swafford using Java based technologies and the Chess Engine Communication Protocol, released under the MIT License, and first published in September 2012. The engine was hosted on SourceForge, and meant to be a test bed for various interests, including experimenting with different JVM based languages, parallel and distributed programming techniques, and machine learning. Since version 3.2 released in March 2017, chess4j became a bitboard engine, using magic bitboards to generate moves, now hosted on GitHub.

=Features=

Board Representation

 * Bitboards
 * Magic Bitboards

Search

 * Iterative Deepening
 * Aspiration Windows
 * Alpha-Beta
 * Transposition Table
 * Move Ordering
 * Hash Move
 * Killer Heuristic
 * MVV/LVA
 * Selectivity
 * Check Extensions
 * Null Move Pruning with Null Move Pruning
 * Late Move Reductions
 * Futility Pruning
 * Extended Futility Pruning
 * Quiescence Search
 * SEE Pruning

Evaluation

 * Material
 * Piece-Square Tables
 * Rook on Open File
 * Rook/Queen on Seventh
 * King Safety
 * Pawn Shelter
 * Knight/King Tropism
 * Pawn Structure
 * Pawn Hash Table
 * Doubled Pawn
 * Isolated Pawn
 * Passed Pawn

=See also=
 * Prophet

=Forum Posts=

2012 ...

 * Mr.James Swafford and Chess4J project by Ruxy Sylwyka, CCC, September 11, 2012
 * Chess4J 2.0 is out ! by Ruxy Sylwyka, CCC, June 10, 2014

2015 ...

 * chess4j 3.0 is released by James Swafford, CCC, January 16, 2016
 * chess4j 3.1 released by James Swafford, CCC, February 12, 2017
 * chess4j 3.2 is released (and it's magic) by James Swafford, CCC, March 11, 2017
 * hashing in chess4j by James Swafford, CCC, December 30, 2017 » Transposition Table
 * chess4j 3.4 by James Swafford, CCC, July 27, 2018
 * chess4j 3.5 by Gabor Szots, CCC, December 18, 2018

2020 ...

 * Prophet 4.0 and chess4j 4.0 are released by James Swafford, CCC, October 02, 2021

=External Links=
 * GitHub - jswaff/chess4j: a Java based chess engine
 * chess4j | James Swafford Blog
 * Chess4j in CCRL 40/4

=References= Up one level