aconcagua

command module
v0.0.0-...-b290b46 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2024 License: MIT Imports: 1 Imported by: 0

README

Aconcagua

Chess engine in go - WIP

Setup:

git clone https://github.com/gabtar/aconcagua
cd aconcagua
go build .

Builds an aconcagua executable, a uci compatible engine that can be used with a gui like arena gui or pychess

TODO:
Move generation:
  • Try to improve make and unmake move
  • Add an specific function to get only captures/checks moves for quiescent
  • Use a move list/array, so as to get rid of 'appends' in moves(it should improve search performance)
Evaluation:
  • Refactor to use PeSTO evaluation function(tapered eval)
  • Aspiration windows
  • Principal variation search
  • Quiescent search
  • Limit quiescent search (needs further work!)
  • Add checkmate detection
  • Null move pruning
  • Improve move ordering
    • Killer moves
    • History heruistic
    • Improve MVV-LVA
  • Detect threefold repetition - use zobrist hash
  • Refactor Transposition table
Engine
  • Create an engine struct with main parameters(current best move, depth, etc) - Add search state
  • Add Search as method to engine
  • Improve error handling in uci commands (eg. invalid fen, etc)
  • Add/improve remaining uci commands

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Pieces movements in a chess board
Pieces movements in a chess board

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL