Thanks to visit codestin.com
Credit goes to github.com

Skip to content

AdronVrona/VirgaCE-

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VirgaCE

VirgaCE is a UCI-compliant chess engine written in C++14. The motivation for writing it came from a passion for chess that was sparked during the COVID-19 quarantine.

Features

Board Representation:

  • 0x88 mailbox board

Search:

  • Principal Variation Search (negamax algorithm)
  • Iterative Deepening
  • Transposition Table
    • Zobrist Hashing
  • Move Ordering
    • Hash move priority
    • Killer move heuristic
    • MVV/LVA capture sorting
  • Pruning
    • Futility Pruning
    • Reverse Futility Pruning
    • Null Move Pruning
    • Limited Razoring
    • Mate Distance Pruning
  • Late Move Reductions
  • Quiescense search
    • Delta pruning

Evaluation:

  • Material
  • Piece square tables
  • Mobility
  • King safety

For the Far Future

  • Change board representation to bitboards
  • SSE and staged move generation
  • Create multi-threading framework for parallel search
  • Syzygy tablebases
  • Add support for NNUE

Usage

VirgaCE is best used with an existing chess GUI that supports the UCI framework. Two popular choices include CuteChess and Arena. The program can be used solely through the command line, although intimate knowledge of the UCI protocol is likely required.

Acknowledgements

I would have been spinning my wheels with this project if it weren't for the assistance of many different communities and individuals, including:

About

UCI chess engine written in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.5%
  • C 2.5%