"$Id: README,v 1.13 1999/08/08 21:21:16 edavis Exp $"
miniCHESS - another stupid dock app
Copyright (c) 1999 by Eric Davis, ead@pobox.com
(See COPYING / GPL-2.0)
miniCHESS v0.8
Works with [ Blackbox Slit | Window Maker Dock | Afterstep Wharf ].
miniCHESS was born out of boredom. I warn you... if your a chess enthusiast and play a lot then please use xboard or some other chess gui. Even though miniCHESS has that kinda cool factor, it does get hard on the eyes. I like using miniCHESS for games in which I'm in no hurry to finish and go on for a couple days. Sorry but miniCHESS has no save/restore features yet.
Xboard can be found at the following url: http://www.research.digital.com/SRC/personal/Tim_Mann/chess.html
Note that miniCHESS requires the 'gnuchessx' (note the x) application which is included within the gnuchess package. Gnuchess can be found at: ftp://prep.ai.mit.edu/pub/gnu
** Installing:
- Edit the Makefile. (namely specify the location of gnuchessx)
- make
- make install
Should work on any UNIX system that has libXPM and gnuchess. The following are known to work:
- FreeBSD 2.2.x 3.x
- Solaris 2.6
- Linux
** Usage
miniCHESS has a variety of options:
-h help -t play text game (def = mouse game) -r more random moves by the engine -a hard, engine will also think on your time (def = no) -d n max search depth used by the engine (def = 29) -c n max time the engine gets to make a move (def = inf) -T n size of the transposition table (def = 150001) -C n size of the cache table (def = 18001) -k #color background color for a checkmated king (def = #ff0000) -b #color background color for the black pieces (def = #000000) -f #color foreground color for the black pieces (def = #ffffff) -1 #color color for the dark squares (def = #c8c365) -2 #color color for the light squares (def = #77a26d)
If you specify a search depth (-d) to (say) 4 ply, the program will search until all moves have been examined to a depth of 4. If you set a maximum time (-t) per move and also use the depth option, the search will stop at the specified time or the specified depth, whichever comes first.
Gnuchess is a cpu hog while it's thinking. Be aware. When the hard option (-a) is specified then the engine thinks all the time and pins your cpu.
Also gnuchess can be a memory hog. Specifying the size of the transposition and cache tables will modify the memory used. See the memory usage excerpt from the gnuchess FAQ below.
White piece colors are the reverse of what is specified for the black pieces.
** Text game
The text game (-t) option specifies that you want to play via the keyboard instead of the mouse. The following is a list of commands recognized. See the gnuchess man page for more info on making a move.
[q]uit - quit this stupid application [n]ew - start a new game [p]rint - print a text version of the board [h]int - get a hint from the engine and use it [r]efresh - refresh the xpm window [?]help - this message
Making a move (examples):
g1f3 - move piece from g1 to f3 a7a8q - move pawn from and promote to a queen o-o or 0-0 - castle on the king side
o-o-o or 0-0-0 - castle on the queen side
There are three different prompts used by the text game. The ">" prompt is used for you to enter in commands and move. The "H>" prompt shows your hint move that was received from the engine. And the "C>" prompt shows the engines move.
** Mouse game
The default playing mode is to use the mouse. A move is made by left clicking on the piece's 'from' position and then clicking on the piece's 'to' position. The computer will beep if the move was invalid. The following button commands are recognized:
Button1 - make a move (click on the 'from' and 'to' positions) Button2 - get a hint from the engine and use it Button3 - start a new game
Button3+Control - quit this stupid application
** GNUCHESS MEMORY USAGE (from the gnuchess FAQ):
> [C.7] GNU Chess runs way too slow and makes my disk seek wildly.
> This happens if you don't have enough real memory (RAM) to run GNU Chess.
> You may need 16MB or more. You can reduce GNU Chess's memory requirements
> by reconfiguring it, or just buy more memory. Some (rather out of date)
> suggestions are in the file doc/PORTING from the GNU Chess source tree.
>
> It is perfectly possible to run gnuchess on an 8Mb system. I would suggest
> that you don't edit the source (though the defaults are the definitions of
> ttblsz or something like that in src/ttable.h and DEFETABS in
> src/gnuchess.h), but rather use the -C and -T command-line options (which
> even work for gnuan, though not documented in the manpage). The defaults
> are `-C 18001 -T 150001' (for MS-DOS, -T 8001). On my Linux system, this
> uses just over 9Mb. From memory, `-C 6001 -T 40001' uses around 3Mb. Fiddle
> with these and see what results you get.
>
> Why does GNU Chess use so much memory? The extra memory lets it keep large
> hash tables that speed up its search and make it play better, and a large
> on-line book that improves opening play. If you have lots of memory you may
> want to reconfigure GNU Chess to use more than the default amount.
** Bugs:
miniCHESS does not receive XEvents while the computer is thinking. It waits on the pipe for the computer's move. Someday I will modify this so a select is done on both the pipe and X socket.
I'm sure there are more so go ahead and e-mail me any problems. ead@pobox.com
** ChangeLog:
08aug99 - v0.8 released
added support for changing colors
08aug99 - v0.7 released
modified calls to fdopen() to work with Linux
30jul99 - v0.6 released
fixed a bad bug whenever a queen side castle move is made
28jul99 - v0.5 released
