Skip to content

iannathan-k/scoria

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

163 Commits
 
 
 
 
 
 

Repository files navigation

Overview

Introducing Scoria, an open source uci engine programmed completely in Java, with an estimated rating of approximately ~2000 elo.

Compiling

git clone https://github.com/iannathan-k/scoria.git
cd scoria
javac src/Main.java
java src/Main

Operation

Scoria follows UCI (Universal Chess Interface) protocol for all games, communication and notation. It does not follow standard Algebraic Notation unlike most chess websites.

However, Scoria does not include any form of GUI (Graphical User Interface) and purely operates on the command line. It is recommended to use compatible program to display the board and play, such as CuteChess, SCID vs. PC or Arena.

Supported Options

Debug Log File
~ Path to the file should be specified

Set Move Overhead
~ Any time within 0 to 1000 milliseconds

Ponder
~ Ability to think during opponents time

Clear Hash Table
~ Clear all entries in the hash table

Hash
~ Maximum transposition table size in Megabytes

Rating Estimate

An estimation of Scoria's rating was determined by playing against the different Stockfish 17.1 skill levels over a total of 200 games, with 1 second per move for each side. The results were run through Bayeselo to determine a relative elo rating.

Rank Name             Elo    +    - games score oppo. draws
   1 master-skill-5   142   70   69    50   52%   127   12%
   2 Scoria_v3.8.49   127   38   37   200   70%   -32   13%
   3 master-skill-4    17   68   71    50   35%   127   18%
   4 master-skill-3   -85   71   80    50   22%   127   16%
   5 master-skill-2  -201   83  105    50   13%   127    6%

The results were adjusted relative to the official Skill Level Ratings provided by Stockfish, which itself was calibrated against CCRL.

   # PLAYER             :  RATING   ERROR   PLAYED
   1 master-skill-5     :  2203.7    25.3     5422
   2 Scoria_v3.8.49     :  2028.1   126.1      200
   3 master-skill-4     :  1922.9    25.9     5399
   4 master-skill-3     :  1742.3    27.8     4439
   5 master-skill-2     :  1608.4    29.4     4389

Disclaimers

Scoria does not support the 50 Move Rule which states that 50 moves without any pawn move or capture will result in a draw. As well as underpromotion which means promoting to a knight, bishop or rook for both the player and itself. All promotions are automatically assumed to be to a queen.

Java 14+ is required to compile and execute Scoria, due to usage of the newer Switch Expressions ("case L ->" Labels) not supported by older Java versions.

Static evaluation of board positions are done using an HCE (Handcrafted Evaluation), which accounts for piece values, positions and mobility. There is no use of NNUE (Efficiently Updatable Neural Network).

Ian Nathan Kusmiantoro, 2025

About

An open-source uci chess engine, designed and programmed completely in Java.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages