home *** CD-ROM | disk | FTP | other *** search
-
-
- ********************************************************************
- ** **
- ** 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 !
- ****************************
-
-