Some general utilities (Move comparator, basic evaluators, etc...) to implement a Java chess engine.
To implement a chess engine, you basically need the following:
-
A move generator.
You can find a lot on the Internet (example: chesslib). -
An implementation of tree search algorithm like Negamax.
games-core provides you with a generic game engine library. As it is not dedicated to a particular game, it does not contain any things like evaluation functions. -
An evaluation function, an a priori comparator of moves (usually, move generators does not sort moves, but it improves a lot tree search), and some other little things (example: An estimation of how many moves it remains before the end game, to implement a time management strategy).
This library provides you with some of these building blocks. -
Optionally, you will need to implement a communication protocol between your engine and a chess user interface.
the jchess-uci library will help you to implement UCI communication protocol.
Please have a look at project Wiki to learn how to use it.