FrankWalter

From Chessprogramming wiki
Revision as of 09:43, 28 September 2019 by GerdIsenberg (talk | contribs) (Created page with "'''Home * Engines * FrankWalter''' '''FrankWalter''', (Frank Walter, Frank-Walter)<br/> a Chess Engine Communication Protocol compliant :Category:Open...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Home * Engines * FrankWalter

FrankWalter, (Frank Walter, Frank-Walter)
a Chess Engine Communication Protocol compliant open source chess engine by Laurens Winkelhagen, written in Java, licensed under the GPL v3.0. After continuing the development on his old engine, Laurens Winkelhagen published FrankWalter 2.2.0 in November 2018 [1], short before it had its over the board debut at the PT 54 in Leiden.

Features

Board Representation

FrankWalter represents the board using a two-dimensional array of piece bitboards, indexed by color and type, and further has an 8x8 board for a square-centric view. These are all members of a board class along with the usual stuff specifying a chess position, such as side to move, castling rights, en passant target, halfmove clock, and an array of Zobrist keys to detect repetitions along the actual game record and variation. Despite sliding piece attacks are determined by a memory friendly approach of Kindergarten bitboards for files and Magic bitboards for ranks and bishops, FrankWalter keeps attack tables in classical Chess 4.5 style [2], that is two bitboard arrays (ATKFR and ATKTO) indexed by square, While along with keeping bitboards for pinned pieces, this seems an reasonable approach to implement legal move generation, the culprit is the incremental update, in particular using a copy-make stack to copy the 1K attack table not only during make but also back during unmake [3].

Search

Evaluation

Misc

Forum Posts

External Links

Chess Engine

Misc

References

Up one level