pChess is a simple pedagogical chess application for Mac OS X, with clearly written and heavily commented source code.
Open-licensing terms mean that you are free to use, extend, and explore chess programming.
Shows the evolution from a literal 8x8 board representation, to a [0..63] array, which is easier than starting off trying to grok complex bitboard code.
pChess can also be used as a simple and beautiful FEN viewer for eMailing games.
Here are some key features of "pChess":
· Provides a basic NegaMax Recursive Engine with Alpha-Beta pruning, Move Ordering, Quiescence Search, Itterative Deepning, and a Hash Table.
· Playing strength is roughly 1500 ELO (USCF class D player).
· The move generator runs at a modest rate of 380,000 nodes/second.
· Evals: Pawn Tropism; Doubled; Passed Pawns; Dynamic King Tropism, Knight Tropism, Doubled Bishops Bonus.
· Audio Brain: allows you to hear the moves as they're being played.
· Visual Brain: allows you to see the searches as they're progressing.
· Initialization to Classic or Fischer Random setups.
· Provides an ECO-based Opening Book with over 10,000 openings.
· Standard Algebraic Notation (SAN) Supported. Use . in front of move.
· FEN copy/paste allows you to save and eMail games.
· The board is unconstrained: move pieces as on a real board.
· Legal move generation, including: Pawn-Queen Promotion, enPassant, Castling (disallowing Castling out of, and through check).
· Drag and Drop support allows movement with the mouse.
· Interrupt Search with ESC key, or set with time command.
· Use < and > buttons to move through game history, click • to set.
· Simple Board Editing with console Entry.
· Save and Load games as pseudo .pgn (each move on a new line).
· Speech allows use without looking at the screen.
What's New in This Release: [ read full changelog ]
· UCI Engine Support (peaBrain is the engine inside pChess).
· Fixed a bug which caused peaBrain to crash after 99 moves (new max = 512).
· Added UCI Time Controls: Supported commands are: wtime, btime, movestogo, movetime,
· depth, and infinite.
· UCI Opening Book: Include pBook.txt in the engine folder, and enable UCI option
· Book = true to enable book openings for the engine.
· Better UCI Info: Hash Percent and Move Score are now scaled more reasonably, and
· Nodes Per Second is now sent to the GUI.
· Smaller Memory: Default Hash Table has been reduced from 256Mb down to 64Mb. This
· substantially reduces memory usage (from 280Mb > 80Mb) without incurring
· significant loss in speed.
· Added Ghosted (i.e. uncaptured) pieces to the captured pieces display in the GUI.