Forward to Section E
Bringer is a German Program written by Gerrit Reubold. Bringer is a strong program and is probably within the top 20 free Winboard programs. Bringer is unusual compared to most Winboard engines because it comes with it's own stand alone Graphical User Interface but also works in Winboard. Bringer requires the extra command /winboard in the Winboard.ini for it to run properly.
Another unusual feature is
that Bringer unlike most programs
allow you to allocate memory among 3 transposition tables instead of
more usual two. Bringer supports Nalimov Tablebases.Bringer
1.9 is now available! [27 June 2001]. Peter Berger has also written a
document on the use of Bringer in Chessbase,Shredder,Chess
Partner/Rebel and Chess Genius . You can download
it together with
You can't. Closing the GUI will cause the Engine to stop running as well.
To change the language from German to English, go to "Ansicht" scroll down to "sprache" and choose "Englische". Unfortunately, there is still no English online help, but you can download the English translation from here.
Unlike most Engines, there is no ini file to edit to change the size of the transposition tables. You need to do it in the Bringer GUI and then save.
For 16Mb RAM , the author suggests using 10/2/2 [Position/Evaluation/Pawn] allocation and another 2 Mb for Tablebases caches. For allocating 32 Mb RAM a 20/4/4 Split might be best. You could also try optimising the memory allocation yourself, but this requires some understanding and monitoring of the line "Hash% Pos: 1%/5%, Eval 53%/16%, pawn 99%/80%" etc in the program.
'Hash% Pos 1% / 5%' means : the positional hashtables are 1% filled, and 5% of the 'probes' were successful (a transposition was detected). Note that the remaining 95% of the probes were not useless, they improve the move ordering. The other values mean the same thing: 'filled percentage' / 'percentage of successful probes'.[ Gerrit Reubold in a posting to the Winboard forum 05-07-2000 ]
Note: when you try to optimise Hashtables size, pay attention to the second value: if you double (for example) the size of the Hashtables, and the 'percentage of successful probes' increase from 80% to 82%, the gain is only 2%.
Typical values for the 'percentage of successful probes' in the middlegame are 5-10%; 30-40%; 70-80%. "
From Chessmaster 8000 onwards, there is support for the Winboard protocol. This means that you can import Winboard engines (Crafty,Gnuchess,Yace etc) into Chessmaster. to play against. Either against yourself or you can pit it against Chessmaster itself.
Chessmaster's support of the Winboard protocol is pretty good ,except there is one oddity. If the "thinking lines" window is open, Chessmaster's GUI will send the "." command (which normally is sent only during analyse mode) so that it can get a regular update on the progress of the search. Some engines choke on this.Here's a detailed analysis of The Winboard protocol implementation in Chessmaster 8000.
More importantly (for many users) the Chess engine (or chess playing part) that powers Chessmaster 8000 , 9000 and 10,000 - namely The King by Johan De Koning is now a Winboard engine, which means that it can be exported outside Chessmaster to be used in any interface that supports the Winboard protocol.
There is a complication though, if you treat TheKing.exe as a normal Winboard engine, you will find that when used in for example Winboard, The King will start moving instantly regardless of the time control. This is because there is a copy protection scheme.To avoid this, you need to send a number called the "OPK number" with the parameters. This OPK number is time keyed. This can only be obtained from the CD, and if you reset the computer, the OPK number changes.See later sections for more[28-02-03] There is a patch posted that dis-enables the OPK check for Chessmaster 8000, 9000 and 10,000
Both Chessmaster 8000 , 9000 and 10,000 support only Winboard protocol 1, but this should work fine for most engines since most of them support both protocol 1 and 2.
The procedure for setting up Winboard engines is explained clearly in the user's manual page 62 for Chessmaster 9000, so I won't waste space explaining it here.Chessmaster 8000 users should get the 1.0.4 patch which fixes a few bugs.
Chessmaster 8000 users should refer to the Chessmaster FAQ .
Don't be surprised though if some of the imported engines don't work too well. Most should do okay though.
The patched version of Chessmaster 8000 is very similar to 9000 but there are some differences. Chessmaster 10,000 appears to be exactly the same (in terms of Winboard features) as Chessmaster 9000 though. The main differences (besides the engine versions of 3.12d vers 3.23d) are as follows
The last point might be
important when exporting The King.
As mentioned in the general overview it is possible to export The King to be used in other interfaces that support the Winboard protocol. It is however a fairly complicated and tedious process with many drawbacks .
WARNING: This section and the next is by far the most complicated parts in the whole FAQ, and if you are not familiar with Winboard engines, you have little hope of getting it to work. There are also many possible refinements, but my instructions are among the simplest that allow it to work.
As preparation you should be familiar with how to setup additional Winboard engines in Winboard through the "Winboard.ini method".
Okay.Here are the steps needed. The main idea is to find the OPK number after which you can send the OPK number parameter in the interface of your choice.
patch (direct link 62K) posted
dis-enables the OPK check for for Chessmasters to date
(8000,9000,10000) so you can avoid the
steps below if you apply the patch.Two Things to take note.
1. The patch should
not be applied on Theking.exe which
you use in Chessmaster since
this causes problems in the Chessmaster GUI, so the best method would
be to apply the patch on a
copy of Theking.exe that you wish to use outside Chessmaster GUI.
There are a few methods to obtain the OPK number,including using inbetween but this is not usually necessary since in most interfaces you can send the OPK number directly. Here's one way that does not use inbetween.
Basically you replaced theKing.exe with crafty.exe and when chessmaster is run the commands needed (including the OPK number) to be sent to Chessmaster will be sent to Crafty instead.From there you can extract the information needed from Crafty's log file
In general all you need is the OPK number and it will work fine with every other parameters set to default. However you might want to set hash table size, or use a custom personality. In such cases, you need to send additional parameters to Winboard,Arena or whatever interface you are using.
Some parameters and what they mean (taken from Odd Gunnar Malin's excellent work)
Xboard - Tells the engine to set itself in Xboard mode.
cm_parm - parameter1=value parameter2=value ...
Some possible parameters with theirs default value.
default ; set the engine to default.
opp=100 ; Opponents pawn
opn=100 ; Opponents knight
opb=100 ; Opponents bishop
opr=100 ; Opponents rook
opq=100 ; Opponents queen
opk=0 ; Opponents king
myp=100 ; Kings pawn
myn=100 ; Kings knight
myb=100 ; Kings bishop
myr=100 ; Kings rook
myq=100 ; Kings queen
myk=0 ; Kings king
cc=100 ; Control of centre
mob=100 ; Mobility
ks=100 ; King safety
pp=100 ; Passed pawn
pw=100 ; Pawn weakness
cfd=0 ; Contempt for draw
sop=100 ; Strength of ply
avd=0 ; Attacker/defender
rnd=0 ; Randomness
sel=6 ; Selective search (Note for Chessmaster 9000 the default is now 9)
md=999 ; Max search depth
tts=1048576 ; Hash size
ttu=1 ; Hash unit
ana=0 ; Unknown (CM don’t use this)
Max search depth (md)
- CM set this to 99 but it don't seem to any changes to the strength
- This value is sent by adjusting the material (opX and myX) and the
positional values (cc, mob, ks, pp and pw).
Hash settings (tts and ttu)
- When hash=0 tts=4096, ttu=0
- When hash=512Kb tts=524288, ttu=1
- When hash=1Mb tts=1048576, ttu=2
- When hash=2Mb tts=2097152, ttu=3
- When hash=4Mb tts=4194304, ttu=4
- When hash=8Mb tts=8388608, ttu=5
- When hash=16Mb tts=16777216, ttu=6
- When hash=32Mb tts=33554432, ttu=7
- When hash=64Mb tts=67108864, ttu=8
Additional parameters for Chessmaster 9000..Instead of cc,mob,ks,pp,pw, you get :
mycc=100 ; My Control of centre
mymob=100 ; My Mobility
myks=100 ; My King safety
mypp=100 ; My Passed pawn
mypw=100 ; My Pawn weakness
opcc=100 ; Opponent's Control of centre
opmob=100 ; Opponent's Mobility
opks=100 ; Opponent's King safety
oppp=100 ; Opponent's Passed pawn
oppw=100 ; Opponet's Pawn weakness
There are several Winboard compatible interfaces and in theory The King should work in all of them. I don't have the space and time to show all of them so I will just demonstrate with 3 popular interfaces - Winboard,Arena and SCID and Old Chessbase interfaces, you should be able to figure out the rest once you get the hang of this.
Here's the line in my Winboard.ini for playing in Winboard "TheKing" /fd="d:\chessmaster 8000" /firstInitString="xboard\npost \nnew\ncm_parm tts=67108864 ttu=8\ncm_parm opk=260544 /firstProtocolVersion=1
For example, in the above line, I'm using Chessmaster with 64Mb hash,default settings. If you want to use personalities you can add parameters like opp=97 opn=107 which will change the values Chessmaster placed on the opponent's pawn and Knight compared to default.
Here's the so-called Chessmaster 8877 setting which is claimed by some to be stronger than the default in longer time controls.
"TheKing" /fd="d:\chessmaster 8000" /firstInitString="xboard\npost \nnew\ncm_parm tts=67108864 ttu=8\ncm_parm opk=260544 opp=103 opn=121 opb=127 opr=121 opq=123 myp=103 myn=121 myb=127 myr=121 myq=123 cc=112 mob=123 ks=160 pp=117 pw=133 cfd=0 sop=100 avd=-2 rnd=0 sel=12 md=99\n /firstProtocolVersion=1
The /firstprotocolversion=1 tells Winboard to revert to Winboard protocol 1, as Chessmaster does not have Protocol 2 support.
Once you manage to get The King working in Winboard, you can in theory import it into Chessbase,ChessPartner,Shredder or [basically any software that supports Winboard engines] etc like any normal Winboard engine!
Advanced users might want to use Odd Malin's inbetween utility. Inbetween is basically a utility that sits between an engine and interface and transfers messages from one to another. The idea is that instead of connecting The King directly to the interface (eg Arena,SCID,Winboard) you go through inbetween.exe which can send anything you desire to the engine or interface. In the case of using The King, instead of letting the interface send the OPK number, inbetween will do it.
Inbetween is a very powerful tool.One example of a advanced use is it allows you to "cure" engine compatibility problems if you know what is causing the engine to fail in a given interface. Here's a basic guide to using it.
There are many more things you can do with inbetween such as setting up personalities, but this you have to figure out yourself.
In practice I find that if you use a lot of different GUI with Winboard support it's much easier to setup The King using Odd Malin's inbetween utility once, and then in each GUI point to the inbetween.exe (which you can rename to The King if you wish). This avoids the hassle of passing all the parameters separately for each GUI. On the other hand, you might need customise inbetween set-ups to "cure" some of the problems in each GUI.
For other GUI [Chess Partner/Chess Assistant], you can find the instructions in the InbetweenAndEngines.txt that comes with inbetween. Here's another new instructions for Chesspartner
To use The King in SCID, you need to use inbetween, see the instructions in the yellow box below. You can use the same method for Arena, or if using Arena 0.95 and above you can do the following.
This matter works, but if you want to have a nice display, add more parimeters/personalities, it is better to use the inbetween adaptor as detailed below.
|While the method for obtaining the
OPK number is the same ,to get The King to work in Arena and SCID, you
need to use
itself to sit inbetween and send the OPK number to The King.Change the
inbetween.ini file with a text editor to the following line:
CommandLine := c:\chessmaster9000\theking.exe
[Client2Server] xboard := xboard\npost\nnew\ncm_parm opk=561252\ncm_parm ana=1\ncm_parm default\ncm_parm opp=100 opn=100 opb=100 opr=100 opq=100 myp=100 myn=100 myb=100 myr=100 myq=100 mycc=100 mymob=100 myks=100 mypp=100 mypw=100 opcc=100 opmob=100 opks=100 oppp=100 oppw=100 cfd=0 sop=100 avd=0 rnd=0 sel=9 md=99\ncm_parm tts=67108864
protover := hard
cm_parm ana=1 := feature setboard=1
cm_parm default := feature analyze=1
2001 := 2
2002 := 2
3001 := 3
3002 := 3
3003 := 3
4001 := 4
4002 := 4
4003 := 4
4004 := 4
5001 := 5
5002 := 5
5003 := 5
5004 := 5
5005 := 5
6001 := 6
6002 := 6
6003 := 6
6004 := 6
6005 := 6
6006 := 6
7001 := 7
7002 := 7
7003 := 7
7004 := 7
7005 := 7
7006 := 7
7007 := 7
8001 := 8
8002 := 8
8003 := 8
8004 := 8
8005 := 8
8006 := 8
8007 := 8
8008 := 8
9001 := 9
The commandline and OPK number should be changed of course to where your copy of the Theking.exe is and the OPK number you obtained from the process described above.This will work for SCID too.Note: Adding \ncm_parm ana=1 is necessary for Chessmaster 9000 to force it into analysis mode. The lines such as 1001 :=1 are an additional touch and are used to convert the display of The King into nice ply depth. You should add more up to perhaps 15015 := 15.
Once you achieve this, it means that you will have a easy way to use The King as a engine on online servers either through Winboard or Arena/Chess partner/Chess Assistant/Chess Vision interface!
Getting The King to work in Chessbase interfaces like (Chessbase 7 and above or Fritz 5.32,Fritz 6, Junior 6/7,Hiarcs 7.32,Nimzo 8), etc is pretty tricky (although there are some benefits mainly because Chessbase interfaces unlike Winboard or Arena can provide opening books which The King lacks)
For steps to convert chessmaster's OBK opening books to Fritz's CTG.,
Part of the reason why this is so is because Fritz ,Junior etc do not directly support the Winboard protocol which is needed for The King (which is a Winboard engine) Notice Fritz (unlike The King) itself is not a Winboard or UCI engine, so it cannot be exported outside to be used in Chessmaster or Winboard.
Another reason has you have seen already is that unlike most Winboard engines, The King requires the additional sending of the OPK number which complicates matters.
If you are using the older Chessbase interfaces (Fritz 5.32 & 6 ,Junior 6 & 7, Nimzo 8 ,Hiarcs 7.32,Shredder 5.32,Chess Tiger 14 ) you will have to use the Winboard adaptor method for running Winboard engines (The King is just one example.) Please be familiar with this before you begin.
For the King you need to use Odd Gunnar Malin's useful free utility "In-between".You can find both the program and instructions on how to get The King to run it has a Winboard engine in Chessbase GUI here.Before you go there please note that there is a broken link on the above page and you can download the Winboard adaptor here .
The newer Chessbase interfaces Shredder 6,Fritz 7 (after patching), Hiracs 8 etc also support the UCI protocol.
Given the known problems of running Winboard engines (which are gravely weakened) using the Winboard adaptor, if you own Fritz 7,Shredder 6 (Chessbase version) or Hiracs 8 , a better method would be convert theKing from a Winboard engine into a UCI engine through Odd Malin's Winboard to UCI adaptor then running it in uci mode.
The steps to do so
; The King 3.12d Advanced
Name=The King 3.12d
Author=Johan de Koning
InitString=cm_parm default\ncm_parm opk=xxx
Opponents Pawn (opp)=cm_parm opp=%i|spin|100|0|4500
Opponents Knight (opn)=cm_parm opn=%i|spin|100|0|1500
Opponents Bishop (opb)=cm_parm opb=%i|spin|100|0|1500
Opponents Rook (opr)=cm_parm opr=%i|spin|100|0|900
Opponents Queen (opq)=cm_parm opq=%i|spin|100|0|498
Kings Pawn (myp)=cm_parm myp=%i|spin|100|0|4500
Kings Knight (myn)=cm_parm myn=%i|spin|100|0|1500
Kings Bishop (myb)=cm_parm myb=%i|spin|100|0|1500
Kings Rook (myr)=cm_parm myr=%i|spin|100|0|900
Kings Queen (myq)=cm_parm myq=%i|spin|100|0|498
Contempt (cfd)=cm_parm cfd=%i|spin|0|-500|500
Strength (sop)=cm_parm sop=%i|spin|100|0|100
Attack Defend (avd)=cm_parm avd=%i|spin|0|-100|100
Randomness (rnd)=cm_parm rnd=%i|spin|0|0|100
Selective Search (sel)=cm_parm sel=%i|spin|6|0|12 (For CM9000 values should read |9|0|16)
Max Depth (md)=cm_parm md=%i|spin|999|0|999
Centre Control (cc)=cm_parm cc=%i|spin|100|0|600
Mobility (mob)=cm_parm mob=%i|spin|100|0|600
King Safety (ks)=cm_parm ks=%i|spin|100|0|600
Passed Pawn (pp)=cm_parm pp=%i|spin|100|0|600
Pawn Weakness (pw)=cm_parm pw=%i|spin|100|0|600
If you are using Chessmaster 9000 instead, do the same as above except that you should replace the last 5 parameters with
My Centre Control
My Mobility (mymob)=cm_parm mymob=%i|spin|100|0|600
My King Safety (myks)=cm_parm myks=%i|spin|100|0|600
My Passed Pawn (mypp)=cm_parm mypp=%i|spin|100|0|600
My Pawn Weakness (mypw)=cm_parm mypw=%i|spin|100|0|600
Opponent's Centre Control (opcc)=cm_parm opcc=%i|spin|100|0|600
Opponent's Mobility (opmob)=cm_parm opmob=%i|spin|100|0|600
Opponent's King Safety (opks)=cm_parm opks=%i|spin|100|0|600
Opponent's Passed Pawn (oppp)=cm_parm oppp=%i|spin|100|0|600
Opponent's Weakness (oppw)=cm_parm oppw=%i|spin|100|0|600
Also, the selective
search values can now be increased to up
to 16 as compared to a maximum of 12 in Chessmaster 8000. The default
Selective search is 9 as mentioned before so the line for selective
search should read
Selective Search (sel)=cm_parm sel=%i|spin|9|0|16
Because we are using The King as a UCI engine (via the adaptor), we can actually send different parimeters via the GUI options to alter the chessmaster personality . That is what all the lines after [Extras] actually do, they set up all the dialog boxes in the GUI. However, Manfred Meiler and Kurt Utzinger have assured me that when personalities options are altered this way (as opposed to via text files or init string), they don't seem to work as expected. This determination was made by comparing solution times on various test suites.
| NEED HELP?
Perhaps the whole
process is too complicated for
has kindly agreed to setup everything for you in 2 nice zip files that
will automatically get the OPK number and start Chessmaster in Fritz if
you email him at Manfred.Meiler@t-online.de
the following information.
UPDATE: You can find the basic files for this here (under Method 2).
As mentioned above once you can get Chessmaster or The King running in Winboard or Arena, you can treat it like a normal Winboard engine and use it on the servers.
You should already know how to run Winboard engines on ICC or FICS using zippy and Winboard.
Here is now I got it to run
it in FICS through Winboard
C:\WinBoard\winboard.exe /zp /ics /icshost=freechess.org
/icshelper=timeseal /fcp="theking" /fd="d:\chessmaster 8000"
tts=8388608" /firstProtocolVersion=1 This is actually no different from
any other Winboard engine. But it lacks a opening book. You can
find another instruction guide for using The King plus bookthinker
plus OPK patch. You need the files CM9 Winboard.zip and CM9
There is however one very big problem.John Merlino lead programmer of Chessmaster 8000 and 9000 writes
There is "a bug" in The King that is not apparent the CM GUI, but will be VERY IMPORTANT if you use The King against a human opponent on ICC or against a computer opponent that offers draws. In essence, if The King receives a "draw" command, it will IMMEDIATELY stop its search and you probably will not be able to get it started again! The upshot is that, if your opponent offers The King a draw, it is likely that The King will lose on time because it will never make a move after the request is received! This isn't a problem in the CM GUI, because the GUI handles all draw requests from humans (and WinBoard engines) internally -- The King never receives the draw request. But, this DID happen to me when I was playing with The King on ICC, so YOU HAVE BEEN WARNED! There are ABSOLUTELY NO PLANS to fix this in a patch!
This problem appears to still exist in Chessmaster 10000.
The note here regarding Winboard engines on Yahoo or other web-based chess server also applies to The King/Chessmaster.
If you export Chessmaster [The King] to Winboard , you will notice that Chessmaster doesn't have a opening book. This is because Chessmaster [The King] actually relies on the interface/GUI to provide the opening book. While some interfaces like Fritz or Arena 1.0 provide opening books to engines, Winboard currently doesn't.
However there is a book engine called bookThinker , whose job is to simulate a opening book by playing the first few moves based on a database of opening moves before passing control over to the bookless engine once it has run out of moves. In theory it should work with The King, but for technical reasons it doesn't work well when coupled with the need to send command line parimeters in the winboard.ini file. The King of course needs to send the OPK number as a command line parameter.
There are several work arounds , but here's my favourite one with involves using inbetween to help. Of course, if you used the patch that disabled the opk check, all you need to do is to use The King as any other engine with bookthinker, as described here . .
CommandLine := c:\engines\theking\theking.exe
xboard := xboard\npost\nnew\ncm_parm opk=826290\ncm_parm ana=1\
protover := hard
"bookthinker Inbetween" /firstProtocolVersion=1 /fd=c:\engines\TheKing
In brief this works, because instead of passing control to Theking.exe directly after bookthinker runs out of moves, winboard "calls" inbetween which then feeds The King the correct OPK number. For aesthetic purposes you can rename bookthinker.exe and/or inbetween.exe if desired.
If you are using Fritz for example, there is no need to do so, because the Fritz interface/gui automatically provides a opening book.
For more discussion see this
GUI opening books.
The basic concept is similar. You import Chessmaster 8000 as a Winboard engine into Chessmaster 9000 and play then there. Or you could use both of them in other GUI like Fritz or Winboard.Same holds for 10000.
by Mike Bryne might prove useful too
As you have seen above it is also possible to export Chessmaster personalities out of Chessmaster for use by sending personality strings. The simplest way to do this is to first setup the Chessmaster personality in Chessmaster then follow the method outlined in Section [D.3.4] and copy the output.
It's also possible to manually change the settings outside Chessmaster once you know what each of the variable stands for. For example if you want own control of center to be set at 105 ,just send mycc=105.For material values it's calculated has a percentage of the default. For example, the default value of Own Knight is 3.0. If you want Chessmaster to value it's own knight at 6.0, this is a 200% of default. So you must send myn=200.Still it's unclear how chessmaster handles fractions. For example, changing Own Knight to 3.4 , yields a parameter setting of myn=100.13333% etc. What parameter should we send? Currently I suspect you drop the fraction.. There is also a further complication if you change the material/Positional setting where a positive value will increase/decrease all the positional factors and the material values.
Similarly it's unclear what happens (if anything) when a manual value of myn=115 is set, since this is equal to a value of 3.45 which is impossible in a Chessmaster setting since you can set only either 3.4 or 3.5 in Chessmaster.
For this reason, It's advisable (espically when testing via Malin's winboardtouci adaptor which where easy self adjusting settings within uci gui might tempt you to try strange values) to convert from Chessmaster settings first rather than work on manual values.
Chessmaster has always being famous for the degree in which you can custom different Chessmaster personalities (since Chessmaster 2000 I think).
And as always, "tuning" of personalities to obtain the strongest chessmaster personality has always interested many fans.In the past before Chessmaster 8000 introduced Winboard support, this tuning was limited to auto-games between chessmaster personalities. Some have questioned whether this is effective, since the personality that is best in beating the default chessmaster might not necessary be strongest when pitted against other programs.After all, the aim is to get the strongest chess program not the one best at beating chessmaster personalities.
But course if you own chessmaster 8000,9000 you can import strong winboard engines into chessmaster for testing. But even so , most people prefer to export chessmaster into Fritz etc to allow them to battle against chessbase engines (Fritz,Junior etc) which are generally stronger than the best Winboard engines.Below you can find some sites where people have done such testing of their own personalities against Fritz etc..
You must keep in mind though, each tester might claim his personality be "best", but this is often dependent on tester's hardware (most testers have high end machines compared to the typical user) and time controls used in testing. In fact some have found that while a given personalities (say Kurt Uztinger's) is a lot better than the default against various chess programs, in long time controls (40 moves/40 mins for example), it's performance suffers when in blitz compared to default. For instance, it is suspected that higher selective search values are better for longer time control.Overall the default personality appears to be a good compromise.(Not to say that a better all-rounder cannot be found though).
Also take note of the
specific version of chessmaster used.
Personalities that are good for say chessmaster 8000 are not always
good also for other versions (say 9000). because of differences between
each version.You have being warned. Below are some of the places where
such testing has being done.
Crafty is probably the most famous Winboard engine [after GNUChess perhaps] and is generally considered the strongest free Winboard program around and is often used as a benchmark for authors who wish to go commercial. While currently [01-11-2002], there are some freeware which are slightly stronger* , there is without doubt that Crafty has the most features available of any Winboard engine both free and commercial . Crafty can among other things process EPD , annotate games into a html output file .The documentation [this is for Crafty 181] that accompanies Crafty is also exceptional and gives a full review of all the features. Download Crafty . You might also want to join the Crafty mailing list administered by the author Dr Robert Hyatt. To subscribe, send a email to firstname.lastname@example.org with "subscribe crafty-list" in the body
A backup site with source codes of very old crafty versions (8.x is the oldest) can be found at Frank Quisinsky's website.
Note. In the past, positions that were favourable for Crafty were shown as a plus score and vice versa. Crafty after version 18, now displays a plus score, when the position is favourable for White and vice versa and this is regardless of the side Crafty is playing! Also Crafty versions after V18 support only SAN [Standard Algebraic Notation e.g. d4 ] instead of co-ordinate notation [e.g. 1 d2-d4].
* There are many others freeware acknowledged generally to be the equal if not better of Crafty. Eg Ruffian,Aristarch,Yace,Goliath etc. However, Crafty is still the only one where the source is available.
In general, Crafty works perfectly even without a crafty.rc file. However if you wish to have more control over Crafty a Crafty.rc file is necessary. You can either build your own using a text editor. Here's an example
book random 1
book width 2
display extstat You should change the tbpath to the directory where your Tablebases are and change the memory allocations. Be sure to leave the line of the crafty.rc file empty or put exit [not necessary for newer versions of Crafty after 17.14] on the last line by itself or it will not work!
If you are using Crafty 19.03 and above ,crafty can use "Adaptive hash tables" this means that it will automatically adjust the hash tables according to the time control.In general, the longer the time control the large the hash needed. See Discussion about size of transposition tables.Add the following line
adaptive 0.8M 12M 192M 3M 48M
Crafty needs to know the approximate speed of your computer and the first entry 0.8M would be the speed of crafty of 0.8 million Nodes per second or 800,000 nodes per second (obtained from running bench in crafty console mode). Based on the speed and average time per move , and time control (which is automatically available to crafty whenever the" level" command is sent at the start of a game) .Crafty will assumes that one of every 8 positions will be stored and allocate hash tables of this size. This can of course lead to very large hash tables so the next two entries allows you to control this. They represents the minimum and maximum hash tables you want to allow, while the last two entries represents the minimum and maximum hash tables you want to allow for pawn hash.
In general, Crafties complied by Eugene Nalimov are the fastest. Dann Corbit compiled versions probably come close but the best way to find out is by using the Bench command. Nalimov compiled versions will eventually be available at the usual UAB ftp after Dr Hyatt releases the source code.
Another site that you
might consider looking at if the UAB
site down (or if you are from Europe) is ftp://email@example.com:21/Yet
another mirror is http://www.chesslib.no.
If you are impatient ,you could use Dann
Corbit's complied versions.
(Click on download)
The best way to learn is to read the Readme and FAQ . A common misconception is that book learning occurs in the book.lrn file. In fact, any changes due to the book learning are written into the Book.bin files as well, but the book.lrn files serves as a record of the changes done. This allows Crafty users to swap book.lrn files to be imported.
Booksc.bin which you can download with Crafty is in fact no more than a ordinary books.bin file. It can be built using the command "bookc create xxx.pgn 60". It was built from the file start.pgn but after removal of unsound , especially gambit lines to ensure that a more suitable book can be built against other computers.
For Winboard version beyond 4.0.7 , whenever a engine match is played locally, Winboard will send the "computer" command. This is supposed to "alert" the engine that it is playing another computer. In Crafty's case, it will automatically overwrite your settings to play in a more cautious style. One of the changes is that book width is set to minimum value and book random is set to zero, and this will cause Crafty to always play the same "best" opening move. Against another engine [or in a mirror match against itself] that has little randomness in opening play ,this will lead to the same games being repeated over and over again. Apparently a few other engines like Dorky do something similar when the computer command is set.
Fortunately, from 4.2.3 onwards, you can over-ride this by preventing Winboard from sending the Computer Command by adding /firstComputerString "" or /secondcomputerstring "" to your Winboard.ini file.
Other GUIs don't send the computer command, so this might lead to the opposite problem where Crafty plays with a extremely wide book, including unsound openings.To correct this, you can manually set the book values, or add computer in the crafty.rc file.
Crafty is a really strong program and you may want to "dumb" it down. Depending on how strong you are you may need to do a bit of experimenting to get Crafty to play at a level you are comfortable at.
The main idea is to study crafty.doc carefully to see which parameters you can change in crafty.rc
Here are some possibilities
If you have problems adjusting the strengths downwards, you might want to try a weaker Winboard engine. See Section A.7 .
You will need to download the bitmaps, bitmaps_tar.gz from ftp://ftp.cis.uab.edu/pub/hyatt/common/, unzip the files and copy the whole bitmaps directory into the same directory as the Crafty executables.
Putting the line log=off in the crafty.rc file will stop the log files from being generated. But there is no way to stop the game.001 etc files from being generated.
MAD is probably Francesa's answer to the aggressive Rebel Tiger. MAD contains more knowledge than the normal Francesa but is slower as well. Tom King has indicated that the normal Francesa is probably stronger in short time controls, but MAD might be better in longer time controls and/or faster machines. Download both Mad and Francesa here.
Francesa needs to be "refreshed" after each game. Merely resetting doesn't work. This can be accomplished by adding the/xreuse command if Francesa is the first engine and/xreuse2 if Francesa is the second engine.
This holds true as well if you are adding the /mg command.Mad 0.7 no longer has this flaw.
The author of Knightcap is Andrew Tridgell. Knightcap is unusual among Winboard programs in that it has no opening book. Knightcap learns rapidly as well, the more Knightcap plays the stronger it gets. Dann Corbit has managed to get a version ported for Window users, however the port is not working perfectly, and there may be problems with the learning.
Setting up Knightcap is
not easy. Here are the steps
Little Goliath is written by Michael Borgstädt. Goliath has a reputation for being a extremely fast and tactical engine. It even solves some test suites faster than Fritz! Recent versions, are no longer as fast. A opening book generator is available as well. Download both the program and the opening book generator from the author's website.Goliath Light (Chessbase versions) can be downloaded from Chessbase
Versions 3.6 and above are available only in UCI mode.
There is essentially no difference between Goliath 3.0 and the Chessbase Native version of Goliath available for sale on "Young Talents" CD, except for the fact t1hat the latter supports endgame tablebases.You can find the latest Chessbase Native Goliath Light 1.5 at Chessbase. Seems to be removed now. Similarly the Winboard version Little Goliath 3.5 is almost exactly the same as Goliath Light 1.5 .
Also note, that the version 2.9a was actually released after version 3.0. In fact, 2.9 and 3.0 versions are actually slightly difference "lines" , the former is optimised for speed and is strongest at Blitz, while the later is supposed to do better with longer time limits.
[11-01-02] There is also a new Goliath Blitz 1.0 (also Winboard compatible) is available free for Chess Academy 2000 registered users. Goliath is the reigning Blitz World computer champion. [14-03-02]Free UCI version Little Goliath 3.5b is available. Versions 3.6 and above are currently only UCI.
Running Winboard with:
C:\Winboard\Winboard /mg X/-reuse /-reuse2
where X= no of games should solve the problem.
First check that you have turned the opening book on in Goliath.ini. Secondly, if you are using the new Goliath 3.0, you should be aware that the opening book names have changed since 2.9a. They need to be named Lgbook.dat ,Lgbook.ind for version 3.0 instead of book.datand book.ind respectively in the older versions. The format doesn't appear to be changed though, so all you need to do is the rename the file names.
The author of SOS is Rudolf Huber. SOS is a another Strong engine and it won the title of the best Amateur program in 2000. The latest Winboard SOS version is 11/99 [Nov 1999]. A beta version of March 2000, might exist but it was never released to the public. Instead the latest available version is a Chessbase Native version sold under the "Young Talents" CD. Also the package Shredder 5.0 by Millennium 2000 also offers a UCI version of SOS, which presumably is a newer version than the Winboard version.
Lastly, a free UCI only version of SOS is available with Arena.
The free Winboard version of SOS uses a fixed Hash of 20 Mb and can be downloaded at WBEC .
First check that you have a copy of cgywin1.dll. If it still doesn't work, try using SOS 11/99 or 10/99 respectively. Either one or both should work.
Note, SOS 10/99 does not appear to support endgame tablebases unlike SOS 11/99. [Unconfirmed]
From Winboard 4.2.0 (a beta version) onwards, a new Winboard protocol is used. In theory, older Chess engines that did not support the newer protocol should run just as well, but for some reason SOS totally failed to work. From 4.2.1 onwards a new command /firstProtocolVersion=1 was introduced. For SOS to work , i have this line in my Winboard.ini file:
"SOS10 c:\chesseng\Tb" /firstProtocolVersion=1 /fd=c:\chesseng\SOS10
Because of some particular problems in SOS requires the use of inbetween by Odd Gunnar Malin.. The instructions are as follows
5. Using SOS1199.exe with Fritz 6
The engines folder for
Fritz is after a normal installation
located at: C:\Program files\Chessbase\Engines
- Download the Winboard adapter from Chessbase’s web site and put it in the engine folder for Fritz, and rename it to sos.eng
- Make a new sub-folder in the engines folder and give it the name sos.
- Copy the Sos.exe file (11/99) to this new folder and rename it to sos1199.exe
- Copy InBetween.exe to this new folder and rename it to sos.exe
- Make a new text file and add the following text to it:
[Parameter] CommandLine =
Author= Rudolf Huber
Engine= SOS 11.99
Debug = False
LogFile = False
AnalyzeMode = False
PonderMode = False
CastleAndEP = False
EvaluationWhite = False
Save the file in sos sub folder and give it the name sos.init
- Make new text file and add the following lines to it:
Priority := low
[Client2Server] xboard :=
xboard\nnew\nlevel 0 5 0
Save the file in your sos sub-folder with the name InBetween.ini
Taken from the Inbetweenandengine.txt file