Frittle

frittle
(fritt'-ul) n. a temporary mark on the skin caused by the impression of a textured surface. [... inspired by the similar pattern on the butterfly known as Frittilary, for its checkered markings, from Latin fritillus meaning a chess board].

Frittle is a computer chess engine developed by Rohan Padhye. It uses the WinBoard/XBoard Chess Engine Communication Protocol to interface with a GUI. Frittle is open source, so you can download and view the code for free, and modify it if you feel like changing or improving some functionality.

About the Author

Rohan Padhye is a student at the Indian Institute of Technology Bombay. If you need any help with Frittle or if you just want to say hello, you can always drop an e-mail to rohanpadhye((at))gmail.com.

About Frittle

Frittle is written in Java and is cross-platform. It has matured to a stable status. Here, "stable" means that it does not crash or have any major bugs, but there is still a lot of scope for improvement of playing strength, which is estimated to be of around 1400-1500 Elo strength based on its performance in ChessWar, a world wide chess league operated by Olivier Deville. This means that Frittle plays just about as strong as a good human chess club player.

Download

You can download the latest release of Frittle through the SourceForge.net Downloads page. There are 3 types of releases with each version:

Usage

To run Frittle, you need to have a working Java Runtime Environment. If not, Get Java. At least Java 1.5 is required. Frittle does not come with a Graphical User Interface. You can play it using the command line or through any GUI that supports the XBoard protocol. Examples of such GUIs are WinBoard (Windows), XBoard (Linux) and Arena (Windows). For instructions on using Frittle with these GUIs see below.

Running Frittle on the command line

Simply open up your console/terminal to the directory in which you extracted Frittle and then type the following:

java -jar Frittle.jar

Type help to list the available commands you can use. To just start playing, enter your move (eg. e2e4).

Frittle with Graphical Interface on Windows using WinBoard

First, download and install WinBoard. This is a graphical interface that lets you play chess against a number of compatible engines such as Frittle, Crafty, GNUChess, etc. Once you install WinBoard, download Frittle and extract the files in the same directory in which you installed WinBoard. Now, create a new shortcut on the desktop and in the 'path' field enter the following:

"C:\Winboard\winboard.exe" -cp -fcp "Frittle" -scp "Frittle"

Change the path in blue if you installed WinBoard in some other directory.

Voila! Now when you double-click on that shortcut it should open up the GUI with Frittle loaded. You might ask why you have to mention Frittle twice - That's to tell WinBoard that in Computer vs. Computer mode you want both the First Computer Program (-fcp) and the Second Computer Program (-scp) to be Frittle. If you want some other engine to play against Frittle, you can (assuming the other engine has been installed). For example, to play against GNUChess (included with some Winboard releases):

"C:\Winboard\winboard.exe" -cp -fcp "Frittle" -scp "GNUChess"

Of course, if you installed WinBoard in some other drive or path, then change the path of WinBoard accordingly. If you installed Frittle somewhere else (that is, not in the WinBoard directory), you can still link to it but then you must also specify the path where Frittle is stored. For example,

"C:\Winboard\winboard.exe" -cp -fcp "Frittle" -fd "C:\Frittle" -scp "Frittle" -sd "C:\Frittle"

In this case, change the blue path to wherever you might have installed WinBoard, and change the red path to wherever you extracted the files in the Frittle package. -fd indicates the First program Directory and -sd indicates the Second program Directory (this might be different if you are playing against a different engine).

Frittle with Graphical Interface on Linux using XBoard

This is somewhat similar to the method mentioned above. Download and install XBoard. Then download Frittle and extract the files to the directory in which you installed XBoard. Then simply perform the following command:

xboard -cp -fcp "java -jar Frittle.jar" -scp "java -jar Frittle.jar"

You can also create a KDE/Gnome launcher for the above command to allow quick launching from the desktop.

Technical Details

Frittle is written in the Java programming language. The current version uses the following components/techniques:

Hopefully, in the future, Frittle will include:

Acknowledgements

The Beowulf project (author: Dr. Colin Frayn) for its articles and opening book. Although the opening book provided for download is generally used for machine learning, Frittle uses it directly, assuming the playing frequencies as move weights. Until Frittle implements its own opening book strategy, this is the way it will go.

Olivier Deville for his help in providing me numerous test results with other chess engines which I used to fix all those bugs that just can't be caught without extensive game-playing.

This project is hosted by:SourceForge.net