MadChess 3.0 Beta Build 058 (Baseline)

I’ve reached an important milestone in the development of my new chess engine. MadChess 3.0 Beta can play a timed game of chess. I copied the search function from MadChess 2.0 but implemented an evaluation function from scratch. The search function is rather sophisticated. Alpha / beta negamax PVS with aspiration windows MVV / LVA move order Multi-PV with tracking of all principal variations (in search, not in hash table) Hashtable with score, bounds, and best move Delayed move generation (play best move from hashtable before generating moves) Null move pruning Killer moves Move history with aging (used to sort… Continue Reading

MadChess 2.0 Beta Build 020 (Baseline)

I’ve reached an important milestone in the development of my new chess engine. MadChess 2.0 Beta can play a timed game of chess. I’ve implemented an alpha / beta negamax search with aspiration windows and a capture / check evasion quiescence search. Evaluation is limited to material and middlegame piece square tables. No tapered evaluation, no passed pawn bonus, no piece mobility, no king safety, no reductions or pruning of moves, etc. I ran a gauntlet tournament, pitting MadChess 2.0 Beta against weak chess engines. MadChess 2.0 1489 : 800 (+17,=56,-727), 5.6 % vs. : games ( +, =, -),… Continue Reading