So i am implementing an intelligent chess agent with the use of reinforcement learning.I intend to use Java. After reading the [master thesis of H.Mannen][1] i decided to use some of the features listed on Appendix B of his master that can be found on page 67. *Edit- Description of the features:* -**Board control** : amount of empty squares controlled by a side -**Connectivity** : amount of connectedness between the pieces of a side -**King’s distance to center** amount of squares a king is separated from one of the center squares e4, d4, e5, d5 -**Total mobility** : total sum of squares reachable by a side -**Center control** : amount of pawns occupying the squares e4, d4, e5, d5. -**Isolated pawns** : amount of pawns without a pawn of its own side on an adjacent line. -**Doubled pawns** : amount of pawns, greater than 1, on 1 line. -**Passed pawns** : amount of pawns without an enemy pawn ahead of it on the same or an adjacent line. -**Pawn forks** : amount of pawns which attack two superior pieces. Due to the fact that my project is focused on the AI part of the chess agent i would like to use some preexisting open source Java libraries or functions that automate the proccess of extracting these features from the chessboard. After searching, the only thing i found was [Chesspresso][2] but it comes with no tutorial and i was unable to find one. So i have two questions: -Do you know any good tutorials for Chesspresso? -Are aware of any Java open source library that will help me extract the features i want from the chessboard so i can reduce the programming cost of the project? Thanks in advance. [1]: http://www.phil.uu.nl/preprints/ckiscripties/SCRIPTIES/029_mannen.pdf [2]: http://www.chesspresso.org/