Skip to content

AnshRoutray/ChessEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChessEngine

Changing Engine Design:

(SideNote: New Move Generation technique improved time taken to generate legal moves from starting position from 252006ns to 3083 ns, that is a 98.8% speed improvement!!)

  • Redesigning the move generation by using bitboards instead of 2D vectors reducing dynamic memory allocation and making move generation more cache friendly. (Status: Completed)

  • Using bitwise operations to simplify and optimize move generation as compared to array operations and queries. (Status: Completed)

  • Using Pre Computed lookup tables using hardware instructons like PEXT and PDEP as provided by the Intel x86 architecture to ensure O(1) access of sliding moves for bishops, queens, rooks, and knights. (Status: Completed)

  • Added playMove and undoMove functions to ensure moves can be undone and thus making it possible to iterate through the game tree recursively using pass by reference (only one board object) instead of pass by value, greatly decreasing stack overhead. (Status: Completed)

  • Added proper Unit tests for effective debugging using CMake. (Status: Completed)

  • Redesigning search function to accommodate the new move generation methods. (Status: Work in Progress)

  • Adding SIMD (Single Instruction, Multiple Data) to move generation to ensure move generation is even faster (Status: To Be Done)

  • Adding OpenMP cpu parellization to recursive search of the game tree evaluating multiple nodes at once. (Status: To Be Done)

Description: FrostWeb is an open source chess engine that plays at an intermediate level. Can beat bots rated around 1000-1200 on chess.com

About

A Chess Engine that plays at an Intermediate Level (C++, Python)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors