Skip to content

Latest commit

 

History

322 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

Yayo (Version 0.5 - BETA)

The C++ (and much improved) rewrite of my previous chess engine attempt. I’m aiming for ~2000-2200 ELO in the beta release, which is when I’ll release the source.

Building and running

  1. git clone https://github.com/am5083/yayo
  2. mkdir build
  3. cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .
  4. ./yayo

Notes

yayo is far from done, so bugs are to be expected. yayo can communicate with GUIs using the UCI protocol. You can also interact with yayo in the terminal by entering UCI commands manually.

Documentation for the UCI protocol can be found here: http://wbec-ridderkerk.nl/html/UCIProtocol.html.

Features

Board Representation

  • Bitboards

Search

  • Alpha-Beta Pruning
  • Quiescence Search
  • Null Move Pruning
  • Static Null Move Pruning
  • Razoring
  • Futility/Delta Pruning
  • Butterfly Heuristic
  • Late Move Pruning
  • Check Extensions
  • Iterative Deepening
  • Killer Heuristic
  • History Heuristic
  • Transposition Table
    • Zobrist Hashing
  • (TODO) Parallel Search
  • Aspiration Windows
  • Late Move Reductions
  • Move Ordering/Sorting
    • MVV/LVA
    • Static Exchange Evaluation

Evaluation

  • Piece/Square Tables
  • Mobility
  • Pawn Structure
    • Passed Pawns
    • Doubled Pawns
    • Backwards Pawns
    • Isolated Pawns
  • Tempo
  • Tapered Evaluation
  • King Safety (currently excluded)
  • Texel Tuning

About

The C++ rewrite of my C chess engine

Resources

Stars

1 star

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages