Skip to content

Development

kachhy edited this page Mar 12, 2026 · 12 revisions

Board Representation

Axiom uses a bitboard board representation. This means that for every chess piece (white pawns, black knights, etc.) the board stores a single 64 bit integer, where the active bits represent the locations of the pieces.

Attack Generation

Attack generation is done via magic bitboards. We precompute attack tables at engine start to avoid any on-the-fly calculation of attacks during search or performance testing. There are many resources that can explain the workings of magic bitboards, such as this page on the Chess Programming Wiki.

Move Generation

Search

We use an alpha-beta Negamax framework for search.

Evaluation

Development

Clone this wiki locally