Skip to content
/ mufasa Public

UCI compatible bitboard chess engine written in C++

License

Notifications You must be signed in to change notification settings

kanin9/mufasa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mufasa


Chess engine written in C++

GitHub Release GitHub Actions Workflow Status

Overview

Mufasa (wordplay on soundalike phrase "move faster") is a fast single threaded bitboard chess engine written in C++17 with the help of CMake and GTest framework.

Mufasa's move generator can traverse over 80,000,000 nodes (moves) per second during bulk counted perft.

Compilation

Make sure you have C++17 and CMake installed on your desktop.

Clone the repository and run

    cmake . -DCMAKE_BUILD_TYPE=Release ; cmake --build .

Testing

If you want to compile the binary with tests run

    cmake . -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON ; cmake --build .

Contributing

Reporting issues

If you have an issue with move generation, search results or compilation feel free to report it on the issue tracker.

Submitting pull requests

If you want to submit a pull request make sure you provide a clean description of your addition and a test suite if applicable.

Features

Move generation

  • Bitboard representation
  • Magic tables for sliding pieces
  • Precomputed tables for other pieces

Search

  • Negamax with A/B pruning
  • Quiescence search
  • Transposition tables
  • Iterative deepening
  • Aspiration windows
  • TT-move ordering
  • MVV-LVA ordering

Evaluation

  • Material counting
  • Piece Square Tables

Misc

  • Gamephase based time management

Inspirations

License

Mufasa uses GNU GPLv3, which means you can do anything with the project, except distributing closed source versions.

Sirgaliyev Alikhan (C)