From Chessprogramming wiki
Jump to: navigation, search

Home * Engines * Leorik

Leorik Logo [1]

an UCI compatible, didactic open source chess engine by Thomas Jahn, written in C#, and first published in January 2022 - its development reported in a CCC devlog [2]. Unshackled from the constraints of minimalism and simplicity, Leorik is the successor of Thomas Jahn's bare-bones chess engine MinimalChess [3], and as of Spring 2022, work in progress.

Leorik Attacks

Leorik is a bitboard engine and applies an unique approach in determining sliding piece attacks based on line-wise attacks on the otherwise empty board (either pre-calculated or calculated on the fly). All bits below the slider's origin square bit are used to separate positive and negative rays to scan the nearest blocker (if any) accordingly. Positive rays use the line occupancy, intersected with the bits not below to fill its LS1B (if any) down (MaskLow => bb ^ (bb - 1)). Negative Rays use the line occupancy, intersected with the bits below to fill its MS1B (if any) down (MaskHigh => 0x7FFFFFFFFFFFFFFFUL >> leadingZeroCount(bb|1)). The symmetric difference of both down fills, restricted to the line-wise attacks on the otherwise empty board results in the sliding attack bitboard from that square on one particular line [4] [5].

Selected Features


Board Representation



See also

Forum Posts

Re: Devlog of Leorik - A.k.a. how to tune high-quality PSTs from scratch (material values) in 20 seconds by Thomas Jahn, CCC, March 28, 2022 » Automated Tuning, Piece-Square Tables

External Links

Chess Engine



Up one level