Giter Club home page Giter Club logo

sunbird's Introduction

Sunbird

lichess-bullet lichess-blitz lichess-rapid

A UCI chess engine written in CPP.

Play against it here.

Table of Contents

  1. Features
  2. How to Build
  3. Comparison

Features

State

  • 16 bit move [wiki]
  • 80 byte state (I.e. pieces on board, castling rights, EP rights, and hash)
    • Bitboards for pieces [wiki]
    • Zobrist hash [wiki]
  • Make/unmake move through stack [wiki]
    • Make move clones state, then pushes modified state to stack
    • Unmake simply pops from stack
  • Custom move generation
    • Moves for sliding pieces are generated in a piecewise manner from a series of expanding rings.

Search

  • Negamax [wiki]
  • Alpha-Beta Pruning [wiki]
  • Iterative Deepening [wiki]
  • Quiescence Search [wiki]
  • PVS [wiki]
  • Move Ordering
  • Transposition Table [wiki]

Evaluation

  • Material Point Value [wiki]
  • Piece-Square Tables [wiki]
  • Pawn Structure
    • Doubled pawns
    • Passed pawns
  • Tapered by game phase [wiki]

How to Build

Navigate to root folder of project, then run the following to build engine.

mkdir build &&\
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DIGNORE_TEST=true &&\
cmake --build build

The executable can then be found in chess_engine/build/engine/.

Comparison

# PLAYER : RATING POINTS PLAYED (%)
1 Sunbird v1.2.4 : 520.3 666.0 1107 60
2 Sunbird v1.2.3 : 448.1 1242.5 2387 52
3 Sunbird v1.2.2 : 384.1 577.5 1254 46
4 Sunbird v1.2.1 : 302.2 127.0 205 62
5 Sunbird v1.2.0 : 265.2 117.0 205 57
6 Sunbird v1.1.2 : 238.0 109.5 205 53
7 Sunbird v1.1.1 : 221.8 105.0 205 51
8 Sunbird v1.1.0 : 216.4 103.5 205 50
9 Sunbird v1.0.6 : 146.0 83.5 201 42
10 Sunbird v1.0.5 : 44.1 57.5 200 29
11 Sunbird v1.0.4 : 13.6 50.5 200 25
12 Sunbird v1.0.0 : 0.0 47.5 200 24

sunbird's People

Contributors

jmdha avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

sunbird's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.