Winboard and Chess engines FAQ

Section A - Introduction

Section A

[A] Introduction

Forward to Section B


[A] Introduction


[A.1] What is this Faq about?

This Faq guides first time users in setting up Winboard Chess Engines like Crafty, Amy, Goliath etc. to run on one computer in Winboard. This document does not provide information on the following

For the first question, I recommend Edward Collins Tribute to Winboard

I unfortunately, lack the expertise to comment on using of Xboard, but from what I know, the procedures are very similar to Winboard.Mac users should look at this guide.

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.

There is also some (but not much) information on the use of Winboard engines in other Winboard compatible interfaces in this FAQ.In particular Section E covers Winboard engines in other GUI .Arena the free interface for Winboard/UCI engines has a basic FAQ written by myself.

Lastly, the answers to all Chessbase related questions can probably be found at Steve Lopez's electronic T-notes .


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

" 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 analyse, such as GNU Chess and Crafty .... " [From the Xboard/Winboard FAQ (B2)]

Winboard/Xboard can be downloaded directly from Tim Mann's page. The latest source has being moved to http://savannah.gnu.org/projects/xboard/ . If it's down, you can download binaries from the following Mirror site . Also see What Winboard can do.


[A.3] What is the difference between Winboard and Xboard? What are the various modifications of Winboard available?

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

The current [28-11-03] version of Winboard version 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 ] .

Tim Mann writes

"With WinBoard 4.2.1 and later, you can run SOS by using the new flag /firstProtocolVersion=1 or /secondProtocolVersion=1 (depending on whether it's the first or second engine); this forces use of the old protocol by keeping WinBoard from sending the "protover 2" command to the engine. SOS chokes on that command for some strange reason, instead of just ignoring it or printing a message."

Interestingly enough some newer engines like Mint and Kings of Kings [prior to version 2.0] seem to support only Winboard protocol II, with the side effect that they cannot run in other GUI like Chessmaster8000 since those GUI support only Winboard protocol 1!, While other interfaces [Arena?] might demand some features available only for engines that support protocol 2.

Winboard Plus , was a third person enhanced version [Marc S. William] of Winboard. It added a number of improvements. Including the ability to cut and paste positions and games as well as a nicer and easier to use menu. However these improvements were later included in Winboard version 4.1.0.

For those interesting in the latest none stable Winboard versions, please go to http://savannah.gnu.org/projects/xboard/. Daniel Mehrmann , one of the most active Winboard developers has also compiled the latest CVS snapshots of Winboard.This includes features like using an engine for analyzing an observed game on chess servers, mousewheel support, plus fixing of various bugs.

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

1)Alessandro Scott's Winboard X with many features like saving score and search depth into the PGN.

2) Winboard.rj with some useful mods to zippy.

3)The rest are chiefly modifications for Winboard to play Fischerrandom chess.See this section on fischerranom.


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

To understand , the concept of Winboard Chess engines, you need to see a 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.[Crafty is perhaps the most well known Winboard engine]

The second part consists of the user interface, which displays the board,keep 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,only a ASCII/text board is available etc . Others like Arasan, Bringer, Comet,Green light Chess etc exists in 2 versions. A Winboard version and another that comes with it's 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 in Winboard .

Not all Chess engines can be used with Winboard of course [in particular Fritz,Junior,Tiger etc are not Winboard engines although the latest engine The King which powers Chessmaster 8000 is one], 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 commercial and free alternatives like Chessbase's or Shredder's or Arena (free) that support the same protocol [Although there might be problems ] or other protocols like UCI .See Section [A.9] for more. If you are still confused try my article on Chess engines and protocols or Joachim's explanation of Chess engines.

It's unknown how many Winboard compatible Chess Engines exist because quite a few are privateware and are available only to it's author and a few beta testers. But if we only include those that are available to the public for free or through sale, we have easily a few hundred . As of October 2005, Leo Dijksman's Engine overview , lists an incredible 304 such programs. This number might vary a little depending on whether you accept clones as legitimate Winboard engines. As of Oct 2005, There are also the following commercial Winboard engines (older versions might be free),

Older and hard to obtain commercial engines include  Nimzo2000b ,Shredder 3 (a undocumented feature that requires a access code from the author),Gandalf 4.32,Capture and Patzer(but a older winboard version is available) .

Nimzo2000 is part of the World champion package by Millenium Chess (no longer around). Gandalf,Capture,Patzer were released as Winboard edition 1 and 2 by Gambitsoft (no longer around). You can download a older version of Patzer from http://www.playwitharena.com (download, Arena setup 5). 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! See also Section [A.12]

Even if you don't own these , there are more than enough programs that you can obtain for free! [Note: Freeware 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] And this number can be expected to rise in the future.


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

Frank Quisinsky's News Ticker was one of the first sites to maintain a list of Winboard engines details. Since 1999, Frank's Web-site has become the accepted place, for authors of Winboard compatible engine to release news of new versions. Unfortunately as of 15 March 2001, due to work commitments, Frank Quisinsky will no longer update the news ticker or engine overview with news of Winboard engines.

The work was then carried on by Thomas Mayer at Thomas Mayer's News .Details about each Winboard engine [including where to download them] can be found at Thomas Mayer's detail page.

However, Thomas Mayer later became busy with real life and stopped updating in Jan 2002. The current maintainer of the Winboard chess engine list is Leo Dijksman . Many Chess programs without home pages of their own (for example Anmon,Comet ) are also hosted by Leo Dijksman on his engine page.


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

It's extremely difficult to gauge the strength of Chess Engines 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 over 200 such programs and with more coming in, the task is nearly impossible.

A rough gauge of strength is the "Crowns" category for Winboard programs was proposed by Volker Pittlik a while back in 1999. Top ranked "4 Crowns" engines then included Crafty,Little Goliath , Yace , etc. Such programs are estimated to be at least as strong as International Masters and can probably handle even grandmasters depending on time control. While the weakest "One Crown" engines like Golem are probably weaker than ELO 1600.

Another recent (2003 or so) popular way to classify engines is to refer to Leo Dijksman's tourneys and to classify engines as "Division 1" , "Division 2" , "Premier" etc.

Of course, no one knows how accurate the rankings are. Between June 2000 and January 2001, Dann Corbit carried out a huge tournament involving all the available free Winboard engines at that time. This tournament was known as the "Battle of the Crowns" and was played at G/60 , on PII/400. Games played on faster or slower machines were adjusted according.

Unfortunately, given the time it took to complete the tournament, by the time it was finished the results were outdated since new versions of the programs were released and new strong ones like Tao and Nejmet entered the scene. Also, no external calibration was made, so we have no idea if the top Winboard chess program is as strong as a IM or GM.

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 our strong the Chess programs really are. Here's a sample. For example, a program that does best against other programs might be weaker against humans. It's also claimed that some programs do better in Blitz than in longer time controls. Then there is the question of what opening books to use, or perhaps we should throw the opening books and just use standardised opening positions from Nunn tests as CEGT sometimes does. Lastly, it has being claimed that some slow programs gain more than others from being run on a faster machine. Also, let's not forget the "pondering issue".

In short, we cannot be certain of how strong the programs are either relative to each other or compared to humans. Typically the best commercial programs like Fritz are generally around 50-100 ELO stronger than the best free Engines, but in the later half of the 2005, this was broken with the release of Fruit 2.1 (which later went commercial), and Rybka which was also commercial but spoted a free beta version that was stronger than any existing commercial at the time. Currently [April 2006], the consensus says that Rybka 1.0 beta (UCI) is the best free chess engine. The only clearly stronger chess engine, is it's big brother Rybka 1.1 (which is commercial).

Behind Rybka is a host of other engines (besides Fritz 9, Hiracs 10 etc) that are roughly equal.For example ,Fruit ( Toga II based off Fruit, Spike, Ruffian .Aristarch, , Goliath, Thinker, List (UCI only),ProDeo ,Slowchess,Crafty etc. and more. A few strong commercial engines also have UCI or Winboard modes. These include Fruit 2.2, Deep Sjeng (Winboard and UCI), Shredder (UCI) and Rebel 12 (Winboard) and Gandalf.

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 here.



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

Golem , or Nero might be suitable. Both are stable and the former in particular is not very strong [ELO 1600 or less] Alternatively, you can weaken some of the stronger programs by switching off the opening book, lowering hash and or setting the program to move in 0.1 seconds each move.[Eg Adding sd=1 to the crafty.rc will force Crafty search only to 1 depth, but it's still fairly formidable due to extensions and positional knowledge.]Dr Hyatt, programmer of Crafty has suggested playing around with extensions to weaken Crafty and he would be interested to hear from anyone who managed to get a realistic weaker program this way. See also Section [D.4.7] on specific ideas to weaken Crafty



[A.8] What are Dann Corbit complied versions of Chess Engines?

Most Chess programmers work in C or C++.[Rare Winboard engines like Crux ,Holmes uses Delphi while the super fast Goliath probably uses assembly language] However, some of them do not work in the Windows environment, as such it is up to kind souls like Dann Corbit to compile the source code to workable Windows executable for people who can't or won't compile them.

While anyone can run a compiler, Dann Corbit's versions are generally among the fastest. However for Crafty, the builds by Eugene Nalimov [of the egtb fame] are usually the fastest for Intel machines. But given that Eugene Nalimov does not compile many winboard engines beyond Crafty, Dann Corbit's versions are best for programs such as Amy,Sjeng etc.

Note: many people use (c) to indicate that they are using A Corbit compiled version. If you have trouble finding the files you need on Dann Corbit's ftp site, try The Corbit Overview page by Thomas Mayer.



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

In recent years [99 onwards], 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

The latest version of 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 Section [D.3]

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

Implementation of Winboard protocol in the commercials 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 [23 Nov,2000]. For more refer to 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 . See Section 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 ,available only to the author and a few testers. Another possibility is that such engines are considered "clones" . See Section A.11

Listing of Commonly asked about programs

Alias.


[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 a 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.Obviously these are the ones that are cloned. Most clones in the past were clones of Crafty (favourite target for cloning because of its strength) ,Gnuchess (the original open source chess engine), TSCP/Faile - ( chess programs for beginners) and Pepito.In recent years (2004-2005), other strong programs have released there source, include Fruit and Slowchess ,in particular Fruit 2.1 released under GPL, was at the time arguably stronger than most commerical programs except for maybe Shredder 9.

Cloned programs are not always illegal and many chess engines are licensed under GPL and explictly allow people to modify them as long as acknowledgement 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 commerical) . 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 nor matter how trusted look into his code for fear of losing trade secrets. Would the author of Fritz,Shredder really allow someone , no matter how respected look at their source?

Past versions of this FAQ have listed programs that were suspected or proven to be clones, but due to possible legal issues I have removed them. In general if you see someone mention a chess engine that is not listed in the normal engine lists maintained by Leo etc, it is either privateware or likely a clone.




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

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?

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 unoffical modifications of the offical 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.

Cerainly, 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 etc compatible? Where can I find examples of free source Chess programs?

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,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