aconcagua

command module
v0.0.0-...-4c31ed0 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 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:
  • Add a makefile
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 (maybe by time/nodes...)
  • Improve move ordering
    • Killer moves
    • History heruistic
    • Improve MVV-LVA
  • Add checkmate, stealmate, etc detection while searching
  • Detect threefold repetition - use zobrist hash
  • Refactor Transposition table
Engine
  • Create an engine struct with main parameters(current best move, depth, etc)
  • 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
engine package handles uci commands
engine package handles uci commands
evaluation contains all functions related to position evaluation in the engine
evaluation contains all functions related to position evaluation in the engine

Jump to

Keyboard shortcuts

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