GAME: COMPLETE CHESS SYSTEM II FORMAT: FLOPPY DISK PUBLISHER: OXFORD SOFTWORKS TEL: 0993 823463 ****************************************************************************** ** Welcome to the Complete Chess System II Playable Demo ** ****************************************************************************** You can print this file by typing copy readme.txt prn from dos The finished program will be available soon from us at Oxford Softworks 198 The Hill Burford OXON OX18 4HX Tel : (0993) 823463 Fax : (0993) 822799 ** Introduction ** This is a playable demo of our latest chess program. The demo is fully featured but will prevent you from playing past move 15 (move 30 if you count white move black move as two moves). It will also prevent you from setting up a new board position. ** Requirements ** * 80386 or above. * 3Mb free extended memory. * SVGA - The final product will work under VGA, but at this stage you'll need a SVGA card that works in 640x480x256 colour resolution, and maybe a VESA driver. If you have a SVGA card and find the program won't start try running the (1) univesa program first. * Microsoft compatible mouse. This is a work in progress version of our program. ** There are bugs in it **. The smiley face will be replaced by proper art!!!. Please see the troubleshooting section at the end of this manual if you are experiencing problems. (1) The univesa program is an excellent (free) program that will make most SVGA cards VESA compliant. To run it change into the uvesa directory and type "univesa", the program should then tell you what king of SVGA card you have. Please read the documentation while you're there, because although this liitle gem is freeware it does have copyright restrictions. ** Features ** High quality art, selectable 2d and 3d sets, 3d mode is fully scaled to perspective (so as your pieces move back they grow smaller). A complete profesional chess database. With this demo you get a small 1000 game database free, with the release version many thousands of games will be available. Our program can read chess base format databases - Chess Base is a chess database program used by Grand Masters. The engine (the intelligence) is the result of over 11 years work. The whole program is a true 32-bit DOS extended application and has been pentium/486 optimised. For those interested this means we can get at all the available memory on your pc easily and our code has been superscalar optimised using "riscification" and instruction scheduling (it goes faster). The intelligence in the engine itself is now enormous. Most chess programs use the concept of brute force search. This method simply tries to look at as many positions as possible in the time available, there is very little intelligence involved in this and progress with this form of engine is limited by processor power. Our program is very different, it was written by a chess player rather than a programmer who plays chess. It thinks slower than its opponents but far more in the way a human would. You'll see this as soon as we get you into a corner. We've added something called the "Tal attack function", Tal was a famous chess player renowned for his daring and romantic play, so watch your king. You can grade yourself against a test suite of over 1000 test positions (over 6000 in the release version). This will give you a rough chess ELO grading and will also hone your chess. The program itself has massive functionality. Beyond what you can do from the menus clicking almost anywhere on the screen will do something. What the engine is doing and thinking about can be seen either pictorialy or textually, at all times. The style of the play the engine adopts can be modified. Network play is supported. Search restrictions can be made which force the program to only think about certain moves. Solve for mate in n option. Moves within games can be annotated, with a full on screen text editor, and the comments saved with games or the games combined into a database. Variations of play are supported and recorded. Board doodling - aid your thoughts by being able to scribble over the board. Full opening book control, plus the ability to construct new opening books from databases, plus the option of constructing an opening book of say Kasparov games, so that our openings are those used by Kasparov. Named lines displayed on screen from Ruy Lopez to the Four Pawns opening. This list goes on so - ** Credits ** 2d art and 3d gothic style set Interplay (who will release this in the states). 3d space set and title animation us. ** Brief manual for CCS II ** The Menus --- The menus are accessed by moving the mouse to the top of the screen. File menu About - About box, plus memory button will tell you about memory usage. New Game ALT-N - Starts a new game. Strict Game - This puts you in strict play mode. Times out correctly unlike normal mode which just ignores failed time controls. Load/Save game - As they say, save game allows you give a file comment which will be used instead of the file name. Who are you - Sets the names of Black and White. If either is played by computer or Network the words computer or network will be used instead. Preferences load/save/default - As you'd expect. Most things are prefs saved, in release these will auto save along with the current position. Export - Export the current game to the printer or a file as ascii. Import - Intelligently import anybody else's export format, or even games typed in from newspapers, that sort of thing. Imports independently of notation set. quit - the program View menu Layout - this switches you between the different layout modes, also pressing space toggles you through these or F-keys. Database mode will show no database unless one is loaded. Each mode has different windows board sizes and so on just pick the one you prefer. Pieces - Load a new 2d/3d set. - Use mono set, this will replace all 2d pieces with the mono set Backdrops - Turn graphical backdrop off. This speeds the program up. Coordinates - Tick item. Put coordinates (A-H,1-8) around 2d boards. Orientation - Allows you to look at the board from any (90 degree angle). Graphical clock - toggles between graphics clock and text clock. In 3d switches between mouse cursor being a clock and no clock. In 2d same operaion performed by clicking on clock. Notation - Set your favorite notation system. Options - Offer Draws - Turn off to prevent computer offering draws or attempting to resign. Slide pieces - Slide those pieces across the board. Doesn't affect db mode or click on move highlighting. Must move - as the menu item said, you touched it so move it. (ie no pick up and put back) Sound - This turns our impressive array of sounds (such as Beep and the immortal Beeeep) off. (This will all change with the multimedia version) Capture animation - Makes pieces do a pixelated explosion when captured also when deleted in setup mode. Control menu Switch sides - Names do not switch just type of player (human/computer/network) for sides. Black/White players - Set type of player as above for colour. Can only set network if Network connect done. Communications - Modem play will be available in release. Connect - connects you to another player, must be done before network play is started. Check connection - checks your opponent is still there. Disconnect - finish session. Send message - Send a message to your opponent. Move Now - Kills search, makes best move now, if waiting for computer move. The following can be done with the cursor keys and home/end/del but are in the menu for completeness. Forwards - forward 1 move. (right/left up/down cursors) Replay - back to start. (home) Automatic - Slow forward to end of game. Takeback - back one move. (as for forwards) Delete - delete this move and all beyond. Learn line - put the current line into an opening book of your choice, user must set whether he thinks it's good for white, black or both. Line is inserted inoptimally, so adding hundreds this way will make book a lot bigger than it needs to be !!!. Line is added to current cursor position inclusive. Thinking - is the computer allowed to think while it's the players turn (most human chess players do!). Hash Tables - Hash tables are large areas of memory used by computers to remember things they've already thought about. The bigger the better, the main hash is more important than the pawn hash. Clear hash is a debug feature (for us) that makes the engine forget everything it's thought about. Special menu Hint - gimme one. Test Positions - We have over 6000 solved chess positions, there are 1000 with the demo. Your Grade - will randomly select 20 of these and get you to try and come up with the correct move. We then grade you on how many you get right and how long it takes you. My Grade - the computer does the same as above. Goto Next - Give up on current test. Terminate - Give up on suite. Load Position - load position number n. The correct solution will be shown in the thoughts window. Load Suite - Load a new test suite. Set Time - Blitz - game must be completed before this time, assumes 32 moves left the whole time. Infinite - think forever, not much use unless you're a super-dimensional being with a few eternities to waste, or you're testing chess programs. Average - Spend an average of this much time thinking, will think longer if position difficult. Matching time - Try to make moves at them same rate the user is. Tournament - set the amount of time and number of moves till each of the time controls, tertiary loops round indefinately. Exact time - Make moves in exactly this amount of time. Weak - 10 levels (No search, we just grade each of the initial possible moves), level 1 is totally random moves. Don't use this option unless you really don't know what you're doing. Style - Modify - Allows user to adjust the way the computer thinks. The style dialogue has three areas you can control, Dynamic adjustements affect how the program develops it's pieces and tries to take control of the centre and so on. Static adjustments affect the way the computer scores it's current position and thus positions it's going to try to head towards in the future. Piece adjustments adjust the relative values of the pieces. At the top are four effectors, these affect a number of the fine controls (below) at the same time to make the program more aggresive more defensive and so on the abbreviations are ... (Defensive-Aggresive, Positional-Material,Safe play-Wild play and Centre control- Flank control). If on exit things have been set to silly values, the user is warned and the option to moderate the silly values is given. If a silly style is in operation the offer draw option is disabled (not implemented yet) as under certain circumstances the program will attempt to resign at move 0. Search extensions - These are the infamous Tal (or king attack) functions. There are a lot of them and hopefully their descriptions are fairly self explanatory. Save current - saves the current style. Load - load a style. Set clocks - This allows you set the time on the clocks, it won't let you do this until it's out of the search. (You move or it moves) Offer Draw - Allows user to ask for a draw. Set draw - Allows you to set the level at which we consider a draw is ok (ie at which we'll offer or accept), we never offer before move 40. Pause - pauses the program for a bit. Setup board - puts you in setup mode. Left clicking anywhere that isn't a valid square or the menus will bring up a popup menu, from which you can select a piece to put down, set to delete (cursor becomes X), clear the board, reset to the start position or finish. If you pick up a piece, mouse becomes that piece you put it down by left clicking on board. Right click while carrying a piece will drop piece. When cursor is a + you can pick up and move pieces. You can't setup illegal positions (engine isn't designed to play with 32 pawns and so on). Database menu See also screen clicking instructions at end. Load Database - Open a new database, if one already open it's replaced with this one, user is warned if old has been altered. Puts you into database mode automatically after opening. Close Database - closes the current, asks if changed. Save - Save the database, assumes name. All visible games are saved. Visible games are those not greyed out. Left clicking on a game will hide/unhide it. Save As - Save the database, asks for a new name. Split Database - split the database into a number of smaller databases. Export/Import - Saves or loads the current database as a text file. Database Info - allows you to edit the database comment and get info on the database. Verify - this verifies the integrity of the database, bad games are hidden. Show hidden games - When on all games are shown in the list, hidden ones are shown in grey. When off only visible games are shown. Clear Filter - This makes all games visible. Invert Filter - This hides all visible games and unhides all hidden games. Useful when you've filtered a database for say Kasparov games and want to save the Kasparov games to a new database and what's left minus the Kasparov games to another database. All Games -> Class - Used in conjunction with classification function (see screen click section at end). This copies all visible games to all classifications set as destinations. Book menu Opening Book - The opening book is a big file with lots of known move sequences from the start position in it. This allows the program to execute the first say 10 moves without using any clock time up. If the book is set to some randomness it also means that we'll allways start differently. Book control - This allows you to set up the opening book. The main book is hard wired to DATAFILE\OPENING.BOK, the second book can be changed by pressing the set button. Each can be set to on or off, by using the tick box and the order in which they're tried can be set. Show opening names affects the names shown in the legal moves list. Choose line brings up a pick list of the named opening lines we know of, these can be found in the file OPENING.TXT in DATAFILE if anybody wants to add to them. This dialog also gives the option of copy the chosen line to the current game. It's copied as a variation from move 0. If a named opening is selected, the computer will play down it while the human does. The line is shown with '>' to the left of it in the legal move list. Optimise Use - Suck it and see. Make new book - This only works if a database is loaded. It makes a new opening book from the current database (only visible games). It only adds games that have a known result and don't start from altered start positions. The user is asked for the maximum number of half moves to add to the book. The book is made in two stages. The first makes a big file from the database. The second stage optimises the book down to a far smaller and more optimal file. New Personality - this is a special kind of book, the user is asked for the name of a player, the database is searched for games by this player and each is added. The games are added in a way where even lost games are given a positive weighting, this is because if you want to play Kasparov you want him to play badly as well as well. Analysis menu Right Mouse - controls what the right mouse does on the board Legal moves - click on a piece with the right mouse and all it's legal moves are shown. Captures - highlights all pieces that can be cpatured by this piece. On an empty square this will highlight all pieces that can be captured. Scribble - Scribble on the chess board with the right mouse. Move a piece to clear scribble. Warnings - Computer will warn you if you've left pieces hanging (ie unprotected). Leave this feature off unless you enjoy being annoyed. Solve for mate - Search for all mates from the current position up to n half moves deep. This is fully Alpha Beta'd (search algorithm) and does about 1500 nodes/sec on my 486 without affecting the main search. The results are tabulated into a pick list at the end escape cancels and only gives results so far looked at. Move Analysis - This is for people who like to scrutinise chess positions. Analyse mode - this enables/disables analyse mode. Hide all moves - Makes all moves (except first) in the legal move list invisible to the engine. Show all moves - opposite of above. See legal move list clicking for more details. Screen Click Stuff --- Board - See right mouse menu item for right mouse. Setup for setup mode. Left mouse on a piece picks it up (if it can be moved), move it to new square and click again to put it down. If the piece has only one move it automatically goes there. If you click on an empty square, if there's only one move to it that move is made automatically else. The highest of the possible start piece is highlighted, clicking on the square again will make this move else clicking on an alternative piece to this square will automatically move that piece. Inner Eye window - Click on title to get a popup of the available graphs. Head - The head graphic - mouth shows absolute score, eyebrows show direction score is going in (ie. Low score getting better = Unhappy mouth, hopeful eyes). Search profile - This shows how many moves have been considered at each depth. (ie if there are 20 moves at ply 0 and each of these 20 has 20 responses by the time you've looked only 3 half moves ahead you've looked at 20x20x20 moves , we of course don't do this, we only look at interesting moves. So the search should be diamond shaped and not exponential triangle shaped if the search is healthy. Move times - simply the amount of time spent thinking so far by each player shown as a graph. Scatter - This shows how much the engine is thinking about certain moves. By clicking on this a segment will appear and the mouse will tell you which move this area of the graph corresponds to. Depth is measured radially and black dots mean the engine considers the position inactive. The graphs can also be sequenced through by clicking on them except scatter. Captures - As above the title bar gives a popup. The graphs represent the score from white's perspective of each move as the game progresses. To expand contract the scale right click on the graph and move the mouse up and down. Scores as with the rest of the program are expressed in terms of pawn values. (ie 1.1 means 1.1 times the value of a pawn) Clocks - Click on clocks to toggle between graphical and text clock. In 3d if graphics clocks is on the mouse is the clock (black for black to move, white for white to move). Comments - Left click here to edit the comment attached to the current move. Hitting enter or clicking elsewhere will finish editing. Legal moves - This shows all legal moves from this position with slider bar. The slider bar can be used to see moves below the bottom of the window. The move is followed by a score and then any extra information such as whether the move captures is in the book or is part of a named line such as the Ruy Lopez. The scores are ply0 scores ie. no search has been done to find them and so are quite rough. They are sorted into order best first. Clicking - Left mouse on the move will execute it if it's your turn. Right mouse on the move will highlight it on the board. Left mouse on the score will give you a breakdown of that score. Right mouse on the score will make the move visible/invisible to the engine (if Analyse Mode is on). It will appear in blue when invisible. This means you can force the engine to only think about one move or a couple of moves. The move list - you can scroll through this with the cursor keys and Home/End moves can be deleted with the del key. If you create a variation by making an alternative move a + appears next to the move if you now left click on this move it brings up a small popup menu with alternative moves listed in it. Left clicking on any other move takes you to it, left clicking on the current move (the last move made in fact) highlights it, right clicking on any move highlights it. The move list can be quick scrolled by holding down a cursor key, only the board and move list are changed until a key has been released for over 1/5th second. Thoughts - small thinking (visible in info mode) This shows the time mode + test position information if one loaded searching shows the move currently being considered, best shows the current best sequence (or best line) of moves thought of so far, along with a score. The first move in the list is the move we think is best at the moment, and all the moves following are what we think will happen if we play this move. Clicking on a move in the best line will slowly show each of the moves and then highlight the final move. Thus you can see how we think the game will continue without having to work it out in your head. A score of -0.8 means we think we are 0.8 of a pawn behind our opponent. big thinking - this is the same as above just giving a lot more information, (visible in techno mode). Each column of numbers represent a score breakdown of the move at the top of the column. Thus if a best line went e2e4 followed by d7d6 followed by g1f3 the scores below each move would represent what we thought of it. In database mode. The list of games can be scrolled through with the up down cursors, home end and delete behave as expected. Left right cursors scroll through current game. Holding key down quick scrolls. The on screen buttons do the following Goto - enter a game number to go to. Plus a lot takes you to end (also end key). Filter - this allows you to a wildcard search for games fulfilling specified criteria. The effects are cumulative. Ie you can do a search for games played by kasparov or short, then do a second search on the result for games played between 90 and 93 and so on. Sort - sort the database into a specified order (uses quick sort so % completetion bar is totally inaccurate) Classify - Brings up a pick list of up to 5 categories. Switch to one click in name (first entry to change it) right click in name to set it as a destination go to any other classification (includes all games) right click on game to send it to all classifications set as destinations, or use all -> class to put all visible games in destination classes. This is used to take a big database then take all games you're interested in and classify them, classifications are saved. Get game - this gets the game currently being played and puts it into the current database. Edit game - this copies the current game to the main game allowing you to edit it. Changed games are shown with '*'s to their left. Games that have been classified (unless in current classification) have a '>' next to them. The changed game buffer has room for about 100 games. When full the user is asked to flush the buffer (save it) before any more games can be added. The program does do more, but I'll add these to this list as I remember them. Troubleshooting --------------- Graphics - N.B. These notes do not refer to the title animation, which should work on any VGA card. As mentioned above we only work on SVGA cards at the moment. If you get a message about not being able to work in VGA, try running the univesa program do this by typing uvesa\univesa Then trying again. If this doesn't work try finding a vesa driver for your SVGA card you should have received one with the card. Vesa drivers are normally called something like vesa.com. Some newer VESA compatible cards such as the Hercules Graphite use strange line widths in SVGA which we don't cope with at the moment. If you find the program starts but everything seems to bunched near the top of the screen and you can't read it this may be your problem. Look for a program with your SVGA card software that emulates older VESA drivers. With the Graphite this is done by loading a different VESA driver HG_OLD1.CRT. There is sometimes a strange bug during startup, where if you move the mouse before the pieces have appeared on the board the program may crash. The cause of this is to do with the complexity of writing bimodal interupt handlers that work properly, and will be fixed by release. The solution is not to move your mouse during startup. This happens particularly when using virtual memory (see below). Memory - The graphics start but, the program reports out of memory errors or just crashes. This is a big program so unfortunately it needs a lot of extended memory to work properly. We recommend at least 3 Mb. It will just about work in 2.1Mb. It's happy in 4Mb. You can find out how much free expanded memory you have by typing mem at the dos prompt. You can make more memory by reducing the amount used by other applications such as disk caches if you have one. If this fails you can run the program using virtual memory. To do this you will need at least 4Mb free on your hard disk. If your hard disk is not drive c:\ or this isn't the drive you wish to use, you will have to edit the file called nomemory.bat and change c: to your hard drive. To run with virtual memory type. nomemory at the dos prompt. The program will run a lot slower in virtual memory and your hash tables will automatically be minimalised. Finally don't run this program in a dos box under windows - it won't like it.