Skip to content

An automated chess bot which makes moves by alpha-beta pruning. It also uses an opening book and endgame tablebase

License

Notifications You must be signed in to change notification settings

range123/RangeBot

Repository files navigation

RangeBot

A Chess bot based on Alpha-beta pruning using heuristics, written in python.
Makes use of a basic opening book which covers most of the common opening moves and It uses the 7-Man syzygy endgame tablebases

Performance

  • Has a peak rating of 1600 elo on lichess.org
  • Beats stockfish level 5 consistently on lichess.org

Play Against this bot

  • Issue a challenge on lichess RangeBot
  • The bot is pretty slow so make sure to issue challenges with rapid or classical time controls.

Installation

  • Clone this repository.
  • Create a python virtual environment and install the requirements
$ virtualenv .venv -p python
  • Activate the environment and install the requirements
$ pip install -r requirements.txt
  • Add lichess token in config.yml
  • Then run the bot using
$ python range-bot.py

Create your own Bot

  • Clone the lichess-bot repository.
  • Create your own engine or download some known chess engine.
  • Proceed by following the instructions in the repository.

Future Improvements

  • To improve performance of the bot it can be run on pypy3.6.
  • Using a transposition table to avoid redundant evaluation.
  • Add tecniques to avoid the Horizon Effect.
  • Using "killer Move" ordering during search.

Noteable Games

About

An automated chess bot which makes moves by alpha-beta pruning. It also uses an opening book and endgame tablebase

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages