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 [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 >> trailingZeroCount(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
Search
- Iterative Deepening
- Negamax Alpha-Beta
- Principal Variation Search
- Transposition Table
- Move Ordering
- Selectivity
- Null Move Pruning (2.0)
- Late Move Reductions
- Futility Pruning (2.0)
Evaluation
See also
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
References
- ↑ Re: Devlog of Leorik by Thomas Jahn, CCC, March 19, 2022
- ↑ Devlog of Leorik by Thomas Jahn, CCC, January 04, 2022
- ↑ Leorik/README.md at master · lithander/Leorik · GitHub
- ↑ Leorik/Bitboard.cs at master · lithander/Leorik · GitHub
- ↑ Re: Devlog of Leorik by Thomas Jahn, CCC, January 04, 2022
- ↑ Leorik/README.md at master · lithander/Leorik · GitHub