There are no reviews yet. Be the first to send feedback to the community and the maintainers!
DONNA Donna is experimental chess engine implemented in Go. Donna comes with interactive command line shell and supports standard UCI (universal chess interface) protocol. Its technical features include: Data Structures - Magic bitboards - Transposition table - Material imbalance table - Pawn cache Move Generation - All possible and all valid moves - Captures and pawn promotions - Checks and check evasions Search - Root, tree, and quiescence searches - Aspiration windows - Iterative deepening - Search depth extensions - Alpha/beta pruning - Mate distance pruning - Razoring - Futility margin pruning - Null move pruning - Late move reduction - Delta pruning for captures - Good and killer move heuristics - Insufficient material and repetition detection Position Evaluation - Piece/square bonuses - Material with imbalance adjustment - King safety and pawn shield quality - Castling rights - Piece mobility - Control of the center - Threats and hanging pieces - Passed, isolated, doubled, and backwards pawns - Trapped rooks and bishops - Known and lesser known endgames - Bitbase for King + Pawn vs. King endgames Game Controls - Maximum search depth - Time to make a move - Time control for certain number of moves - Time increment Miscellaneous - UCI protocol support - Interactive readโevalโprint loop (REPL) - Polyglot opening books - Go test suite with 300+ tests - Donna Chess Format to define chess positions in human-readable way DOWNLOADS The latest versions of Donna executables are available for download at http://donnachess.github.io 64-bit builds are provided for Windows, Mac OS X, Linux, and FreeBSD. BUILDING FROM SOURCE To build Donna you will need Go v1.3 or later installed on your system (see http://golang.org/dl/). From Donna source directory run "make" or "go build" command: $ go build -o ./bin/donna -gcflags -B github.com/michaeldv/donna/cmd/donna USING DONNA Donna chess engine can be used with any chess GUI software that supports UCI protocol. You can also launch Donna as standalone command-line program and play against it in interactive mode: $ ./donna -i Donna v4.1 Copyright (c) 2014-2018 by Michael Dvorkin. All Rights Reserved. Type ? for help. donna> Donna supports Polyglot chess opening books. Free opening books are available for download at https://github.com/michaeldv/donna_opening_books. To connect the opening book set DONNA_BOOK environment variable: $ export DONNA_BOOK=~/chess/books/gm2001.bin STRENGTH Donna's chess ratings are available at Computer Chess Rating Lists site at http://www.computerchess.org.uk/ccrl/4040/cgi/engine_details.cgi?eng=Donna%201.0%2064-bit THANK YOU! Donna stands on the shoulders of the giants and it would never have been possible without them. My gratitude goes to: - Aaron Becker, Daydreamer - Fabien Letouzey, Senpai - Igor Korshunov, Murka - Jon Dart, Arasan - Steve Maughan, Maverick - Tom Kerrigan, TSCP - Tord Romstad, Marco Costalba, and Joona Kiiski, Stockfish - Vadim Demichev, Gull - Vladimir Medvedev, GreKo Special thanks goes to my old time buddy grandmaster Eduardas Rozentalis who inspired me to develop a chess engine. DEDICATION Donna chess engine is dedicated to Lithuanian grandmaster Donatas Lapienis, the man who taught me how to play chess, among other things. In the mid 1980's (pre-computer era), Donatas was the highest ranking correspondence chess player in the world with ELO rating of 2715. LICENSE Copyright (c) 2014-2018 Michael Dvorkin Donna is freely distributable under the terms of MIT license. I am making my contributions/submissions to this project solely in my personal capacity and am not conveying any rights to any intellectual property of any third parties.
pit
The project manager from hell (integrates with Git)market_beat
Gem to fetch up-to-date stock quotes and other market datagabbler
Gab-bler (noun) - rapid, unintelligible talkante
Esoteric programming language where all you've got is a deck of cardsawesome_print_motion
awesome_print gem for RubyMotioncrm_web_to_lead
Sample web-to-lead capture plugin for Fat Free CRMunbelievable
quickie
In-place testing of Ruby codefat_free_crm
Fat Free CRM+donna_opening_books
Free chess opening books for use with the Donna chess enginecrm_highrise_importer
Import Highrise data to Fat Free CRMawesome_print
crm_sample_plugin
Sample callback hook plugin for Fat Free CRMcrm_tags
Tags plugin for Fat Free CRMcrm_sample_tabs
Sample Tabs plugin for Fat Free CRMcacherl
Erlang version of memcached with data persistence (Google code mirror)mop
donna_nim
Donna chess engine ported to Nimcrm_categorization
Categorization Plugin for FatFreeCrmerlang_faker
Erlang port of Fast Faker gemswift_donna
Donna Chess Engine ported to Swiftquickie_motion
Quick and easy testing of RubyMotion codemaverick-1.5-osx
Maverick v1.5 port to OSX. See http://www.chessprogramming.net/downloads/ for details.donna_vista
Donna Chess Engine ported to CLove Open Source and this site? Check out how you can help us