I just published the first version of Chess.jl, a library for computer chess. This is my first Julia project, and I am not a real programmer, so much of the code probably looks amateurish, but it works and performs surprisingly well.
Notable features:
Efficient board representation with fast legal move generation.
Import and export of games in PGN format, including support for comments and recursive annotation variations.
Opening book trees generated from PGN databases.
Basic support for interacting with UCI chess engines like Stockfish.
My motivation for creating this was doing machine learning experiments with computer chess, but I think the library should also be suitable for most other types of chess related applications.
If this is your first Julia project then I have to congratulate you! This seems well made and the documentation clear! Congrats (I am just a chess enthusiast, but don’t know much about using engines, etc.)
That would be great fun, but unfortunately, lacking DeepMind’s immense hardware resources, that’s not a realistic project.
My current goals are more in the line of using deep learning as a tool to better understand typical human mistakes, both in general and for specific players (I am sure even the best chess players have some systematic weaknesses that they are not aware of). This could be used both to make computer opponents more fun and human-like to play against, and to generate exercises and other training material for human chess players.