Wing is a free Winboard compatible chess
engine, written in C++ for Windows
(using Microsoft Visual C++ 6.0). It is distributed
without any warranty. You can also run Wing using
Arena as a graphical interface.
For chess programming questions, see the links at the left of
this page. These are excellent online resources that have helped me a lot in
writing & improving my own chess engine.
You can see Wing's latest ICC rating
Wing is a regular visitor at
ICC and FICS, where you can
play against the latest
If you have questions or want to report a bug, you can email the
----------------- version history ------------------
Version 2.0a - November 2005 (Download)
A new version series! I think the increased playing strength justifies this. History based
reduction/verification is added. Two transposition tables are used now (with
2 replacement schemes, 'depth preferred' + 'replace always'). I
tried internal iterative deepening (IID), but this didn't yield many good
● 11 ply search for the first move (e2-e4): 7.5 seconds
(4,138,000 nodes searched)
● FICS rating: ~2190.
Version 1.6a - November 2005
Speed improvements by eliminating the use of C++ vectors in move generation
and search routines; they proved to result in
a significant penalty, search speed (knods/s) went up by at least 25%. The pawn evaluation is
Version 1.5 - October 2005
SEE is implemented, the pawn evaluation is improved.
Version 1.4 - May 2005
First version without source code. Repaired 'long games crash'. Improved
time control to prevent loosing on time in very fast games. All games are
saved in a pgn-file. Removed a small bug in the display of PV's during
pondering. Analyze mode added, book and hint command added (Winboard-mode).
This version reached the finals of WBEC 5th Division, placed 13/16 (10th
FICS rating: ~2140.
Version 1.3 - February 2005
Move ordering and evaluation is improved. Hash table probe/store is
improved, hopefully resulting in a better and stabler search. Search
extensions implemented. Pondering implemented. The program is starting to become more competetive now, so
this will be the last version with the source code included.
Version 1.2 - January 2005
Opening book support (a small opening book is included in this release,
larger books can be downloaded separately). Resign and accept draw
added. Small improvements to the evaluation function. Added a number of
incremental terms in [un]makeMove. Changed time control to speed up the
opening moves in long games. The inifile-name can now be supplied as command
line parameter, making working with different configurations (PC/laptop) a
lot easier. This version reached the finals of WBEC 5th Division, placed
15/16 (9th Edition).
FICS rating: ~2100.
Version 1.1 - November 2004
Rewrote most console/xboard I/O to debug and make maintenance of this part
of the code a little easier. Added initialization-file support. Game end
detection improved (eg when winboard opponent resigns). Search/Evaluation is
still very basic. No pondering.
Version 1.0 - October 2004
First version of the program, not very stable yet. Without pondering,
basic alphabeta/quiescence search, no opening book, very basic evaluation.
Main transposition table and pawn/king transposition table. The endgame
heuristics is implemented in a very simple way by trying to drive the
opponent king to one of the corners.
Performance on an
● Search speed: ~750 knodes/second.
● 8 ply search for the first move (e2-e4): 3.7 seconds.
FICS rating: ~2000.