FAQ (frequently asked questions)

 

Here is the list of questions that have been answered, click on (or scroll down to) the one that interests you.

 

Basic questions

Q: How do I get started?

Q: What are the system requirements for this software?

Q: Program works fine, but Crafty starts to think from the very first move, is there any computer opening book?

Q: How does the time control work?

Q: How to use the 'Analyze' button?

Q: How does the Tournament mode work?

Q: Does this software run only on MS Windows?

Q: How to update from any previous Crafty Chess versions?

 

Error Messages

Q: "Run-time error '339': Component '???.OCX' or one of its dependencies not correctly registered: a file is missing or invalid".

Q: Critical error message - missing file "msvbvm60.dll".

Q: "Run-time error '52': bad file name or number" (or “path not found”).

 

Advanced users

Q: What about the source code?

Q: How to use the ‘Engine’ tab (available from the ‘Crafty: Control Panel’)

Q: How is the Crafty engine modified to fit this GUI?

Q: Is it possible to convert ‘crafty.exe’ VB6 source code to VB .NET?

 

Miscellaneous problems

Q: How to restore a broken configuration?

Q: The program is too slow (performance is poor)...

Q: After adding opening book files, the interface crashes...

Q: Crafty Chess starts to severally lag after some time of playing, what's wrong?

Q: Sound effects are distorted, what to do?

 

Additional configuration

Q: How to take advantage of multiple CPU system?

Q: How to pass special commands to the Crafty engine?

Q: How to permanently prevent Crafty from surrendering?

Q: I there any additional way to adjust the Crafty’s strength?

 

Miscellaneous questions

Q: Is this all free and what are the guarantees?

Q: What are the limitations?

Q: Why Crafty is stated as GM level program?

Q: Does this GUI support Winboard/UCI?

Q: Does this interface support 64bit Crafty?

Q: How to switch move variations in the "Move list" (the colored moves)?

Q: How to manually set up a board position?


 

Q: How do I get started?
A: First download the main program files (binaries in a zip archive), use some decompression utility to extract the binaries from the archive (generally this means right clicking on zip file and choosing 'extract' option). Next start the main program executable file "crafty.exe" (the one that has two chess pieces drawn on it). If you happen to encounter any problems just read this article further.

 

Q: What are the system requirements for this software?

A:  The following is an estimation of technical parameters for your computer to support this program:

OS: Microsoft Windows 9x/ME/2K/XP/Vista/7, Wine (note that on Wine the program might be slightly less functional)

HDD: 35Mb of free disk space                                             

Screen: 800x600, 256 colors (16-bit colors recommended, though the program is usable even on 16 color display)

The following is minimum, but also depending on OS:

RAM: 64 Mb

CPU: ~400Mhz, with SSE and SSE2 instruction support (my website also contains non SSE crafty.dll compile)

System libraries: Visual Basic 6 Run-Time            

 

Q: "Run-time error '339': Component '???.OCX' or one of its dependencies not correctly registered: a file is missing or invalid".
A: This means that the program is unable to register and use the included (and required) OCX control files - most likely you aren't starting the program in Administrator mode. This is particularly frequently met on Windows Vista and Windows 7 (though sometimes on XP or probably even earlier Windows versions).

You will have to either right click on the program (‘crafty.exe’)  and choose “Run as Administrator” or if this won’t work - enable the true Administrator's account.
An article about how to activate the true administrator’s mode on Windows Vista might be found here or here.
A simple way to do this is - to open the "Control Panel", (“System Security” if in the “Category view” on Windows 7), "Administrative Tools" (in most cases), "Computer Management", "Local Users and Groups", "Users" folder, now to the right you should see the "Administrator" icon, right click its context menu and choose "Properties". Remove the check mark from the "Account Is Disabled" box and click "OK", the next time you will start Windows you should see the Administrator account logon option.
(Note: Only experienced Windows users who know what they are doing should create Administrator account!)

 

Q: How to restore a broken configuration?

A: try “Tools - Options - Defaults – Yes”

You may alternatively reset all configurations by opening Windows Registry Editor (regedit.exe), and deleting the following key "HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Valters'n'Co\Crafty_GUI" (i.e. to right click on 'Crafty_GUI' and choose 'delete' – note: Windows Registry manipulations should be done only by an experienced Windows user, with good knowledge about the registry editor)

In some cases you may also try to delete the files ".\crafty.rc" and ".\data\crafty.dat".

Window positions can be restored via the menu “Windows – Default positions”.

 

Q: Critical error message - missing file "msvbvm60.dll".
A: This is almost definitely due to missing "VB6 Run-time library" on your system.
You can get the installation of this library from the following link:
http://download.microsoft.com/.../VB6 .0-KB290887-X86.exe
(most Windows versions include this library - this download is for Wine, Win9x or other rare users)

In some cases the installation of this library may not work, a possible solution is to extract (using some archive decompression agent) the run-time library files into the main directory of the Crafty Chess (e.g. ‘msvbvm60.dll’ next to ‘crafty.exe’ etc.). Also in some rare cases (like Windows95) you may need to update Internet Explorer for this library to function!

 

Q: "Run-time error '52': bad file name or number" (or “path not found”).
A: Check to see if the path to crafty.exe doesn't contain any non-ansi characters - that is some folder name in path to the folder where you unzipped the binaries is not in English (Cyrillic or something). The safest course is then to try putting your binaries in some folder like "c:\craftychess\".

 

Q: Does this software run only on MS Windows?
A: No, there are Windows emulators and compatibility layer software that provide ability for other OS (Macintosh OS X, Linux/Unix etc.) users to run Windows programs. A very great one is Wine

(However this may require advanced computer skills.)

 

Q: Program works fine, but Crafty starts to think from the very first move, is there any computer opening book?
A: Yes there is! There are three book files you can get from Dr. Hyatt's ftp site :
ftp://ftp.cis.uab.edu/pub/hyatt/book/
You must place them in the same directory where the main executable file ("crafty.exe") is.

 

Q: After adding opening book files, the interface crashes on startup or the book just does not work...
A: You probably added Crafty book files from wrong version of Crafty. You should add the suggested book files! (see previous question)

 

Q: Is this all free and what are the guarantees?
A: Yes it is absolutely free! As I state in the license file - it is here, because I don't mind sharing it. There are however no guarantees - you must use it at your own risk!

 

Q: What are the limitations?
A: The only limitation is that you may not redistribute it in any modified form. (Unless you receive a written permission from me)
( note that this is not because of author's dislike for a possibility of anyone improving the program, but for a bunch of other strong reasons )
!

 

Q: What about the source code?
A: It is provided as additional download. It requires "Microsoft Visual Basic 6" and Code Blocks with "Mingw" compiler for you to be able to fully modify the program. (and of course - good C and Basic language programming skills...)

 

Q: Is it possible to convert ‘crafty.exe’ VB6 source code to VB .NET?

A: I have tried this, and realized, that due to wide API usage and large amounts of incompatible code this is almost impossible – it would probably be easier to rewrite the whole program on VB .NET from scratch…

 

Q: The program is too slow (performance is poor)...

A: There are several things you can do to improve the program's performance.

 

Q: How to use the 'Analyze' button?

A: When you click the 'Analyze' button 'Crafty Window' will automatically open and Crafty analysis mode will be activated (using all current evaluation settings, including current skill). In this mode Crafty just evaluates the current board position and prints its evaluations in the 'Crafty Window'. The most important factor 'score number' should be highlighted automatically (and the corresponding best move/line to the right of it), a positive number will mean that white is better by that amount of pawns and a negative number will mean that black is better by that number of pawns. As the search progresses a better and better (more accurate) estimation should be found. If you have opening book enabled, in opening it will just print the book moves, in this case remove the 'Book' checkbox, and it will then continue evaluation on its own. Current version will automatically exit the Analysis mode when you close 'Crafty Window', but you can also exit it by pressing the 'Stop' button.

 

Q: How to use the ‘Engine’ tab (available from the ‘Crafty: Control Panel’)

A: Generally, if you don’t know how to use it – don’t use it! This is for advanced users who want to experiment with the various Crafty chess engine evaluation parameters, that in theory allows you to create custom Crafty personalities with different playing styles.

Any changes you make to these parameters are only applied to the engine when you click the ‘Apply’ button. These changes are for current Crafty chess session only (meaning they won’t affect the program when you start crafty.exe next time), but you can make them permanent by clicking the ‘Save’ button and saving ‘crafty.cpf’ in the main directory of the binaries. Please remember if you do this, since it will change the way Crafty thinks permanently until you either delete the ‘crafty.cpf’ or replace it with one containing different settings. Also this overrides the default skill setting (for every new session). The only exception is that Crafty Chess will always automatically load default personality during the Tournament mode, but will restore your settings when the tournament game is over.

For additional meaning of every parameter read the Crafty documentation and/or search net, read Crafty source code. In case of two value parameter it will always mean that the first parameters affects evaluation parameter for middle game stage, and the second affects if for the endgame stage ([mg] [eg] format). Some additional info can be found if you type ‘pers list’ command in the ‘Crafty Window’. Also take in consideration, that multiple square values, that you edit in a special dialog are always for the white side. The same values for the black side will be the same or will be automatically mirrored!

( In general this is only for experimentation! )

 

Q: How is the Crafty engine modified to fit this GUI?

A: In Crafty Chess Interface first versions there were literally few lines of modified and added code to the Crafty source code, to make it into a compatible DLL for the interface, but as the versions grew, it piled up into little more than just a few lines (lots of new features etc.).

The source code is modified so that it echoes the Crafty engine output text directly to the GUI executable memory space, where GUI parses every line to find the important text (Crafty's moves etc.).

There are absolutely no modifications that change the way Crafty thinks and plays moves and the speed of the available SSE compilation should be one of the best, that you can currently get, not counting the rather small share of the GUI routine CPU time.

(You can test NPS amount (nodes per second) using "bench" command both in GUI's "Crafty Window" and in the console application compilation of your choice - usually this takes several minutes)

 

Q: How to take advantage of multiple CPU system?

A: The idea of taking advantage of multiple CPUs, thus severally increasing search speed is very interesting one, but should be taken with caution and be tested well by the user himself, other ways just make out with the default settings.
To enable multi-threading you must open the file "crafty.rc", found in the root directory of the binaries, in a text editor and add a new line (anywhere before the "exit" command) that says "mt #", where "#" is the number of parallel threads to use (this should mimic the number of your CPUs). A simple way to do this might be to click the "Start" button, "Run" command, type in "notepad", click [OK], drag and drop (with mouse cursor) the file "crafty.rc" from the crafty chess folder to the middle of the Notepad window, click the cursor before the first letter in the text, type (without quotes) "mt 2" (supposing you have two CPU system), click [Enter] (for new line), close the Notepad window, and confirm saving of the changes.
Currently the logical limit is set to 16 CPUs (the limit can be changed only by recompiling crafty.dll with different "CPUS=16" predefinition), although nowhere near to such high number of processors has been tested by the author, so test yourself and see how the program works.

(Note: if you are worried about Crafty Chess taking up CPU time while on your move, with no pondering and multi-threading on – then make sure you add a line “smpnice 1” (without quotes) in the “crafty.rc” file, but this probably has a downside of added lag to the Crafty moves) 

 

Q: How does the time control work?

A: The whole features of the time control might be somewhat tricky to a someone new to the interface. First of all most important setting - whether bypassing 0:00 seconds triggers loss on clock or not - this is controlled by the "On" checkbox in "Clock" frame of the "Crafty: Control Panel" window.

The current GUI version supports "minutes for moves" and “Fischer’s incremental” time control along with the simple minutes for game. This is also found in the "Clock" frame and adjusted rather easily.

Note: If you want to change the remaining time during game, then the best way is to set the desired minutes left, in the "Clock" frame and click set, but it's also possible by double-clicking on the clock’s label!

 

Q: How does the Tournament mode work?

A: The tournament mode is for those who want to exercise their skills in real, tournament-like conditions, where you can not take back moves, pause a game or do anything else that offers an unfair advantage, plus with gradually growing skill of opponent (Crafty) as you win the games.

To enter the tournament just click the big "Tournament" button, followed by "New User", enter the required data, click [OK] and use the created profile for playing the tournament games further on.

A few things, to note:

 

Q: Why Crafty is stated as GM level program?

A: The decision to put Crafty in GM category is based on its online ratings, results against other programs who have good results against chess grandmasters, known results against strong human players and other known facts.

Computer chess programs usually isn't awarded this title, also programs play a lot different than humans and compute their moves 99% differently than humans. The term GM is a broad one, but generally describes a world class chess player with an international ELO rating of at least 2500 points. Crafty's strength of course also depends on the machine it runs on, the time control, the engine version and configuration.

 

Q: How to pass special commands to the Crafty engine?

A: Open the "Crafty Window" (from the menu "Windows - Crafty Window") and enter your command in the bottom text field of it followed by the [enter] key. You can learn more about Crafty commands from the "Crafty commands" section, found in the index of help files, though it might be somewhat outdated - studying Crafty's source code "options.c" file might help if you are familiar with the c programming language. In general this is for advanced users, and not all commands have been tested - some might compromise the GUI's stability and might not work the same way as if you would be entering them for a console compilation of the Crafty!

 

Q: How to permanently prevent Crafty from surrendering?

A: Click the 'Engine' tab in the "Crafty: Control Panel" and double click on the "resign" parameter to open the "Edit" dialog. Type in "0" (without quotes) in the text field, click [Ok], Click [Save] in the "Engine" tab's dialog and confirm saving as "crafty" (file type *.cpf) - make sure your Crafty 'skill' setting, when doing this all, is the one you wish for every Crafty Chess startup, as the "crafty.cpf" will save "skill" along with "resign" and other evaluation options for applying to Crafty engine on every Crafty Chess startup.

 

Q: Is there any additional way to adjust the Crafty’s strength?

A:
* read this FAQ about how to pass special commands to Crafty and try passing the "sd" command to Crafty - for example "sd 2" (without quotes) would make Crafty look only one move ahead, while "sd 4" would make Crafty look two full moves (4 ply) ahead etc... You can try these in connection with the skill setting of your choise and configure Crafty for almost any level of chess - from beginner to grandmaster.
* Also the new option "play unrated game" in the "Tournament" window will allow you to disable any cheating options (like taking back a move) and play a tournament game, just without change in your rating (skill).
* The weakest Crafty you can make by these two options is to the the skill slider bar to 1%, click [Set], and type in the command window "sd 1" (without quotes). If you wish to restore Crafty for maximum depth searching - type "sd 0", also the "sd" command is reset once you restart the GUI, unless you put it in the "crafty.rc" file.
* Handicap: if you have really just learned moves you can also try some piece handicap options: click "Tools - Position setup", click "Main Position" (in the "Board setup" window), right click on the black piece or pieces you wish to remove and click "End Setup" + "Ok", now you can also apply "sd" and "skill" options, or just "skill" or "sd".
* Time control: In case you do not play these settings in the "Tournament" mode, then it's advised to uncheck the "On" checkbox found in the "Clock" frame of the "Crafty: Control Panel" window, this will disable losing when your time runs out, so you can think as long as you need.

 

Q: Crafty Chess starts to severally lag after some time of playing, what's wrong?

A: Almost the only possibility for this is that you have unchecked the "auto cut" checkbox in the "Crafty Window" - please note, that such non-100% self explanatory commands should be used only by advanced users, who are aware of potential problems that might arise. The  particular "auto cut" options prevents older Crafty engine output text from automatically removing - thus causing it to pile up in large  amounts - taking up much of computers processing and memory resources - thus causing severe lag and probably even crashing or freezing. The option is meant for powerful systems, when you absolutely must record all the engine output.

Almost the only other possibility is some problems with multi-threading, if you have enabled it on a multi-processor system - this would most likely then be some probable GUI or Crafty bug - you might try experimenting with the "smpnice 1/0" option ("smpnice 1" for terminate threads after each move, and "smpnice 0" to keep them) or changing thread count ("mt 1" is the safest option, while second to safest is "mt 2").

In any case you might try the steps given in the "broken configuration" question-answer of this FAQ!

 

Q: Does this GUI support Winboard/UCI?

A: No. This interface is for Crafty only. If you wish to match Crafty against other standart computer chess protocol engine there are plenty of chess GUIs that support the Winboard protocol (Winboard being one of them).

 

Q: How to update from any previous Crafty Chess version?

A: It is highly recommended to do a "clean" install - i.e. not to copy the new version files over the old ones, also it is recommended to reset all the settings when you first start a new version (Tools - Options - Defaults - Yes).

 

Q: Sound effects are distorted, what to do?

A: This might happen if you have enabled multi-threading on a multi-processor system.
* One of the most promising solutions in any case is to go to "Tools - Options" and lower the "Crafty engine priority" slider (by setting it to the left). If this does not help, then try all the possible states of this slider. Note that this will change search speed of the Crafty engine (it changes the amount of CPU time per real time that is given to the engine).
* Other option might be to update your sound card drivers or possibly install the original ones from manufacturer's website. You can use a search engine (google for example) to find info about how to do this.
* You might choose to disable the multi-threading if it's the cause of this, by removing the "mt" line from "crafty.rc" (if you added one in the first place).
* Close other applications while running the GUI. Also this problem has been observed only on "Windows 7" not on "Windows XP". And it seems to be multi-threading related (Crafty engine clogs up the processor that Windows uses for sound playing).
In general this seems to be a Windows 7 issue (mostly with unsupported on-board sound cards). You might even have to consider getting an officialy support sound card to fix these issues.

 

Q: Does this interface support 64bit Crafty?

A: Unfortunately that would require a completely different Crafty engine implementation and interaction method with its pros and cons, no doubt 64bit Crafty is faster, but in this case you just have to accept the 32bit (which isn't that bad at all) or choose a different GUI like Winboard that runs Crafty as a separate process.
So the answer is no, however Crafty GUI usually does run well enough on 64bit systems as they support it.

 

Q: How to switch move variations in the "Move list" (the colored moves)?

A: Just right click on the bolded&colored move and choose variation. Notice that by following the red colored moves helps you get back to the initial game.

 

Q: How to manually set up a board position?

A: Click "Tools - Position Setup" menu. The "Board Setup" window should appear right on top of the "Move List" window. Drag pieces from it to the board, use right click to delete a piece from square etc.. After you finish click the [End setup] button, followed by choosing the side to move and [OK].