Skip to content

seabo/seaborg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Seaborg

Seaborg is a chess engine written from scratch in Rust. It isn't based on any existing engine, although the move generation scheme is heavily inspired by the approach used in Pleco.

Past and future development

Seaborg currently has minimal built-in understanding of chess strategy - the evaluation function is simple material counting. I've been reluctant to spend time working on something more complex than that as I'd like to incorporate a neural net-based approach in the future.

Seaborg implements the UCI protocol, and can sometimes be found playing on Lichess. He usually confounds opponents by playing bizarre opening plans like 1. ...a6, 2. ...b6, 3. ...c6 etc. in every game.

With no ability to differentiate between moves so early in the game (when material remains balanced in almost every variation to the horizon), every move looks equally good to Seaborg, so he selects the first one he sees..! Later in the game, Seaborg is often able to crush weaker opponents tactically, even after emerging from the opening with a horrible position.

During the initial development, I wanted to build a solid internal board representation, fast move generation, a variety of standard search features, including transposition tables, as well as the UCI protocol. All of this provides a base to continue developing the engine and start adding more positional awareness.

Features

Future features

The main future development direction is to improve static evaluation at leaf nodes using a neural net approach.

About

A chess engine, built from scratch in Rust

Topics

Resources

Stars

Watchers

Forks