Table of Contents

Winboard and Chess Engines FAQ

Section A - Introduction

Detailed contents

Back to: Winboard FAQ, Index; Forward to: Winboard FAQ, Part B


Introduction

[A.1] What is this Faq about?

Winboard is a Graphical User Interface for Chess, usually referred to as a Chess GUI. This Faq guides first-time users in setting up Winboard chess engines like Crafty, Spike, Frenzee, Ruffian, etc. to run on one computer in Winboard. This document does not provide information on the following:

For answering first-time user questions, I recommend reading Edward Collins Tribute to Winboard.

Linux

I have no experience using Xboard under Linux, but it seems very similar to Winboard. Volker Pittlik, in a post to the Winboard Forum on May 26, 2008 said this:

Using XBoard, if you are new to Linux, may look a bit strange at first. If you use the package management system of your Linux distribution (what is recommended) it runs totally unconfigured and will most likely crash. Reasons are easy to find: GNUChess is missing and XBoard starts without any configuration. That means a gigantic board will be displayed without much use. However if you once get the idea how to handle that, it is easy and fast to change engines, size, time control, and so on.
Apple Mac

This guide seems helpful to Mac users. Mac users should be able to run XBoard as well.

Third-Party Extensions

For a discussion of the various third party extensions to Winboard like Novag Universal Chess Board, Saitek Kasparov PC Autoboard, etc you can't do better than going to the Extension and Drivers Section of Tim Mann's Winboard page and following the links there.

Running Chess Engines under Other Protocols and GUIs

There is a list of the protocols supported in other chess GUIs (including Winboard protocol). Also, the Winboard FAQ, Part E covers Winboard engines running under other chess GUIs. Arena, a free interface for Winboard/UCI engines, has a basic FAQ written by Aaron Tay.

ChessBase

Lastly, the answers to all ChessBase-related questions can probably be found at Steve Lopez's electronic T-notes or in the company's 'Support' section.

[A.2] What is Winboard/Xboard and where can I download it?

What is Winboard?

Xboard is a graphical user interface for chess. It displays a chess board on the screen, accepts moves made with the mouse, and loads and saves games in Portable Game Notation (PGN). XBoard is free software. It serves as a front-end for many different chess services, including: chess engines that will run on your machine and play a game against you or help you analyze, such as GNU Chess and Crafty.
– Tim Mann's Xboard/Winboard FAQ

Find out what Winboard can and cannot do on the Capabilities of Winboard page.

Where can I download it?

The old, outdated Winboard 4.27/Xboard can be downloaded directly from Tim Mann's page. The latest official source is here. If it's down, you can download binaries from the following mirror site.

The 'official' Winboard has fallen behind in features. The improved version below is the current [10/2008] recommended version:

Winboard 4.3.14 is the defacto Winboard standard version. Thanks to HG Muller for continuing the work to make it even better!

[A.3] What is the difference between Winboard and Xboard? What are the various modifications of Winboard available? Does using a different version of Winboard cause engine incompatibilities?

The difference between Winboard and Xboard is simple. Winboard runs on Windows, and Xboard runs on Unix/Linux systems.

The current [05/2008] version of Winboard is 4.2.7. Winboard 4.2.0 and up supports Winboard/Xboard protocol 2. The current version should work with all Winboard engines – even those that have not implemented the new protocol. It should be noted that the official Tim Mann Winboard program has fallen behind in terms of features and stability. It is preferable to use Winboard-X or Winboard_H (see below or Section [A.2], above).

For those interested in older, non-stable Winboard versions, please go here.

Daniel Mehrmann was once one of the most active Winboard developers. He once compiled the latest CVS snapshots of Winboard including features like using an engine for analyzing an observed game on chess servers, mousewheel support, and fixing of various bugs. His work has been incorporated here.

Tim Mann also maintains a list of patches that add various functionalities that have not being merged into the main Winboard/Xboard.

Some other notable modifications include:

[A.4] What are Winboard engines? How many Winboard engines are there?

Understanding the concept of Winboard chess engines requires imagining a complete chess program as consisting of two parts. The first part is the chess engine or “brain” which is the actual chess-playing portion that decides on what move to make. The second part consists of the user interface, which displays the board, keeps track of moves, and other housekeeping options.

Winboard serves the latter function for many chess engines written by different programmers mainly because their programmers find the building of a user interface less interesting than the actual challenge of building a program that can play high level chess. For the end user, depending on what Winboard engine is loaded up, he will get to spar against computer chess opponents of varying styles and strengths depending on the skill of the chess engine programmer.

Note: for many chess engines like Crafty you can actually run the program in console mode without Winboard, but this results in a non-user friendly interface where you have to manually type moves in (e2e4) and only a ASCII/text board is available, etc. Other engines like Arasan, Bringer, Comet, Green Light Chess, etc. are available in two versions. A Winboard version and another that comes with its own graphical interface. The latter might be a better choice if you don't like to mess around with Winboard and don't intend to run computer versus computer matches or Winboard engines on chess servers all of which is possible only with The Capabilities of Winboard.

Not all chess engines can be used with Winboard (in particular commercial programs like Fritz, Junior, Chess Tiger, etc. are not Winboard compatible. A notable exception, however, is Chessmaster's chess engine called The King.) All Winboard chess engines have to implement the various commands specified by the Winboard/chess engine communication protocol to communicate with Winboard.

Winboard is not the only user interface that supports chess engines, there are many commercial and free alternatives like ChessBase's or Shredder's or Arena (free) that support the same protocol (although there can be problems) or other protocols like UCI (see section [E.10] and section [A.9] for more information.) If you are still confused read the article on Understanding Chess Engine Protocols.

Even if you don't buy a chess program (or engine) there is a very large amount of engines that you can obtain for free! And this number can be expected to rise with every passing year.

It's unknown how many Winboard compatible chess engines exist because quite a few are private (also see section [A.10]) and are available only to its author and a few beta testers. If we only include those that are available to the public for free, we have listed as of May 2008 on Guenther Simon's Winboard/UCI Chronology list an incredible 430 such programs. There are also many commercial Winboard engines (older versions might be free). (Note: Free means they cost nothing, but there may be restrictions on distribution, use etc. I would advise reading the documentation carefully to see what you can do and what you can't do.)

[A.5] Where can I download the latest versions of Winboard engines?

[A.6] How strong are the Winboard engines compared to the commercial ones? Which is the strongest program?

For the free chess engines it is very difficult to gauge the strength relative to each other or to humans. It was tough enough in the past, when there were only a handful of them, but today with hundreds of such programs and with more coming in, the task is nearly impossible.

A popular way to classify engines is to refer to Leo Dijksman's tourneys and to classify engines as “Division 1” , “Division 2” , “Premier”, etc. But Leo can only run one or two tourneys per year and new engine releases happen more often. Quickly improving engines take a long time to progress through Leo's divisions.

Testing time can be shortened of course if testing is done on several machines or through a collective effort between several testers. This is the idea of CEGT, CCRL, and SSDF. CEGT in particular is able to quickly generates significant up-to-date rating lists for new versions of chess engines.

Even if you can generate significant results fast enough to matter we are still not out of the woods. You still have to decide what testing conditions is the best way to test. There are literally hundreds of different combinations of testing conditions that might cloud the issue on how strong the chess programs really are. Here's a list of considerations:

The strength of programs relative to each other or compared to humans is difficult to determine. Only the strongest programs get tested enough. But even with a huge number of test games played there is the problem of different testers using different conditions and getting different results. Typically the best commercial programs (currently Rybka) are stronger than the best free engines. Currently [Oct 2008], the consensus says that Rybka 2.2n2 is the best free chess engine.

Behind Rybka is a host of other free engines that are roughly equal. For example Strelka, Spike, Naum, Fruit, Toga II (based off Fruit), Loop, ProDeo, Ktulu, Glaurung, Scorpio, Crafty, Thinker, etc. and more. A few strong commercial engines also have UCI or Winboard modes. These include Fruit 2.2 (UCI), Deep Sjeng (Winboard and UCI), Shredder (UCI), Hiarcs (UCI), and the Chessmaster engine, The King (Winboard).

If you want a more detailed and up to date view of chess engines, you should refer to rating lists for chess engines maintained by various testers. You can find links to various such lists at the Computer-Chess Wiki Links Page.

[A.7] The programs are too strong for me, where can I find a weaker one?

Look at the bottom of Guenther Simon's RWBC Ratings Page and choose an engine of appropriate strength. You may have to experiment to find an engine that is stable – the weaker engines tend to be the most buggy. Alternatively, you can weaken some engines by specifying an Elo strength. Both Delfi and Horizon have this feature. Some engines like Beowulf have a 1-10 strength that you will need to experiment with. Other methods to try are: switching off opening books, shrinking the size of the hash, and/or setting the program to move in 0.1 seconds each move. (eg. adding sd=1 to the crafty.rc file will force Crafty search only one ply deep, but it's still fairly formidable due to extensions and positional knowledge.) See also Section [D.4.7] on specific ideas to weaken Crafty.

[A.8] What are Jim Ablett complied versions of Chess Engines?

Jim Ablett's page contains many executable files of chess engines that are available nowhere else. Some of these chess engines originally did not work in a Windows environment. Some were intended to run on other operating systems [such as: Linux, DOS, or CP/M]. Other engines were not originally written for Winboard protocol and don't work inside Winboard or Arena. Still other engines are only available in source code form. As such it is up to kind souls like Jim Ablett to do things like adding Windows compatibility, or Winboard protocol compatibility, or fixing bugs. Jim compiles the source code into a workable Windows executable for people who don't know how to compile them, or prefer Jim to do the work for them. While anyone can run a compiler, Jim Ablett's expertly compiled versions are generally among the fastest available.

NOTE: many people use (ja) to indicate that they are using a Jim Ablett compiled version.

Dann Corbit's ftp site is another useful resource for compiled versions. Most of the engines are available in the directories named chess-engines and chess-engines/new-approach, but you can find many others scattered about in the various directories.

[A.9] Can I run Winboard engines in Chessmaster®, Fritz? Can Chessmaster® or Fritz etc run in Winboard?

Since 1999, many other interfaces both commercial and free began to support the use of Winboard and UCI [after 2001] engines. Unfortunately, for many commercial packages in particular those by Chessbase (Fritz/Shredder/Junior) the support is only one way, while you can run Crafty, Yace etc. in such interfaces, their primary engine (for example Fritz) are not Winboard engines and cannot be used anywhere else.

To clarify matters, while almost all Winboard compatible engines can run in Fritz [and in other Chessbase environments] through the use of the winboard adaptor , Fritz itself is not a Winboard Engine and cannot run in Winboard. Fritz 7 and newer interface also support UCI engines, again Fritz itself is not a UCI or Winboard engine so Fritz cannot be used in external Winboard or UCI GUI (eg Arena). (The exception is Shredder 5.32 and upwards which come in UCI and Chessbase versions).

This holds true for the Chess Genius/Millennium Chess System, where Chess genius and Shredder cannot be used in Winboard. [Note a Winboard version of Shredder 3.0 might exist by entering a secret code but it's not a official product.]

For a clear explanation of protocols and chess engines see my article.

Chessmaster8000® and newer versions now supports Winboard engines as well. Unlike Fritz, Chessmaster®'s engine works outside of the Chessmaster® program because it is a Winboard engine. However because of security measures built into the program it will run in Winboard but will move instantly regardless of time remaining, making it effectively useless. There is a workaround method. See Winboard FAQ, Part_D, Section [D.3]

Some interfaces (chess server clients, databases, playing programs) that allow Winboard compatible engines to run in them include:

Here is a complete table showing all popular Chess GUIs and their support of Winboard, UCI, and Chessbase protocols.

Implementation of Winboard protocol in the commercial GUIs varies, and as such many Winboard engines work poorly or fail to work at all when used in them. However, some authors of Winboard programs[ Yace, Gandalf, etc.] have modified their program to allow them to work smoothly in some or all of these interfaces.

For the Chessbase line of products , “Native” or specially compiled versions of certain Winboard programs [ Crafty, Exchess, ImniChess, Faile , etc] are available. Such native versions generally run without any problem. They are available for download at Chessbase .

For other Winboard engines, you will have to use the winboard adaptor. For more refer to Winboard FAQ,Part_E, Section [E.1]

As mentioned before this doesn't always work. It is, however, beyond the scope of this faq to discuss such problems. A list of verified programs that work and a discussion of the various problems under different interfaces can be found here FIXME (link) . See Winboard FAQ,Part_E of the faq.

[A.10] What about Ferret, Insomniac etc ? Are they Winboard compatible? Where can I get them?

Generally it's safe to say that if Leo Dijksman's Engine overview does not list the program, it's not Winboard compatible [I.e. it doesn't run in Winboard or UCI for that matter], or it is “privateware” [See: Private Engine List], available only to the author and a few testers. Another possibility is that such engines are considered “clones” . See also: Winboard FAQ, Part A, Section A.11 and the Clone Engine List.

Listing of commonly asked-about programs

Aliases

[A.11] What are "clones"? Where can I get them?

The exact definition of a clone is somewhat disputed but generally it refers to chess engines that are almost exact copies (with minor modifications) of an existing chess engine passed off as a new engine.

While most Winboard engines are free, there are only a few whose source code is available. These are the ones that are cloned the most. Most clones in the past were clones of Crafty (favorite target for cloning because of its strength), Gnuchess (the original open source chess engine), TSCP/Faile - (intended for teaching chess programming beginners), and Pepito. In recent years (2004-2005), other strong programs have released their source, include Fruit and Slowchess, in particular Fruit 2.1 released under GPL, was at the time arguably stronger than most commercial programs.

Cloned programs are not always illegal and many chess engines are licensed under GPL and explicitly allow people to modify them as long as acknowledgment is made and the requirements of the licenses are met. For example, there are legal projects such as Toga Fruit and Gambit Fruit that try to improve on the base Fruit 2.1 (Fruit 2.2 is closed source and commercial) . Most importantly these engines are not passed off as original engines. Historically though most cloners have tried to pass these engines as original programs without any mention of the source and some have even tried to enter it into competitions. In particular over the years, more than one engine has being forced out of official tournaments, either because it is proven to be a clone, or on suspicions of being one and refusal to show the source.

Whether a program has changed enough to merit the distinction of being called a new program is highly debatable.Some are of the opinion that no matter how much you modify, it's still a clone. Well known and respected engines like Comet for example was built upon GNUchess code, but no one today would even dream of claiming that Comet is a GNUchess clone! It may be difficult to detect anyway if the source is not available. The fact that an engine plays differently is not a good enough test because it's fairly easy to change a number of positional weights to cause the engine to evaluate positions differently such that the playing style is totally different from the original. The similarity of text interfaces may be a tip off. Other people have taken the binary and disassembled it to look for similarities.

Still you can't ever be sure unless you look at the source. This has obvious problems because the author of the engine might prefer not to let anyone, no matter how trusted, look into his code for fear of losing trade secrets. Would the author of Rybka, Fritz, or Shredder really allow someone, no matter how respected, to look at their source?

The Clone Engine List is a list of bogus Winboard/UCI engines that were proven to be hex-edited versions of real engines.

[A.12] What is this "Winboard edition I /II"? Where can I get Gandalf, Capture, Patzer and Lambchop?

FIXME The “Winboard Edition” series is a collection of Chess engines released by Gambitsoft.com for sale. Winboard Edition I, consists of the Winboard engine Gandalf while Winboard Edition II consists of both the Winboard versions AND Universal Chess interface [UCI] versions of Capture,Deep Patzer and Lambchop.

Lambchop 10.88 a improvement on the free Lambchop 7.x was sold as part of the package, but as of May 19,2002 Peter Mckenzie has kindly released Lambchop 10.88 for free! Only the UCI version of Gandalf is included in Winboard Edition II.

The name of the product has nothing at all to do with a new improved Winboard, or the new Winboard protocol II that has being used since Winboard 4.2.0.

[A.13] Where can I get Winboard engines that play Suicide Chess, Fischer Random and other variants?

FIXME The official public Winboard version has some limited support for variants.

First, you will need to set /variant stringname in Winboard if playing locally (i.e not online). for example /variant crazyhouse for playing crazyhouse , /variant suicide for playing suicide FICS style , /atomic for atomic chess.

Of the Winboard engines that can also play normal Chess, I'm only aware of New Rival and Sjeng 11.2 (The last freeware version 12.13 and commercial Deep Sjeng don't do variants). Both can play variants such as Losers,crazyhouse and bughouse. A losers Chess version of Gerbil is also available. Other specialised Winboard engines that can play either bughouse or Crazyhouse only. A small list includes

Chess960 or Fischerrandom

That said, the focus these days (2005ish) is on chess960 or fischerrandom . There was even a World chess championship for Chess960 where Spike was the winner.

The main problem with Winboard handling FischerRandomchess is due to different castling methods and ways to enocode and communicate that to the engine.See this post by Tim Mann on Feb 2,2002 regarding Winboard and FRC . The FEN/EPD will need to be modified slightly to reflect castling possibilities. . An early proposal on Fischerrandomchess for engines was known as X-Fen (extended FEN) is at odds with the later proposal by Stefan Meyer-Kahlen dubbed Shredder FEN. The UCI protocol was also modified in July 2005 to allow chess960 based on Shredder FEN.

The Shredder Fen proposal requires that the engine and GUI have to explictly know that it is a chess960 game (similar to the /variant switch needed in Winboard). This is as opposed to the X-FEN proposal where normal chess is just one possible inital startup position in the 960 positions.

While the UCI specification for support of Chess960 is clear with Shredder Classic supporting X-FEN, things are not so clear for Winboard/Xboard because there is as yet no official Winboard support for Chess960 though the protocol mentions the possibility of supporting it via the switch variant fischerrandom, but it does not to my knowledge specify how castling is to be handled.

There are several unofficial modifications of the official Winboard source to allow Chess960 including the following

Discussion and instructions on how to use these interfaces can be found here.

Arena also supports both “shuffle chess” and “full chess” or “Fischer chess”. Shuffle chess requires that the engine support “edit” , or “startpos FEN” but does not allow castling. Fischer random chess allows Fischer-style castling. According to the help file, ”

Given all the confusion over chess960 castling rules,representation of position and until now in Shredder Classic, a standard interface that supports this variant, it's hard to tell which engines will work in any of the interfaces.

Certainly, the engines that took part in the first Chess960 world championship play the variant, but it's unclear if they work in any of the above interfaces. These include Betty . The Baron , Chispa , Pharaon ,Aice, Fruit 2.2 Frenzee, Hermann and Gothmog . You can find others in the Arena's listing of chess engines ,see link here here.

Historical info

Gromit 1.2 (non Winboard version) and MChess 8 might supports Fischer random as well.

Luca Damiani also mentions that Olithink 2.3.0 and Olipow from the same author can play “Atomic Chess” or Wild 27 in ICC.

[A.14] I'm a programmer, how do I get my Chess program to be Winboard, Chessbase, or UCI compatible? Where can I find examples of free source chess programs?

FIXME You can find the full updated Winboard Protocol at Tim Mann's page or you can join the mailing list for Winboard engine authors.Here's a interesting Winboard/Xboard State diagram that might be useful. You might also want to look at some of the free source Winboard Chess engines. Some to start with include

Beowulf, TSCP, and Gerbil are supposed to be heavily commented, and are designed to be instructional but are not very strong. There are many engines with the source available,but most are relatively the weak. Fruit 2.1 is probably the strongest Chess program that you can find the source available.While Crafty by Robert Hyatt is the first strong open source Winboard engine.

If you are looking for a Chess program written in a specific programming language (C,C++,Java,Delphi,Pascal etc), see Andreas Herrmann's listing of Chess engines by programming language and source code availability. Getting Java programs to run in Winboard is somewhat tricky, but Jlaunch helps.

In addition , Jim Ablett also has converted various Java based winboard and uci engines to standalone executables. This is useful espically if you intend to run the engines through adaptors.

For other protocols

Back to: Winboard FAQ, Index; Forward to: Winboard FAQ, Part B