Table of Contents
GromitChess

 Table of Contents

Online Help for Gromit Chess:
This help describes briefly how to use GromitChess. I assume, that you know the rules of chess and how to work with Windows applications.

Table of Contents:

Gromit's Window

Playing a Game

Menu

Keys

Advanced Features

About GromitChess

Copyright

Read readme.wri (german)


Gromit's Window
GromitChess

 Gromit's Window

The Window :

You can position Gromit's window with the mouse, iconify it with the iconify-button on the top-right, or quit GromitChess by clicking the close-button on the top-left.

The Titlebar :

The Titlebar shows the title of the program (GromitChess 1.1) and the filename of the present game (default: gromit.chs).

The Menu :

Choose one of Gromits functions with the mouse. In the game  menu you can start a new game , load save print  a game, enter a comment  for the current game, take back moves  and exit  GromitChess.
In the board  menu you can flip  the board, setup  the board, print  it or show a list of the captured pieces .
The clock  menu has options to start , stop  or set  the clock.
The Gromit  menu allows you to influence the way Gromit plays chess. It is possible to limit Gromits maximum searchdepth , change the style  of play, and to enable/disable Gromit thinking during opponents time (pondering ). You can enable/disable the Endgamedatabase  and the openingbook edit the openingbook , edit evaluationparameters  of the chess-algorithm, enable/disable autoanswer  or start a selfplay  game Gromit vs. Gromit.
The options  menu lets you enable/disable the 'beep'-sound  after every calculated move and enable/disable representation of Gromits analysis  during the calculation of a move.
In the help  menu there are different options to get help about Gromit.

The Chessboard :

Here you can click squares to make a move. Click the from- and the to-square of the move in any order to select them. Selected squares appear with a white border. Click a selected square again to unselect it. Illegal moves are ignored. You can flip  the board if you want to play Black.

The Clock :

It shows the time left and the used time for White and Black. You can set  the clock by choosing Clock-Set in the Menu.

The Movelist :

It shows all the moves played so far in the present game. With the scrollbar at the right you can scroll the list.

The Buttons :

The five buttons are used to:

·	take back a move (two halfmoves)

·	take back a halfmove

·	start Gromit thinking about the next move/
force Gromit to move when he is thinking

·	play a halfmove from the current game

·	play a move from the current game

The Analysisbox :

Here GromitChess displays information about it's searchprocess, it's chosen move and the main variation.
'Depth' is the current iteration and thus the length of most of the searched variations. 'Move (x/n)[alpha, beta]' means that Gromit is searching move x of n possible moves with a searchwindow of [alpha, beta]. 'Searchtime (min/dest/max)' are three times that control how long Gromit will think about the next move. Gromit will think any time between min and max, approximately dest. 'Score x' is Gromits score for the 'Best' move. A score of 100 means Gromit feels one pawn ahead. 'Best move (first/latest)' shows that the best move was found after searching 'first' seconds and that the last search was finished after 'latest' seconds.


Playing a Game
GromitChess

 Playing a Game

Playing a Game:

Here is a short introduction describing the course of a first game of a player vs. Gromit using Gromits default settings.

When GromitChess is started its mainwindow  opens, the chessboard is set with the starting position and White's clock is started. You can now select Gromit's playing strenght by setting the clock . The more time Gromit has to think about a move, the stronger he plays. For this first game we will use the default setting: 3 minutes for 35 moves and an additional 5 seconds for every move made.
If you want to play Black press the Gromit-Button  to make Gromit think about it's first move. But since Gromits openingbook is enabled Gromit will simply play a move from the book without calculating anything.
But let's suppose you want to play White. You can now enter your first move by clicking (and thereby selecting) the chess piece you want to move and the destination square you want to move to. (For convenience it is also possible to select the destination square first and then the piece you wish to move.)
After your move Gromit will start thinking automatically because autoanswer  is enabled. After 1 - 40 seconds Gromit will make a move and a 'beep'-sound to announce he is ready.
Now make your next move and play the game until the time for one side is over or the game ends with a checkmate or a stalemate. When Gromit has made his move he predicts your next move and then starts thinking about the position after the expected move. If you move something different, Gromit has to start again, but if you play the expected move Gromit saved some time. You can switch this 'pondering' off using Gromit - Pondering .


Menu Functions
GromitChess

 Menu

Submenus:

You can use SHIFT-F1 to get context-sensitive help on a menuitem.

Game

Board

Clock

Gromit

Options

Help


Keyboard Functions
GromitChess

 Acceleratorkeys

Acceleratorkeys:
You can use one of the following keys instead of the menu-options.

F1 	starts Gromits onlinehelp
SHIFT-F1 	and select a menuoption to get help on it
SPACE 	Starts/Stops Gromit thinking
ALT-B 	Takes back a move
ALT-F 	plays a move forward
ALT-G 	Go to position n
Ctrl-N 	Starts new game
ALT-S 	To set the clock
CTRL-P 	pauses game
CTRL-S 	starts clock
ALT-A 	toggles autoanswer
ALT-C 	to edit comment
F3 	Opens a game
F2 	Saves a game
CTRL-F 	Flips the chessboard
ALT-E 	to set up a position
ALT-M 	adds a move to book
ALT-F4 	Exit GromitChess


Advanced Features
GromitChess

 Advanced Features

Advanced Features:

Gromit offers some 'unusual' features rarely found in other public domain or shareware chessprograms. The idea behind the first three features listed below is to allow the users to take part in the development of GromitChess.

edit Evaluation

edit Book

add Move to Book

Fischer-Chess


About GromitChess
GromitChess

 About GromitChess

About GromitChess:

Here is some information about the development and the algorithms of GromitChess.

Gromits past

Gromits future

Datastructures

Searchheuristics

Evaluation


Game Menu
GromitChess

 Game Menu

Options:

New

Fischer-Chess

Open

Save

Save as

Save as .PGN

Print

Edit Comment

make Move

move back

move forward

Goto position

Exit


Board Menu
GromitChess

 Board Menu

Options:

Flip

Captured Pieces

Edit

Print


Clock Menu
GromitChess

 Clock Menu

Options:

Set

Stop

Start


Gromit Menu
GromitChess

 Gromit Menu

Options:

max. searchdepth

Style

use Book

use Endgamedatabase

Pondering

Hog CPU

edit Evaluation

edit Book

add Move to Book

Info

Autoanswer

Selfplay


Options Menu
GromitChess

 Options Menu

Options:

Beep

Show thinkahead

Endgamedatabasepath


Help Menu
GromitChess

 Help Menu

Options:

Operate

Gromit

Keys

Copyright

About


New Game
Starts a new game. The board is in its initial position, the movelist is cleared and White is to move. The clock is running and set to the defaulttime ( 35 moves in 3 minutes and an additional 5 seconds for every move made or the most recently set time ).
You can also use CTRL-N.


Fischer-Chess
Starts a new game  but with a randomized initial position.
Fischer-Chess is an invention by the former ChessWorldChampion Bobby Fischer. Before a game starts the pieces are randomly placed behind the pawns. So you don't have to study boring opening variations anymore, because you will (almost certainly) never play the same initial position twice. It's fun!


Open Game
Allows you to load a game from disk. Gromit displays the edit comment  box to show you the comment of the game. Loading a game restores GromitChess to the status it had when the game was saved. Gromit games have the default ending .chs but can have every filename Windows accepts.
You can also use F3.


Save Game
Saves the current game to disk, using the filename displayed in the titlebar . GromitChess uses its own format to store games. It includes the initial position, the current position, all moves and the time left after every move. By this you can easily interrupt a game without remembering the setting of the clock or the position.
You can also use F2.


Save Game as
Saves the current game to disk. You are prompted to enter a filename and a comment  to the game. GromitChess uses its own format to store games. It includes the initial position, the current position, all moves and the time left after every move. By this you can easily interrupt a game without remembering the setting of the clock or the position.


Save Game as .PGN
Saves the date, time, comment and movelist in a (.pgn like) ASCII format under a chooseable filename. You can then edit the movelist with any wordprocessor / editor or export Gromit games to other chessprograms that can read the .pgn format. This is not tested!


Print Game
Prints a movelist together with date and time.


Edit Comment
Displays an edit-dialog that lets you edit the comment of the current game. I usually use comments like:
Waxman 1.2w - Gromit (60 moves in 30 minutes)
or
Testposition from the xy-test. 1. Rh4xh7 wins
The comment can be up to 500 characters long.
You can also use ALT-C.


Make Move
Makes Gromit think about the next move for the side to move.
You can also use the SPACE-bar or the Gromit-button .


Takeback a Move
Takes back the last halfmove of the current game. If there is no move left, nothing happens.
You can also use ALT-B or the takeback-button .


move forward
Plays a move of the current game that was taken back before. If there is no move left, nothing happens.
You can also use ALT-F or the forward-button .


Exit
This terminates GromitChess.
You can also use ALT-F4.


Flip Board
Flips the chessboard around. This is useful when you want to play Black.
You can also use CTRL-F.


Captured Pieces
Opens a window where captured pieces are displayed during the course of a game. You can close that window by double-clicking its closebutton.


Edit Board
GromitChess

 Edit Board

Edit Board:

Opens a window with a chessboard, the chessmen, checkboxes, a textedit, buttons and radio-buttons.
When the window opens the chessboard is copied from the current chessboard. You can setup the initial position or clear the board with one of the pushbuttons.
Use the left mousebutton to select a chessman from the list of chessmen. Then you can place that chessman on any square of the board by clicking the square with the left mousebutton. To empty a square click it using the right mousebutton.
When the position is set up select the flags for that position. There is a checkbox for every possible castle and a textedit for a possible en passant square. For example after Pe2-e4 the en passant square would be e4 and the move Pf4xe3ep would be possible in the edited position. There are two radiobuttons to select the side to move.
To return to GromitChess you can close the window with the Cancel pushbutton or with the OK pushbutton. Before returning an edited position Gromit tests the position for compatibility with its searchalgorithms. It is for example not allowed to have more than 8 pawns of a color.

I usually start setting up a position with all white pawns. Then I click the middle mousebutton (anywhere in the window) to select the next chessman (white knight). By this I go through all pieces and finally set up the flags.
You can also use 'ALT-E'.


Print Board
Prints a screenshot of the Gromitwindow  including the chessboard, the (visible part of the) movelist and the analysisbox .


Set Clock
GromitChess

 Set the Clock

Set the Clock:

                   With the Clock-Set dialog you can

·	Set the clock for White and Black

·	Define timecontrols

·	Control the time Gromit will think about its moves

·	Use predefined timesettings

Setting the clock means setting the time left to the next timecontrol. Simply click the textedit that shows the time left and type in the new time in the format 'hh:mm:ss'.

Defining timecontrols:
GromitChess assumes that a game is played in a modus like:
Both sides have to make n moves before the first timecontrol in hh:mm:ss time and after that every m moves in hh:mm:ss. For every move made there may be an additional bonus that is added to the time left when a move is made. It is also possible to play at n seconds per move (see below).
After White's n'th move White's time left is increased by the time after the first timecontrol. The same happens after White's n+m'th move, his n+2*m'th move and so on.

When Gromit starts thinking he computes a lower bound, a destination time and an upper bound for his searchtime. These times are displayed in the analysisbox  as 'Searchtime: xx/yy/zz'. Usually the destination time is (moves left) / (time left), the lower bound is (destination time) / 2 and the upper bound is (destination time) * 6. The destination time is corrected by 10% operator time and the timebonus per move. The lower bound is always >= 2 sec. and the upper bound is always <= time left. Gromit uses less time than the destination time when during search only one move seems to be interesting (for example a recapture). He uses more time when the planned move is discovered to be bad and a better move has to be found.

To make Gromit play at a modus time per move:
- switch off the clock
- enter 0 moves before first timecontrol
- enter time as time to first timecontrol
Gromit will then use time as his destinationtime per move.

There are 6 buttons to set predefined timesettings.
When pushed, this buttons change the other fields of the dialog box. Predefined timesettings are:
- Blitz (60 moves in 5 minutes)
- Blitz2 (35 moves in 3 minutes + 5 sec. per move)
- Speed (60 moves in 30 minutes)
- Tournament (50 moves in 2:30 h before first timecontrol, 20/1h thereafter.
- WMCCC WorldMicroComputerChessChampionship (30 moves in 1h and 40 moves in every subsequent hour)


Stop Clock
Stops the clock, for example, when you want to pause the game. It can be started again by choosing Clock-Start.
You can also use CTRL-P.


Start Clock
Starts the clock. It can be stopped by choosing Clock-Stop.
You can also use CTRL-S.


Level
Select a maximal searchdepth in halfmoves. This may be a substitute for a special mate-in-n mode.


Style
Select a playing style (active / normal / passive). The parameters for the different styles are stored in the Gromit-directory in the files active.par, gromit.par, passive.par. Maybe they don't really change the style of play, but if you want, you can change them with edit evaluation .


Use Book
Enable / Disable the openingbook.


Pondering
Think while opponent is thinking about his move?


Edit Evaluation
GromitChess

 Edit Evaluation

Edit Evaluation:

This dialog lets you experiment with Gromit and maybe make it better!
The main purpose is to change the default evaluation parameters that Gromit uses when evaluationg a position reached during the search. Use the scrollbar to browse the list of parameters and choose the parameter you want to change with a doubleclick. It appears above the listbox and it's value can be changed in the textedit-field. Save your changes by pushing the 'Save default' button and leave the dialog by 'Use' to use the new parameters in the current game. It is also possible to save/load parameters to/from disk. That allows you to have different paramters for example for different stages of game, for different openings,...
It is also possible to try selfplaygames with White and Black using different parameters. To do this you have to edit and save the parameters for White and Black to different files. Then you load White's parameters and leave the dialog by pushing 'Use for White'. Then you return to the dialog, load Black's parameters and exit by pushing 'Use for Black'. Gromit will then use the different parameters depending if he calculates a move for White or Black. Selfplaygames with different parameters may be used to tune parameters, although you need to play a lot of games. I think it is much more effective to replay a selfplaygame, find the bad moves and change one or a few parameters.

Some of the parameters depend on the actual implementation and you may not get the results you want when you change them. Some (usually small) parameters are not even in the list.


Edit Book
GromitChess

 Edit Book

Edit Book:

Views the moves and positions in Gromits openingbook and allows you to change the value of moves.

Gromits openingbook stores a position together with flags (En Passant and Castling), one move and a score. The position is packed using a Huffmancode. A position with move and score uses 28 bytes on disk. This is a lot, but it has the advantage that you can not only store but also  retrieve  positions from the openingbook. For example, the positions 1 to 300 are from the famous 'Win at Chess'-test.

When the dialog appears on the screen a position from book is displayed. This includes the side to move, the flags, the move, the score and the number of the position in book. The 'other moves' button allows you to display all other moves in book for the current position. When you double-click a move in the list that position becomes the displayed position and you can change its score. With the '+' and '-' buttons you can browse through the book. You can also enter the number of a position and display it with the 'goto position' button. To change the value of a position simply enter the new score and save it to book using the 'save into book' pushbutton. The score is positive if the position after the move is good for White. Usually the score is 0. If you want to 'delete' a position from book enter a score of 32000, to signal Gromit that this position must be ignored.
When Gromit uses the book he first makes a list of all moves in book that match the current position. Then he randomly selects one of the moves with the best score (that is the biggest score when White is to move).


Add move to book
Add the last move played in the current game to openingbook.
You can also use 'ALT-M'.


Info
Displays in a messagebox the number of entries of the hashtables.


Autoanswer
If enabled Gromit responds every entered move automatically with a calculated move.
You can also use ALT-A.


Selfplay
Gromit starts playing against himself. To stop click the Gromitbutton  during calculation.


Options Beep
Enable / Disable beeping after every calculated move.


Show Thinkahead
Enables / disables displaying of search-information during calculation of a move.


Operate Help
Starts the 'Help on Help' which tells you how to operate the Windows Help System.


Gromit Help
Starts the Help on GromitChess. You have already done this!


Keys
Displays a list of acceleratorkeys.


About
Displays a dialog box showing the version of GromitChess, a copyright note and the address of the author to send your suggestions to.


Gromits past
GromitChess

 Gromits past

Gromits past:

       A DOS-Version of GromitChess participated at the World Microcomputer Chess Championships 1995 in Paderborn/Germany. It scored 4/11 and finished as 30/34. I started this windows-version a short time after that.
GromitChess is not a GNU-Clone, but I used most of an old GNU's openingbook as a basis for Gromits openingbook.
GromitChess 1.0 pariticipated at the 6. IPCCC (Computerchesstournament in Paderborn 1997) and scored 3.5/7.


Gromits future
GromitChess

 Gromits future

Gromits future:

There are some things I want to improve:

Since this is the first Windows-application I wrote the GUI and the dialoges do not use all features Windows offers. I hope future versions of Gromit will be easier to use and more compatible.

If you write a chessprogram you are never satisfied with the chesscode. I hope to make it faster and better. One first step will be the upgrading from Symantec C++ 6.0 to 7.21.

Gromit has not played a lot of games so far. I expect a lot of small bugs to appear when GromitChess is really used. I hope to get a lot of feedback by users to fix as many bugs as possible.

The nice thing about writing chessprograms is, that the people at Intel's research labs help you make your program stronger. Just wait two years and you gain 50 ELO-Points by faster hardware.


Gromits datastructures
GromitChess

 Datastructures

Datastructures:

GromitChess uses relatively large datastructures to describe the chessboard during search. The datastructures are copied and modified when a move is made. This is slow (I think Gromit is maybe the slowest non-AI chessprogram), but you can easily add chessknowledge to the search and the evaluationfunction.
The datastructures include the chessboard, a piecetable, attacktables (a bit for every square and piece) and information about passed pawns.


Gromits searchalgorithm
GromitChess

 Searchalgorithm

Searchalgorithm:

GromitChess, like many other chessprograms, uses a standard iterative alpha beta searchalgorithm with nullmoves and a quiescencesearch. Moveordering is done by hashtables, killer-heuristik and historyheuristik. The standard-search is refined (well, changed) by a lot of chess-specific heuristics like extensions on checks and some other threads. Gromit is quite good at some 'Kill-the-king-Tests'.


Gromits evaluationfunction
GromitChess

 Evaluationfunction

Evaluation:

Before the search Gromits evaluationfunction examines the chessboard (pre-scan-technique) to setup tables with positional values for every piece. At first the position is classified as something between 'open' and 'closed'. Depending on the positions of the pieces and especially the kings the tables are initialized. There are about 100 details that Gromit knows. You cannot change most of them with edit evaluation . For example Gromit knows that a king in the centre should be attacked if he can not castle and he pushes his pawns.
There is quite a lot of code doing this....

During the search the evaluation is based on the material, kingsposition, passed pawns and the positional values of the pieces. The pawnevaluation is quite complex, but it uses a hashtable to be fast.
Have a look at the evaluationparameters with edit evaluation .


Copyright
GromitChess

 Copyright

Copyright:

GromitChess

Copyright (C) 1996 by
Frank Schneider
Johanniterstrasse 26
52064 Aachen
email: hobblefrank@t-online.de or
       fsch@pool.informatik.rwth-aachen.de

GromitChess is 'Freeware'.
Everyone is permitted to copy and distribute verbatim copies of GromitChess, but changing it is not allowed. It is also not allowed to sell GromitChess without permission of the author.

 NO WARRANTY
 GromitChess is provided "as is" without warranty of any kind. I provide absolutely no warranty for damages arising out of the use of GromitChess, including data-loss or hardware-damage.

I'm very interested in your opinion about GromitChess. If you help me with bugreports, an enhanced openingbook, analyzed games that show Gromits weaknesses, a chinese translation of this helpfile or any other suggestions you may get the latest version.

Order Form


Gromit Help Copyright
Displays the Copyright -part of Gromits onlinehelp.


Hog CPU
When Hog CPU is checked Gromit uses all the available processortime for computing a move. Other programs have to wait until Gromit is ready. Use this, when you only want to play chess.
When playing testgames against other chessprograms you can use Hog CPU to switch off their pondering, but be careful, it might puzzle their timing!
Hog CPU might cause troubles when playing with slow timecontrols and Windows 95.


Picture


Use Endgamedatabase
GromitChess

 Endgamedatabase

enable/disable Endgamedatabase:

Enable / Disable the endgamedatabase.
You can change the directory where Gromit tries to find the endgamedatabasefiles with (Options - Endgamedatabasepath) .

Additional information about the endgamedatabases:

GromitChess 1.1 can read the tablebases that were compiled by Steven J. Edwards. You can get these databasefiles via ftp from ftp://caissa.onenet.net/pub/chess/TB. When Gromit has access to the databases he will play four-man-endgame positions perfectly. Note that Gromit searches some ply even if databases are available. This is done to order moves that are theoretically identical so that not only the best, but also the best-looking move is played. Since GromitChess tries to access the tablebases everywhere in the searchtree the search might be slow when endgamedatabases are enabled.


Enter Endgamedatabasepath
Let's You enter the directory where GromitChess looks for endgamedatabases.
See enable/disable Endgamedatabase  for more information about how Gromit accesses the endgamedatabases.


Goto position
Starts a dialogbox where you can select the position of the current game, that you want to replay to.
You can also use ALT-G.


Created with MiniHelp Plus v2.3
This Help file was created with

 MiniHelp Plus v2.3

 Written by Paul Arnote

 Copyright (c) 1994.  All Rights Reserved.

 Derived from the original MiniHelp that appeared

 in the January, 1994 issue of Compute Magazine.

 Written by Tom Campbell

 Copyright (c) 1994.  All Rights Reserved.

If you would like to use MiniHelp Plus v2.3 to create

your Help files, you may obtain your SHAREWARE copy

by either downloading it off of America Online or a

local bulletin board (depending if it has made it there yet).

Or you may write to:

Inspired Software

1208 Randolph

Leavenworth, Kansas  66048

Send $15.00, plus $2.50 to cover shipping and handling,

the disk, and duplication costs.  Be sure to specify disk size,

density, and program name, as well as your

name & address.  Cash, check or money order.  Registered users

will receive one free upgrade when it becomes available.

This version is not crippled in any way.  Please register

your copy if you find it useful and support the shareware concept,

as well as helping to keep me interested enough

to keep improving on this program.

Back To What You Were Doing