Skip to content

SerhiiStets/AVA-chess-engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AVA-chess-engine

AVA is a simple chess engine for lichess.org. You can play against it on lichess.

Algorithm

The bot uses a minimax algorithm with Alpha-Beta Pruning. It recursively searches the game tree to find the best move, cutting off branches that can't improve on the best move already found. Move ordering (captures → checks → quiet moves) is applied before each search to maximise pruning efficiency.

Position evaluation combines material value with piece-square tables, and switches to separate endgame values once both sides have fewer than 3915 points of material remaining. Search depth is scaled dynamically based on remaining clock time (depth 1–4).

Installation

Requirements: Python 3.10+, uv

  1. Clone this repo and install dependencies:
git clone https://github.com/SerhiiStets/AVA-chess-engine.git
cd AVA-chess-engine
uv sync
  1. Clone lichess-bot into the project folder:
git clone https://github.com/ShailChoksi/lichess-bot.git lichess-bot
  1. Copy config.yml.default to config.yml in the lichess-bot/ directory (or use the one already provided):
cp lichess-bot/config.yml.default lichess-bot/config.yml
  1. Set your Lichess OAuth token in lichess-bot/config.yml:
token: "your_token_here"

Generate a token at lichess.org/account/oauth/token with the Bot play permission. The account must be upgraded to a bot account.

Usage

uv run python lichess-bot/lichess-bot.py --config lichess-bot/config.yml -v

The -v flag enables verbose output including engine evaluations. Once running, the bot automatically accepts challenges sent to your bot account.

Contributing

All bugs, feature requests, pull requests, feedback, etc., are welcome. Create an issue

About

A simple chess engine for lichess.org

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages