Skip to content

analog-hors/Boychesser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

11d681d · Dec 20, 2023
Oct 10, 2023
Oct 8, 2023
Jul 21, 2023
Jul 17, 2023
Oct 7, 2023
Oct 7, 2023
Jul 30, 2023
Oct 7, 2023
Dec 20, 2023
Jul 22, 2023
Jul 22, 2023

Repository files navigation

Boychesser

A very small C# chess engine written for Sebastian Lague's Tiny Chess Bots Challenge. Estimated to be around 2750 Elo on the CCRL Blitz list.

Features

Board representation

  • Based entirely on Sebastian Lague's framework

Search

  • Principal variation search
  • Quiescence search (integrated with main search)
  • Transposition table
  • Aspiration windows
  • Pruning
    • Null move pruning
    • Reverse futility pruning
    • Delta pruning
    • Futility pruning
    • Late move pruning
  • Reductions
    • Late move reduction
    • History reduction
    • Internal iterative reduction
  • Extensions
    • Check extension
  • Move ordering
    • TT move
    • MVV-LVA
    • History heuristic (with gravity)

Evaluation

  • Phased evaluation
  • Material
  • Mirrored piece square tables
  • King-relative pawn
  • Slider mobility
  • Virtual queen mobility
  • Friendly pawns in front of a piece
  • Tempo
  • Tuned on an evenly-mixed combination of Frozenight NNUE data and lichess-big3-resolved

Time management

  • Based on a fixed percentage of remaining time
  • Aborts after an iteration if a "soft" limit is exceeded
  • Aborts during an iteration if a "hard" limit is exceeded