Skip to content

ppipelin/radiance

Repository files navigation

Radiance Engine

Build Status Latest Release License

Lichess classical rating Lichess rapid rating Lichess blitz rating Lichess bullet rating

⚡ Zig chess engine ⚡

Radiance Logo, courtesy of Jim Ablett

Move Generation and Ordering

Search

Evaluation

  • Tuned Piece-square Tables
  • AlphaZero Average Piece Values
  • Tapered Evaluation
  • Transposition Table Evaluation
  • Endgame Heuristics
  • Pawn Structures Heuristics
  • Bishop pair bonus
  • Mobility Bonus

Versions tournament

Time control: 120+1

CCRL blitz benchmark.

Rank Name CCRL Elo + - games score oppo. draws
1 radiance_4.3 1961 10 10 6144 84% 1641 12%
2 radiance_4.2 1803 1803 8 8 6144 64% 1693 21%
3 radiance_4.1 1675 1640 8 9 7419 51% 1593 16%
4 radiance_4.0.1 1480 8 8 14312 65% 1249 8%
5 radiance_3.5 1322 1222 8 8 10216 66% 1025 11%
6 radiance_3.4 1300 1198 8 7 10218 64% 1028 11%
7 radiance_3.3 1146 8 8 10216 59% 1034 11%
8 radiance_3.2 1135 8 8 10215 58% 1036 11%
9 radiance_3.1.1 1119 965 8 8 9552 45% 1015 9%
10 radiance_3.0.1 689 9 9 9552 20% 1050 9%
11 radiance_2.4 647 9 9 9552 16% 1055 10%
12 radiance_2.3 874 602 9 10 9552 13% 1061 9%

Getting started

Compile and run

zig build run -release=fast

Deploy

zig build deploy

Test

zig build test --release=safe

UCI options

Name Type Default value Valid values Description
Hash spin 256 [1, 65535] Memory allocated to the transposition table (in MB).
Threads spin 1 [1, 1] Number of threads used to search.
Evaluation combo "PSQ" ["PSQ", "Shannon", "Materialist"] Type of evaluation function.
Search combo "NegamaxAlphaBeta" ["NegamaxAlphaBeta", "Random"] Type of search function.
UCI_Chess960 check false ["true", "false"]

Commands

  • uci
  • isready
  • setoption name <string> [value <string>]
  • position [(fen <string> | startpos | kiwi | lasker) [moves <string>...]]
  • eval
  • go [movetime <int> | wtime <int> | btime <int> | winc <int> | binc <int> | nodes <int> | depth <int> | infinite | perft <int>]
  • bench
  • stop
  • quit
  • ucinewgame
  • d

Archive

This project was originaly written in C++ before 4.0 version and archived under the name radiance_archived.

Aknowledgments

  • Avalanche engine is a great example of how a zig project should be coded. Radiance engine still uses its pseudo random number generator (MIT License - Copyright (c) 2023 Yinuo Huang).
  • Stockfish with its aggressive pruning methods.
  • Chess Programming Wiki.

I'm radiant!

About

UCI Chess Engine written in Zig

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages