Leorik

Home * Engines * Leorik



Leorik, 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. Unshackled from the constraints of minimalism and simplicity, Leorik is the successor of Thomas Jahn's bare-bones chess engine MinimalChess, 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 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 smear its LS1B (if any) down (MaskLow => bb ^ (bb - 1)). Negative Rays use the line occupancy, intersected with the bits below to smear its MS1B (if any) down (MaskHigh => 0x7FFFFFFFFFFFFFFFUL >> trailingZeroCount(bb|1)). The symmetric difference of both down smears, restricted to the line-wise attacks on the otherwise empty board results in the sliding attack bitboard from that square on one particular line.

=Selected Features=

Board Representation

 * Bitboards
 * Leorik Attacks
 * Copy-Make

Search

 * Iterative Deepening
 * Negamax Alpha-Beta
 * Principal Variation Search
 * Transposition Table
 * Zobrist Hashing
 * Two Buckets
 * Aging
 * Move Ordering
 * MVV-LVA
 * Killer Heuristic
 * History Heuristic
 * Selectivity
 * Null Move Pruning (2.0)
 * Late Move Reductions
 * Futility Pruning (2.0)

Evaluation

 * Tapered Eval
 * Material
 * Piece-Square Tables

=See also=
 * Diablo
 * MinimalChess

=Forum Posts=
 * Devlog of Leorik by Thomas Jahn, CCC, January 04, 2022
 * Re: Transposition tables are hard... by Thomas Jahn, CCC, February 25, 2022

=External Links=

Chess Engine

 * GitHub - lithander/Leorik: Unshackled from the constraints of minimalism and simplicity Leorik is the successor to my bare-bones chess engine MinimalChess
 * Leorik 1.0 64-bit in CCRL Blitz

Misc

 * Leoric | Diablo Wiki | Fandom
 * Leoric - an object-relational mapping for Node.js

=References= Up one level