The board is represented by a 12x12 mailboxarray in conjunction with piece-lists. An attack table utilizes square control and a cheap SEE, and is calculated from scratch once per node - one byte per square and color in "ppbbrrqk" order, indicating which pieces control that square including bishop/rook x-rays through queen and king. The two-bit bb counter includes knight and bishop attacks. Strictly legalmove generation requires determination of pinned pieces, also used in evaluation.
a free open source chess program written by Rudolf Posch in Delphi with x86 inline assembly. RDChess comes with an own Windows GUI, and also has a WinBoard mode.
Table of Contents
Description
[2]Board Representation
The board is represented by a 12x12 mailbox array in conjunction with piece-lists. An attack table utilizes square control and a cheap SEE, and is calculated from scratch once per node - one byte per square and color in "ppbbrrqk" order, indicating which pieces control that square including bishop/rook x-rays through queen and king. The two-bit bb counter includes knight and bishop attacks. Strictly legal move generation requires determination of pinned pieces, also used in evaluation.Search
The search applies NegaScout with TT, AEL-pruning, quiescence and various extensions inside an iterative deepening framework with aspiration windows. Move ordering considers hash move, re-captures, two killers, captures with positive SEE, quiet moves with priority from attacked squares to not attacked or defended squares, pawn moves, losing captures, and remaining.Evaluation
Evaluation focuses on material balance with trade down bonus if ahead. Positional feature terms, considering pawn structure, piece development, king safety, hanging pieces, etc., rarely exceed the value of one pawn, except unstoppable passers in pawn endgames due to implementation of the rule of the square.Forum Posts
External Links
RDChess: RDChess Technical Program Description
RDChess: RDChess User Manual
References
What links here?
Up one Level