Home
SharpChess is a
free,
open-source, computer application that enables you to play
chess against the computer.
SharpChess also uses the
Chess Engine Communication Protocol, and can therefore play against other chess engines using
WinBoard or
Arena. SharpChess has competed in computer vs. computer chess tournaments (
WBEC and
ChessWar). Developers are invited to participate in the
open-source SharpChess project at GitHub to help improve SharpChess's chess-playing powers!
SharpChess has been wholly developed using the
C# (C Sharp) programming language, and runs on Microsoft Windows and
Mono.
News
- 15 Jan 2012 - Version 2.6.9 released for download.
- 12 Dec 2011 - SharpChess open source project (and source code) is now being managed at GitHub.com.
- 20 Oct 2011 - I am proud to annouce that SharpChess is being used by Microsoft CLR JIT Team as a benchmarking tool to "drive/validate some future set of new JIT optimizations" in the DotNET framework!
- 10 July 2011 - Sharpchess(2) competes in the ChessWar Edition 8 Tournament where its ELO is rated at 1572.
- 13 Jan 2007 - SharpChess runs on Mono. See screenshots on the Mono website.
Game features
- Play the against computer opponent.
- See move-analysis tree of all moves considered by computer.
- 16 preset difficultly levels, or specify custom settings using combinations of Move Time, Maximum Search Depth, and Pondering.
- Graphical chess board.
- Helpful high-lighting of legal chess moves, when clicking on a piece.
- Real-time chess clocks.
- Move history displayed.
- Undo/Redo moves.
- Load/Save chess games during play.
- Replay your saved games.
- Paste FEN positions from the clipboard.
- See real-time computer thinking.
- Stalemate and three-move-repetition detection.
- Flip board to play from black or white's perspective.
Chess engine features
- WinBoard compatible.
- Alpha-Beta search with Pricipal-variation (PVS).
- Quiescience Search.
- Iterative Deepening.
- Hashtable (transposition table) using Zobrist Keys. (Separate King-Pawn & In-Check hashtables).
- Adaptive Null-Nove Forward Pruning.
- 0x88 board representation.
- Move ordering using Hash table, MVV/LVA, SEE, 2-slot Killer-Move, History Heuristic.
- Search Extensions (Check Evasion, Single response, Pawn push to 7th rank, Re-capture of same-value piece).
- Late Move Reductions.
- Futility Pruning.
- Quiescence Search (Re-Capture, Pawn-promotion, Enprise piece, pieces attacked by pieces of lower value).
- Pondering (thinking during opponent's time).
- "n moves in x minutes" Move time-allocation algorithm.
- Opening book containing over 1300 varied opening positions.
Programming features
- A well-designed, and hopefully easy-to-understand, object-model that will enable other developers to quickly get involved in the project.
- Find out more about chess programming at the excellent chessprogramming.wikispaces.com
I am very interested in hearing any feedback you may have about SharpChess: queries, bugs, enhancement ideas, or savegame files of any games you have played. Please
contact me (Peter Hughes) at
info@sharpchess.com.