PieceMeal Chess Bot and Chess Library. This project contains 2 components, the chess programming library, and the chess bot. The core library is fully implemented in C. This is a robust and performant library that has been tested rigorously during the development of my chess bot.
- Board Representation Uses 0x88 board representation and piece lists for fast performance.
- Move Generation A reliable move generation system, handling special moves such as castling and en passent.
- Chess Notation Parsing Integrated chess notation parsing tools.
- Chess Evaluation Functions for both static and dynamic analysis.
- Universal Chess Interface Chess Bot uses the Universal Chess Interface (UCI).
- Added bindings for Golang.
- Merged my chess bot from Chess Bot into the project.
- Replaced build process with a Unity build system
-
Clone the repository:
git clone https://github.com/AlexanderB184/PieceMeal.git cd PieceMeal -
Compile PieceMealLib.c:
cc -c -O3 PieceMealLib.c -o PieceMealLib.o
or
cc -O3 -pthread PieceMealBot.c -o PieceMealBot.exe
-
Link with your project and start building!
-
Cross-Platform Compatibility Full support for Windows and macOS alongside Linux. Biggest Limitation currently is the usage of
time.handpthread. -
Comprehensive Documentation Provide detailed guides and API references for users.
-
Pawn Structure Evaluation and Pawn Hashing see