HeavyChess

an UCI compliant open source chess engine written by Chispa author Federico Andrés Corigliano in C++, released in 2007. || toc =Description=
 * Home * Engines * HeavyChess**
 * [[image:HeavyChess.jpg link="http://www.flickr.com/photos/teosaurio/4531534307/in/photostream/"]] ||~ || **HeavyChess**,
 * Heavy Chess ||~ ||^ ||

Board Representation
HeavyChess is a bitboard engine and uses compact rotated bitboards to determine sliding piece attacks. It performs eight byte lookups to count populations, and bitscan by conditional 64k lookups, where the most significant bit on the chess board maps the least significant arithmetical one : code format="cpp" // Devuelve el Most Significant Bit de un Bitboard inline Casilla Bitboards::MSB(const Bitboard &b) { if (b&65535) return static_cast(TablaMSB[b&65535]); if (b&MSBMask1) return static_cast(TablaMSB[(b>>16)&65535]+16); if (b&MSBMask2) return static_cast(TablaMSB[(b>>32)&65535]+32); return static_cast(TablaMSB[b>>48]+48); } code

Search
HeavyChess applies PVS alpha-beta with transposition table and null move pruning, mate theat and check extensions inside a fractional ply iterative deepening framework with aspiration windows.

Evaluation
The evaluation seems not that heavy as the program's name suggests. Beside obligatory, incremental updated material balance, HeavyChess utilizes piece-square tables and considers various piece terms, such as bishop pair, rook on (half) open file, and rook on 7th rank.

=See also=
 * Chispa

=Forum Posts=
 * [|HeavyChess] by Ron Murawski, Winboard Forum, September 09, 2008
 * [|Heavychess] by Mark Mason, CCC, August 09, 2009

=External Links=
 * [|Index of /fedecorigliano/ajedrez/heavychess]
 * [|Index of /chess/engines/Norbert's collection/HeavyChess 0.13 beta/HeavyChess] by Norbert Raimund Leisner, hosted by Kirill Kryukov
 * [|HeavyChess 0.13 beta] in CCRL 40/4

=References= =What links here?= include page="HeavyChess" component="backlinks" limit="20"
 * Up one Level**