WARNING: This project is designed for those interested in chess engines and is not particularly user-friendly for casual chess players. PROJECT FEATURES: - Full rule support. Includes underpromotion, en passant, draw by repetition, and 50-move rule. - Users can play as either white or black - FEN position importing (*no guarantees that positions not reachable from start position will work correctly) - Customizable think time per move ENGINE FEATURES: - Pseudo-legal move generation considering checks - Minimax search implemented as negamax - Alpha-Beta Pruning - Iterative deepening - Basic move ordering (primarily MVV-LVA) - PeSTO piece-square tables evaluation (see credits) - Quiescent search - SPRT testing to ensure features improve strength - PERFT (not accessible through regular project) PLANNED FUTURE FEATURES: - Undo move - Export game - Transposition table - PVS Faster play: https://turbowarp.org/942997591
PeSTO evaluation by Ronald Friederich: https://chessprogramming.org/PeSTO%27s_Evaluation_Function LCGs used for random number generation (Zobrist hashing): https://www.ams.org/journals/mcom/1999-68-225/S0025-5718-99-00996-5/S0025-5718-99-00996-5.pdf?t=1784508654542 beep_01.wav by GokhanBiyik -- https://freesound.org/s/351210/ -- License: Attribution 4.0 SPRT Implementation by Michel Van den Bergh - https://www.chessprogramming.org/Match_Statistics#Statistical_Analysis#Statistical_Analysis Piece set/style: Merida Tags: #games #chess #ai