Skip to content

Chess engine in c++ based on bitboards and magic bitboards

Notifications You must be signed in to change notification settings

pietraldo/chess_engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chess_engine

Introduction

I'm building chess engine in c++. Engine is based on Bitboards and MagicBitboards. It uses alpha-beta pruning and quisance search

Instalation

Windows

On Windows you can just open chess_engine.sln in Visual Studio and compile it.

Linux

  1. Clone repository
 git clone https://github.com/pietraldo/chess_engine.git
  1. Go to folder
cd chess_engine
cd chess_engine
  1. Compile
g++ -O3 -march=native -o kuba_engine prog.cpp Game.cpp Functions.cpp MoveGeneration.cpp UciTranslator.cpp variables.cpp MagicBitboards.cpp GamePrepare.cpp Evaluation.cpp -lm
  1. Turn on Engine
./kuba_engine

Usage

I have implemented so far few UCI commends:

Setting position

Starting position

position startpos

Fen position

position fen x

Finding how many are position on some depth

go perft x

Finding best move

go depth x

Roadmap

Here's the plan:

  • Figure out the magic numbers
  • Get the move generation working
  • Test the move generation
  • Speed up the move generation
  • Create a way to evaluate the game state
  • Build a function to find the best move
  • Meet the UCI standards for chess engines
  • Make Transposible Table
  • Make Multithreading

About

Chess engine in c++ based on bitboards and magic bitboards

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages