home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
17 Bit Software 1: Collection A
/
17Bit_Collection_A.iso
/
files
/
759.dms
/
759.adf
/
CHESS-V2
/
CHESS.DOC
< prev
next >
Wrap
Text File
|
1990-10-16
|
11KB
|
269 lines
********************************************************************
** **
** Chess 2.0 - Copyright (c) 1989 A.H.W. Kaufmann **
** **
********************************************************************
REQUIRED FILES/DIRECTORY
========================
Chess
Chess.Doc
Chess.Openings
Chess.Pieces
Chess.Colours
Chess.info
Games/????
SIMPLE INSTRUCTIONS
===================
Format a floppy named "Chess" and copy these files to that
floppy making sure that the directory Games is created OR
copy the files to any directory and make that your current
directory by using the CD command.
Now you can issue the command "run Chess" from the CLI or
simply click on the Chess Icon if you are in the WorkBench.
To move the pieces - point and push the left mouse button.
( To castle, move the king the two spaces.) To find out more
use the right mouse button to bring up the menus or finish
reading this file.
LISCENCING AND DISTRIBUTION
===========================
This program may be distributed free of charge, provided that
no extra restrictions are placed on it. Nominal charges for
copying or on-line services are permitted provided that they
are only for those services. No payment is required for using
this program but you should feel yourself obligated to send
in bug reports.
OPTIONALLY, if you enjoy the program I would not mind getting
getting your comments and suggestions for future enhancements.
Alfred H.W. Kaufmann
124 Silversprings Rise N.W.,
Calgary, Alberta
Canada T3B 3Z6
CREDITS AND THANKS
==================
John Stanback: For the Chess playing program.
Bob Leivian: For originally porting it to the Amiga
Peter da Silva )
Matt Dillon )
Jeff Lydiat ) For the file requester
Jay Miner )
R.J. Mical )
Bruce Dawson )
John Russell )
Mike Ballantyne ) For the colour requester
R. French )
R.J. Mical )
Fred Fish: For distributing great programs and
utilities.
Lattice Inc: For giving it the good old college try
with their C5.02 and CodePRobe
Commodore-Amiga: For providing a great machine
Special Raspberries
===================
Lattice Inc.: For their relentless research in genetic
engineering, producing newer and better
bugs.
Commodore-Amiga: For providing a buggy SETPATCH
**********************************
* *
* The Nitty/Gritty Details *
* *
**********************************
The Files
=========
Chess The game.
Chess.info The chess game icon which may need work,
I'm not really an artist.
Chess.Doc This file that you are now reading.
Chess.Pieces This file contains the images for the
chess pieces that are read in each
time. The file also contains sufficient information
to enable you to change them. If you don't like them
you can get out some graph paper and design your own.
Chess.Opening These are some standard book openings
that are read in at startup. You can
change them to whatever you want. Presently you are
limited to 80 different book openings and you must
ensure that the moves start in column 1 and 7.
Chess.Colours This file determines the colours. You
can change this file from within the
chess playing program to suit your own tastes.
Games This is a DIRECTORY that is automatically
searched for games that you want to save
or load. Presently there should be a few files in it
that you may load from the chess program. The games
starting with 'B' means that black should move first and
the games starting with 'W' means white should move first.
For best results set the timer to about 1800 seconds.
The Menus
=========
Load Game This will bring up a requester allowing
--------- you to chose the game you want loaded. When you
have specified the game, place the pointer or the
accept gadget and press the left mouse button.
Save Game This will bring up the same requester
--------- but will allow you to specify a file to save the
current game.
Set Board This allows you to set up a chess board
--------- however you want. The requester includes a help
gadget which will explain how you set up the board.
When done, place the pointer over the OK gadget
and press the left mouse button.
List Moves This will print the moves to the window
---------- or bring up the standard requestor to allow you
to specify a file.
Colours This brings up a colour requester which
------- will allow you to setup the colours to your own
preferences. To make them permanent, place the
pointer over the save gadget and press the left
mouse button.
Read Docs Will allow you to read this file or it
--------- will produce a background task to send this file
to the printer.
Quit This or the close gadget to end a game.
---- If you are in the middle of a game you may
consider saving it first!
Switch Sides If you were white you are now black and
------------ if you were black you are now white.
Reverse Board Reverses the board for you.
-------------
Set Time Limit Brings up a requestor allowing you to
-------------- set the response time. Use the backspace key to
change it to whatever you want.
Skip Move If you have switched sides you may want
--------- to do this.
Undo Move Undoes the last move if possible, if not
--------- use the set board menu.
Hint Obvious
----
Credits Just for showing.
-------
The Game from a Usenet message written by John Stanback
======== of HP, Colorado Integrated Circuits Div.,
Loveland, CO.
The program plays a fairly respectable game of chess, although it
is not competetive with a state-of-the art commercial program. The search
rate is typically 100-300 nodes/sec. on an HP Vectra (8 Mhz. 286) and
about 300-900 nodes/sec. on an HP 350 (25 Mhz. 68020). I am interested to
find out what is achieved on other machines. I would also be interested
in any comments on playing strength, weaknesses or bugs in the program,
and suggested improvements in the algorithm.
Here are a few comments on the program:
1. Opening Library
I'm a terrible chess player and don't know anything about
openings. I copied 70-80 random lines of play from MCO into
the file chess.opn. I think there are a few mistakes in the
translation. If anyone generates a better library please let
me know.
2. Positional Heuristics
I think that improvement in this area would help the program
quite a bit. In most situations the computer cannot do
anything forceful and the choice of a move is based on
positional aspects. I haven't spent a lot of time on the
heuristics and many times the program has no idea of what is
happening and how to proceed. Perhaps optimizing the values of
the existing heuristics would help, but to get a major
improvement I think more chess knowledge will be necessary.
3. Search Algorithm
This program uses a full-width alpha-beta searching technique
with depth extensions on checks, check evasions, pawn promotion
threats and threats to multiple pieces. Capture sequences are
handled by a separate search routine. I imagine that much more
efficient search routines exist, and would be interested to hear
of any. Refinements of the search extension heuristics (similar
to the extensions for pawn promotion threats) could have a major
effect on the programs ability.
4. Move Generation
There are probably better ways to do this, but they would
likely change the data structure drastically and necessitate
a complete re-write. Maybe some good hacks would speed things
up, the ataks function would be the best place to start.
Future Enhancements
===================
If there is enough interest in this chess player I would like
to speed up the chess player. This could be produced fairly easily
by reducing the large number of automatic variables and arrays, by
using registered parameters for subroutine calls and entry points and
by removing the stack checking code.
Also I would like to revise the setboard function to make it
point and click instead of having to key in "e2wp", etc.
Bugs
====
None known of "at the present time". I am using a new compiler,
Lattice C 5.02 and have already hacked around some problems, there may
be more!
Lets have your suggestions !
****************************