Welcome to:

 

  Tim Foden's
  Internet Site


  This page was
  last updated on
  3 March 2002

  Send e-mail to the
  Webmaster



  Site hit counter:
 
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'timfod_1'@'localhost' (using password: YES) in /home/www/7sun.com/utils.php on line 20

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 21

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 21

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 60

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 60

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/7sun.com/utils.php on line 61

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 66

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 66

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 77

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 77

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/7sun.com/utils.php on line 78

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 103

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 103

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 111

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 111

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/www/7sun.com/utils.php on line 114
000001

  Since: 19 Jan 2009

  Page hit counter:
 
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'timfod_1'@'localhost' (using password: YES) in /home/www/7sun.com/utils.php on line 20

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 21

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 21

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 60

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 60

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/7sun.com/utils.php on line 61

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 66

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 66

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 77

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 77

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/7sun.com/utils.php on line 78

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 103

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 103

Warning: mysql_query() [function.mysql-query]: Access denied for user 'timfod'@'localhost' (using password: NO) in /home/www/7sun.com/utils.php on line 111

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/www/7sun.com/utils.php on line 111

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/www/7sun.com/utils.php on line 114
000001

  Since: 19 Jan 2009

  Page Contents
  * Summary
  * Changes
  * Downloads
      * Win32 GUI
      * WinBoard
      * WinCE
      * Book utility
      * Prebuilt books
  * Links

Home Page | Green Light Chess | Newquay Jive Club | Arcade Games | Programming | Science Fiction Books | About the Author


Green Light Chess (v2.18)


SUMMARY INFORMATION

[A quick note: If you use GLC and find any bugs... or you find any broken links on this page... Please e-mail me with the details!]

Green Light Chess is a WinBoard engine that plays chess. In order to use with a nice user interface, you will have to download and install WinBoard too.

There are three old versions available:

  1. A Win32 command line version for use as a WinBoard engine. Current version 2.18.

  2. The normal GUI Windows version for Win32 (Win95/98/NT/2000). Current version 2.09.

  3. A WinCE PPC version compiled for MIPS processors. Current version 0.9.

In order to keep the confusion to a minimum, all versions that contain the same engine code will be given the same version number. The version number of the current engine release is 2.18.

There is also an opening book utility (current version 1.4) available that will create opening books for GLC from PGN files.

I have removed the lengthy but increasingly out-of-date program algorithm descriptions. I am considering adding them again, but as a separate page.

Back to top


CHANGES FOR THE 2.18 RELEASES


ENGINE CHANGES

Modified PV storage so that it is hopefully faster. Changed so that PV is found for fail highs and fail lows. Now stuffs the PV back into the hash table after a search.

Changed so that if there is only one valid move, the engine still searches it if it is in analyse or ponder mode.

Fixed a bug in the search repetition draw test, which would cause a root move to look like a draw by 3-fold repetition, when in fact we are only on the first repetition.

Moved the Zobrist hash constants so that CPosition can use them as well as CBoard. This is in preparation to change the opening book to a hash table rather than a tree. Added incremental hash calculation to the CPosition class.

Added simple material totals (1, 3, 3, 5, 9) for each side to the incremental board values. Also added a count of each type of piece on the board to the incremental board values. This resulted in a small slowdown in move making speed. These values are now used in a number of places instead of using CountBits() or comparing the user defined material balances.

Changed all GenXXXXMovesBitmap() functions to #defines. This resulted in a small increase in speed.

Moved the draw by 50 moves rule test to the end of TestGameFinished. Hopefully this should mean the GL doesn't think it is a draw when it is checkmate on the 100th ply.

Changed default value of a doubled pawn from -55 to -30. Modified some of the King safety defect values slightly. Modified the non-linear king defects lookup table so that the change from early king safety to later king safety is smoother, and generally not quite so bad.

Changed rook behind passed pawn evaluation so that it is different depending on the rank of the pawn.

Changed rook evaluation in the endgame so that it isn't quite so bad to be in a corner (was -100, now -50).

Modified pawn static evaluation in the opening and midgame so that there aren't negative values in front of the flanking pawns.

Added detection of a 'potential' passed pawn. This is a pawn that will eventually win a fight with a single pawn on an adjacent file ahead.

Modified static king safety positional defects so it is not quite so bad for the king to move around behind his pawns.

Fixed numerous bugs with bishop square colours, and pawn queening square colours.

Changed test for game stage to use the simple material values (not including pawns) rather than the total number of pieces (not pawns) on the board.

Redesigned code that deals with hinting for positions with few (<=5) men. Added some hints for KRP-KR, KRP-KB, KRP-KN.

Reformed the per-piece analysis to deal with one piece type at a time. This resulted in around a 5% speedup in evaluation.

Added knowledge of opposite coloured bishops in the endgame.

v2.17 -- This released fixed a bug with mate scores in the hash table, which could have the effect of possibly making GLC unable to complete a mate sequence.

v2.18 -- This release fixed a number of pondering bugs and various time-allocation bugs.

Back to top


CHANGES TO WIN32 GUI INTERFACE

Still none. Still plan to release at a later date. Will probably just be a GUI for the WinBoard version.

Development of the GUI has begun: It's called Chess Nut. It's still going to take a while before it is available, though.

Back to top


CHANGES TO WINBOARD INTERFACE (v2.16 to v2.18)

Added ability to setup and probe Edwards endgame tablebases. PLEASE NOTE - this is only in the WinBoard wrapper, it is not in the engine, and will make no difference whatsoever to the strength of the engine. At current it is just so I can investigate (1) the correctness of my internal KPK tablebase code ("kpktest") (2) can probe endgame positions manually ("tbprobe") (3) can do some investigation of endgame positions ("tbanal") so that I can more accurately code the endgame part of the static evaluation. ** In the future, endgame tablebases will be supported in the search... but don't hold your breath :)

Changed the "bk" and "bkp" commands to be more natural. "bk" now performs a book probe. "bk on" and "bk off" switch the book usage on and off. "bkp" is no longer supported. A new command "book" is added so that book can be changed from the command line.

Increased the priority of the wrapper threads (not the engine search thread). Hopefully this will cure (minor, rarely ocurring) problems with running out of time.

FEN (or SetBoard) now complains of the side-to-move hasn't been specified.

Added ability for the user to completely change the name that is reported to WinBoard. Previously "glcXXX-" (XXX == current version number) would still be tacked on in front of it. To use this you add "-name the-name-I-want" to GLC's command line.

Back to top


DOWNLOADS

Items to download:
* GUI Win32
* WinBoard engine
* WinCE PPC 2.11 MIPS
* Opening book utility
* Prebuilt opening book files


WIN32 GUI

The executable for the normal GUI Windows version is available from the zip file glc209.zip (270K).

To install simply copy the zip file to the directoy you want to install the program into (e.g. c:\Program Files\GLC) and unzip it.

IMORTANT NOTE: If, when you start the program, you only get a board with letters for pieces, then you need to install one (or all!) of the supported free True Type fonts.

These fonts are the free fonts which can currently be found at the Chess Word Macros & Fonts page maintained by Hans Bodlaender. Simply install them under windows in the usual fashion (drag the *.ttf files into \Windows\Fonts) and they will work with GLC.

You can then select which font you want to use via the "Options / Select font for pieces..." menu item.

I know that having to install a font to use the program is a pain. I have done some research and I now know how to get the program to install one automatically, so this feature may appear for a future version.

The current list of supported fonts is:
Chess Alfonso-X, Chess Berlin, Chess Condal, Chess Harlequin,
Chess Kingdom, Chess Leipzig, Chess Line, Chess Magnetic,
Chess Mark, Chess Marroquin, Chess Maya, Chess Mediaeval,
Chess Merida, Chess Millennia-L, Chess Motif, Chess Regular,
Chess Usual, Chess Utrecht, Tasc Chess Figurine, Traveller Standard.

Back to top | Back to downloads contents section


WINBOARD ENGINE

The version for WinBoard is available in the zip file glc218-wb.zip (240K).

I have tested this with version 4.2.3 of WinBoard (see Tim Mann's site for current versions of WinBoard).

WinBoard facilities supported by GLC
Move nowYes
Edit positionYes
AnalyseYes
PonderYes
ResignYes. Will resign after 3 successive searches produce a score <= -6.5. If playing a wild5 game GLC will resign after 3 successive search produce a score of <= -25
Hash tableInitally 6MB. Use "-hash n" command line parameter to change.
Opening bookYes (use GlcBook to create). Select "Help/Book..." to probe book with current position.
Table basesNo
Log fileYes. Use "-log" command line parameter to switch this on. Log file will be called "glc218.log"

In order to use GLC as an engine under WinBoard you can use a command line like this:

C:\>winboard /fcp="glc218-wb -hash 24" /fd="c:\Program Files\GLC"

You just need to replace "c:\Program Files\GLC" with the directory where you have installed the executable on your machine.

Alternatively, you can edit the WinBoard.ini file. Here is an example section of the WinBoard.ini file with GLC installed for both the first and second computer dropdown list boxes, asking for 24MB hash tables:

/firstChessProgramNames="GNUChess
\"glc218-wb -hash 24\" /fd=\"c:\\Program Files\\GLC\"
"
/secondChessProgramNames="GNUChess
\"glc218-wb -hash 24\" /sd=\"c:\\Program Files\\GLC\"
"

The hash sizes available in the current engine are:
1MB1.5MB3MB6MB12MB24MB 48MB96MB192MB

You will be allocated the largest hash table size that is smaller than or equal to the size you specify. NOTE: Please take care to allocate a small enough hash table to fit in the memory of your machine. A good recommendation is to use at most half of your ram size as a hash table.

Back to top | Back to downloads contents section


WINCE PPC 2.11 MIPS

Finally, an older (roughly equivalent to version 2.08 of the main WinBoard engine) WinCE PPC MIPS version is available from the zip file glc09-ppc211.zip (88K). This is a bit of a pain to compile, as I have to copy the code onto my portable Win98 machine, compile it, and copy it back... so I haven't updated the engine in this yet.

Unfortuanetely I have only compiled this for MIPS processors, so if you have any other kind of processor in your WinCE machine, it definately won't work.

Back to top | Back to downloads contents section


OPENING BOOK UTILITY

GlcBook is now at version 1.4, and is available via the zip file glcbook14.zip (91K).

This version now adds information into the book file that records the frequencies of moves taken from a position. The new engine will use this information to weight its random choices of moves. This means that GLC will now very rarely choose strange opening lines. This ability can be switched off in the book builder by using the command line parameter "-nocount".

The default opening book for GLC is always called "opening.book", and should reside in the same directory as the executable file (e.g. the same place as glc209.exe or glc218-wb.exe). It is possible, however, for the opening book to be specified for the WinBoard version of GLC using the command line parameter "-book <bookname>>"

There is currently no way to remove openings from the book file. You can however keep adding as many as you want.

A short example is will probably be clearest. To create an opening book from Crafty's small opening book (small.txt) you just need to start a DOS Prompt, change to the directory where you have installed the programs, and enter the sequence:


C:\GLC>del opening.book
C:\GLC>glcbook14 opening.book small.txt

NOTE: If you type GlcBook on its own, with no parameters, it will give a short description of the parameters it will accept. e.g.:


C:\GLC>glcbook14

GlcBook v1.4 - Manipulates opening book files for Green Light Chess.
Copyright (c) 1999, 2000 Tim Foden; All Rights Reserved.

Usage: GlcBook <book file> [[options ...] <pgn file> ...]

Options stay in force until changed by another similar option:
  -W         Add following files for white only
  -B         Add following files for black only
  -WB        Add following files both white and black
  -DEPTH n   Add following files to depth n (ply) only [default=15]
  -NOCOUNT   Don't put move frequency counts in book (for compatibility
			 with older versions)

Back to top | Back to downloads contents section


PREBUILT OPENING BOOKS

Four prebuilt books are also available for download.

~~~~~~~~~~~~~~~~~~~~~~

The first is a book built from Crafty's small.txt (see example below for how this is done). This file has the name opening.book as it is intended to be the default book for Green Light Chess. It is downloadable in zip file form from the file opening.zip (117K).

~~~~~~~~~~~~~~~~~~~~~~

The second book has been created by Carlos Pesce. In his own words, here is a description of the contents of the book.

Hi Tim!!
Here is a book with:
White: e4, d4, c4 and Nf3
Black: Sicilian, French and Petroff against e4; Grunfeld, Slav and Volga against d4; c5 against c4 and d5 against Nf3, f4 and g3.

It was built with separate black and white books: carlos.zip (350K). The zip file expands to a file called carlos.book. You can specify that GLC is to use this book by adding the command line parameters "-book carlos.book".

This file contains a tree for white and a tree for black, merged into a single file. You can add new opening sequences for either white or black, or simultaneously for both colours. The openings are added from a PGN file containing the lines you want to add.

~~~~~~~~~~~~~~~~~~~~~~

The third and fourth books have both been created by Arturo Ochoa.

The third is a very large book GreenLightChess211_2001_opening_book.zip (58M), that is available from Dann Corbit's FTP site. I think (but I'm not sure... don't sue me!) it was generated from a PGN file that is separately available. There is a readme file available that describes the contents of the book.

The fourth is a cut down version of the previous book, and this is also available from Dann Corbit's FTP site. , called greenlight211_2600ob001.zip (2.3M).

Although these books say that they have been created for v2.11 of GLC, they will also work with later versions. In particular they also work with v2.18 of GLC ;-)

Back to top | Back to downloads contents section


LINKS

For WinBoard see Tim Mann's site.

To get the chess fonts that are supported by GLC, and for help on printing chess diagrams, see Hans Bodlaender's True Type chess fonts and Chess Variants site.

If you want to know anything about WinBoard and the free (or otherwise?) chess engines that can be used with it, the first place to visit is Frank Quinksy's excellent site.

An evaluation of WinBoard chess engines, using a simplified rating scheme, is available at Volker Pittlik's site.

George Lyapko runs two tournaments for WinBoard compatible engines. There is a continuous round robin 40/5min blitz tournament, where GLC 2.11 is currently in position 13/83, with a rating of 2406 ELO (2 March 2001). He also runs a Game/30min round robin tournament with 6 leagues. GLC 2.11 recently came 4th in league B (26 February 2001). GLC's rating from the G/30 tournaments is currently 2356 ELO (17/75). For more info see his main WinBoard page.

For Blitz tournament results that include lots of WinBoard engines go WYx's site. This site also has a ranked list of estimated Blitz ELO for these engines (GL ranked 19/53, 2241 ELO as of 29-6-2000).

For a nice review of an older version of GLC see Rae West's site. Rae has a very interesting site... it is worth going to his home page just to be awed by the extent of it!

Back to top