QBBEngine
Revision as of 11:02, 7 September 2020 by GerdIsenberg (talk | contribs) (Created page with "'''Home * Engines * QBBEngine''' '''QBBEngine''',<br/> a didactic UCI compliant open source chess engine by Fabio Gobbato,...")
QBBEngine,
a didactic UCI compliant open source chess engine by Fabio Gobbato, written in C and published as single source file on the Pedone site [1].
The QBBEngine demonstrates the use of a compact quad-bitboard structure to represent the board,
and further applies alpha-beta search and an evaluation based on static values and piece-square tables [2].
The program performs a color agnostic move generation by flipping the board each time in make move.
Board-Definition
The board-definition with vertical nibbles as piece or empty square codes:
Square | 6 | 6 | 6 | 6 | 5 | 5 | 5 | 5 | 5 | ~ | 0 | ... | 0 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
3 | 2 | 1 | 0 | 9 | 8 | 7 | 6 | 5 | ~ | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||||||||
Piece | r | n | b | k | q | b | n | r | p | ~ | P | R | N | B | K | Q | B | N | R | |||||||
PM | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ~ | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Side to Move | ||||||
P0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | ~ | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | P | . | B | . | Q | ||
P1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 | ~ | 0 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | N | B | . | K | |||
P2 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | ~ | 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | . | . | R | Q | K |
P2 RQK P1 NB K P0 P B Q PM side to move 1 . . 1 1 . . 1 . 1 1 . 1 1 1 . . . 1 1 . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . . 1 1 . . 1 . 1 1 . 1 1 1 . . . 1 1 . 1 . . 1 1 1 1 1 1 1 1