Skip to content

qwertyquerty/qchess

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QChess

Simple Alpha Beta UCI Compliant Chess Engine in Python

Currently the strongest Python Chess engine

Running this engine with pypy is heavily recommended

Installation

  • cpython: pip3 install -r requirements.txt
  • pypy: pypy -m pip install -r requirements.txt

Usage

Load qchess.bat into any UCI compliant Chess program and set the working directory to your cloned repository folder

Todo List

  • fully documented
  • UCI compliant
    • plays on time
  • board evaluation
    • piece specific positions
    • game phase tapering
    • mobility
    • will to push
    • pawn structure
      • isolated pawns
      • doubled/tripled pawns
      • passed pawns
      • pawn chains
    • doubled bishops
    • material value
  • minimax search
  • quiescence search
    • delta pruning
  • iterative deepening
  • transposition tables
  • pruning
    • alpha beta pruning
      • move ordering
        • MVV LVA
        • positional changes
        • best move from transposition table
        • retake last moved
        • killer move heuristic
        • countermove heuristic
        • history heuristic
        • static exchange evaluation
    • aspiration windows with gamma
    • null window
    • futility pruning
    • reverse futility pruning
    • principal variance search
    • late move reductions
    • null move reduction
    • scout search or MTD(f)
    • razoring
  • parallel processing
  • selective searching

About

The strongest Python chess engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published