Skip to content

AlexanderB184/PieceMeal

Repository files navigation

PieceMeal v1.2.0

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.

Key Features

  • 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).

Whats New in v1.2.0

  • Added bindings for Golang.
  • Merged my chess bot from Chess Bot into the project.
  • Replaced build process with a Unity build system

Getting Started

  1. Clone the repository:

    git clone https://github.com/AlexanderB184/PieceMeal.git
    cd PieceMeal
  2. Compile PieceMealLib.c:

    cc -c -O3 PieceMealLib.c -o PieceMealLib.o

    or

    cc -O3 -pthread PieceMealBot.c -o PieceMealBot.exe
  3. Link with your project and start building!

Future Plans

  • Cross-Platform Compatibility Full support for Windows and macOS alongside Linux. Biggest Limitation currently is the usage of time.h and pthread.

  • Comprehensive Documentation Provide detailed guides and API references for users.

  • Pawn Structure Evaluation and Pawn Hashing see

About

A chess bot and chess library written in C using piece lists and 0x88 boards.

Resources

License

Stars

Watchers

Forks

Packages

No packages published