/RaccoonChessSigma

UCI Chess Engine, AI, and Library

Primary LanguageTypeScriptMIT LicenseMIT

RaccoonChessSigma


♔ ♕ ♖ ♗ ♘ ♙
TypeScript Chess Library and Engine

GitHub Workflow Status (branch) Coverage Status License: MIT GitHub release (latest by date including pre-releases) TypeScript tested with jest

RaccoonChessSigma is a free, powerful chess engine written in TypeScript. It is primarily inspired by Vice, Hakkapeliitta, Ethereal, Stockfish, LeelaChessZero, and a number of open source projects and aims to serve as both reference for other authors and a high-end engine.

RaccoonChessSigma evaluates chess positions using either of the following evaluation algorithm:

  • raccoon: uses the classical evaluation based on handcrafted terms. It runs efficiently on most CPU architecture
  • raccoonZero: uses a deep convolutional neural network(NN)

By following the Getting Started Guide, a user can utilize either of the engines as a UCI-compliant Chess Engine or as an extensive JavaScript Chess Library.

Table of Contents

Development

TODO

Architecture

To understand project, it's imperative you understand RaccoonChessSigma architecture.

Versioning

RaccoonChessSigma uses x.y.z where x, y, and z are integers representing major.minor.patch.

  • Major is incremented when the release contains breaking changes, all other numbers are set to 0. That is, from x.y.z to {x+1}.0.0.
  • Minor is incremented when the release contains new non-breaking features, patch is set to 0. That is, from x.y.z to x.{y+1}.0.
  • Patch is incremented when the release only contains bugfixes and very minor/trivial features considered necessary. That is, from x.y.z to x.y.{z+1}.

Please refer to sematic versioning for more information.