Skip to content

ppipelin/radiance

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

  • Fancy Magic Bitboards
  • Staged Move Generation
  • Fancy Magic Bitboards For Sliders
  • Transposition Table Move Ordering
  • Principal Variation Move Ordering
  • MVV-LVA
  • Chess960 support

Search

Evaluation

Versions tournament

Time control: 120+1

CCRL blitz benchmark.

Rank Name CCRL Elo + - games score oppo. draws
1 radiance_4.1 1733 47 43 322 88% 1343 10%
2 radiance_4.0.1 1591 10 10 9618 91% 1059 6%
3 radiance_3.5 1326 1326 8 8 9616 70% 1092 11%
4 radiance_3.4 1300 1302 8 8 9616 68% 1095 11%
5 radiance_3.3 1250 8 7 9615 63% 1101 11%
6 radiance_3.2 1239 8 7 9615 62% 1103 12%
7 radiance_3.1.1 1116 1070 8 8 9552 45% 1120 9%
8 radiance_3.0.1 793 9 9 9552 20% 1155 9%
9 radiance_2.4 866 751 9 9 9552 16% 1160 10%
10 radiance_2.3 865 707 9 9 9552 13% 1166 9%

Getting started

Compile and run

zig build run -relase=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 <id> [value <x>]
  • position [fen <string> | startpos | kiwi | lasker] [moves <string>...]
  • eval
  • go [movetime <int> | [wtime <int>] [btime <int>] [winc <int>] [binc <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

Languages