Skip to content

Chess engine implemented from scratch in C++. Made in the course TNM095 Artificial Intelligence for Interactive Media at Linköping University.

License

Notifications You must be signed in to change notification settings

FredrikErikJohansson/chess-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chess-ai

Chess engine implemented from scratch in C++. The associated paper "Chess engine with an integrated AI" contains the theory and how I implemented the engine.

Board

Table of contents

Features

  • Bitboards
    • Magic bitboards
  • Move generator
    • Make/unmake move
    • Castle
    • Promotion
  • Search
    • Negamax with alpha-beta pruning
    • Quiescence search
  • Evaluation
    • Material
    • Positional

Requirements

  • UTF-8 compatible shell
  • C++11 or better

Getting started

Linux

  git clone https://github.com/FredrikErikJohansson/chess-ai.git
  cd chess-ai
  make
  ./chess

Windows

  git clone https://github.com/FredrikErikJohansson/chess-ai.git

Include the src/ directory into a Visual Sudio project and run from the IDE. You may have to tweak some compiler flags to get optimal performance.

Usage

The engine is predefind with values for good performance. To make a move from e2 to e4, type e2e4.

About

Chess engine implemented from scratch in C++. Made in the course TNM095 Artificial Intelligence for Interactive Media at Linköping University.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages