From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * MadChess

Me Worry? [1]

an UCI compliant open source chess engine by Erik Madsen, written in C# to run under the Windows .NET framework. It was first released under the GNU General Public License Version 3 as successor of Erik's former C# engine RumbleMinze in October 2012 [2], and features adjustable playing strength with improved algorithms since MadChess 1.4 [3] [4]. MadChess 2.1, released in February 2017 is using .NET Core, Microsoft’s cross-platform free and open-source managed software framework to support not only Windows, but Linux, and Mac [5] [6].


Move Generation

MadChess applies an incremental move generation, using the C# yield statement [7] [8] [9] [10] [11] using incrementally updated list of attackers for any rank, file, diagonal, or anti-diagonal.


MadChess performs a principal variation search along with transposition table, killer and history heuristic, null move pruning and late move reductions inside an iterative deepening framework with aspiration. It eliminates all reductions and lazy evaluation along the principal variation.


The evaluation might be lazy with respect to bounds, and otherwise uses a tapered evaluation on game phase between speculative computed middlegame and endgame scores, considering piece-square tables, mobility, pawn structure, and king safety and various piece evaluation terms.

See also

Forum Posts




2015 ...

External Links

Chess Engine

MadChess - User Guide



Up one level