VChess 4.0a - A Chess game for Amiga-Computers (OS 2.0-3.1) © 1993-1996 by Stefan Salewski All Rights Reserved Copyright and other legal stuff =============================== VChess is NOT a PD-Program, but fully functional (non crippled) Shareware! VChess and most other files of this package are Copyright © 1993-1996 by Stefan Salewski. In spite of several tests, no warranty is made that there are no errors in VChess. YOU USE THIS PROGRAM AT YOUR OWN RISK. In no case I will be liable for any damage, direct or indirect, resulting by the use of VChess. The complete VChess 4.0a-Package contains the following files: File or directory Size Meaning ------------------------------------------------------------------------ VChess 138804 Mainprogram, V4.0a, © S.Salewski VChess.doc 75814 English documentation VChessOpenings 3280 1630 Halfmoves Product-Info 1875 For KingFisher 2.0 or similar tools. Games Dir Saved games. Text Dir Game, saved as text file. Icons Dir Icons for games, text and configurations Catalogs Dir English Catalog Configs Dir Example-Configurations Checkmates Dir Some Checkmates (mate in 2, 3 or 4 moves) Chesstasks Dir Some Chesstasks(find the best move) Catalog-Translations Dir Only English This release of VChess is again freely distributable. Permission is granted to include this package in free "Public-Domain"- collections, like the good old Fred Fish's Amiga FD-Disk Library or the great german "Berliner Spielekiste". The prefered way of distribution is by AmiNet and other free FTP-Servers! Distribution of VChess is only allowed if the following conditions are fulfilled: All these files must remain unmodified. None of these files may be distributed on its own, the entire package must be distributed together. (It is allowed to archive these files with archiving-programs like LHA (© Stefan Boberg) if it is possible to retrieve the files from the archive in their original state.) The complete package may be (in archived form) uploaded to Bulletin Board Systems or FTP servers. PD-dealers and other people who want to distribute VChess are only allowed to take money for the floppy disk and copying efforts. Nobody may take more than $3(US) or DM 4 for the disk with VChess. This is also valid if there is other software besides VChess on the Disk. The distribution of VChess in "Software Packages" (more than one disk) together with other Software is only allowed with my written permission. The distribution of VChess on CD-ROM is only allowed if the price of the CD-ROM in not greater than US$0.2 per megabyte. This means, that nobody may sell a CD-ROM containing VChess and 100 Megabytes of other software for a price greater than US$20. Distribution of VChess together with commercial software is forbidden. Distribution of VChess 4.0a on "Coverdisk" of Computer magazines is only allowed with my written permission! (Some Computer-Magazines put older releases of VChess on their coverdisc, without asking me for permission. And they don't gave me anything for it. I will not tolerate any more, that magazines make so much money with my work. I know that they make much money, because some weeks ago a magazine called me and offered 2000 DM for using release 4.0 on their Coverdisc. But please regard this: If you should get release 4.0 from such a coverdisk, you can suppose that they gave me some money for it. But this means not that release 4.0 is commercial software now! VChess 4.0 is freely distributable, it is your decision if you take it from a coverdisk, or free of charge from AmiNet or friends! So even people, who got VChess from an expensive Coverdisk, have to pay their shareware-contribution.) Of course it is reserved for me to forbid single companies or persons the distribution of VChess. Starting with release 4.0 it is forbidden for the following persons or companies to sell or distribute VChess: A.P.S. - electronic - Sonnelind Lange Alex Lange They put my VChess 3.5 on their Time 493 disk. On their disk is following text: ------------------------------------------------------------------------- Diese TIME kostet DM 5.--. Verschiedene Autoren/Programmierer sind/werden finanziell beteiligt, so daß andere Händler bitte ebenfalls diesen Preis berücksichtigen mögen. Eine Kopiergebühr unter DM 5.- (incl. Disk) ist zwar aus Wettbewerbssicht sicherlich überlegenswert, doch damit werden die Autoren um Ihren Anteil betrogen ..., während ein Preis über DM 5.- die Bezahlung etwaiger Share- ware-Gebühren an die Autoren beeinträchtigen dürfte. ------------------------------------------------------------------------- Some people read this text and thought that I got money from this company! This is not true, they just sended me 4 disk of their time-disks. User of VChess should regard this: An empty Floppy-Disk costs less than US$1, and copying VChess takes less than two minutes. If you paid more than US$2 for the disk with VChess, then this was quite expensive. But if you have paid more than US$3, this was too much. Try to get your money back, and tell me about it. What is new in release 4.0 ? ============================ There are a lot of improvements: Opening-Library and saving of Games is fully rewritten. Now the Opening-library takes less space on Disk and in RAM, and is more powerful. You can assign a quality (!!,!,!? and ?) and a textual comment to single moves. You can use a new String-Window to type in moves instead using the mouse. Computer can take advantage of the thinking-time of the human player, so often the computer may do his move at once. Pieces are beamed (© by Scotty) from one square to the other. Custom sounds can be played if datatype-library is available. Games are saved in a new, more compact format, which needs only 2 bytes per halfmove. This means, that most games takes not more than 400 Bytes on disk, and are stored on one single disk-sector. There are again some modifications in the playing-algorithm, I hope playing-strength is a little bit improved, but I am not sure. But there are some disadvantages in this release too: In the last 10 months I got only 6 new registrations. This is too many to cover my expenses. So I wrote this release more for myself and some friends of mine than for the public. To not waste too much time, I have produced only an english documentation and english program-text. (And this english documentation may contain very strange sentences!) Locale-library is still supported, but I have not updated the german catalog, and I have not asked the authors of the other catalogs to adapt their catalogs. Further this release in not tested very well. I was not ready to waste a dozen of hours for testing it, and I have distributed only a few betarelease of Vchess 4.0 to waste not too much postage. This release has many new features, it takes much time to test all of them. Now the sourcecode has a size of 600k, and the structure of the source-code is not very simple. There is much room for bugs to hide! If you find bugs, and you want that this bugs will be fixed, than you should send me a note. Opening-library, Games and Configurations have a new format now. This release can load Games stored with releaee 3.5, and can import an Opening-library stored with VChess 3.5. This release can not load old configurations - but it is really not much work to create a new one. (In release 3.5 there was a little bug: When saving a game, an empty comment was not accepted. This gave trouble, when a game was saved and loaded many times. This is fixed now, release 4.0 can load these games again.) Additional there may be again a greater Opening-Library created by Uwe Zedtler in this package. This big library is copyright by Uwe Zedtler, and Shareware. For more information about this library see the documentation of that package. Till now I have not used this large library, but I guess that it may be useful for strong players. To use it, just replace my small library with that large one. To say it again: This large library is © by Uwe Zedtler, I may have only included it (with permission of Uwe Zedtler) in this package. If this library is not part of this package, then you should find it in AmiNet, I guess the name is games/board/VChessOpenings. Release 4.0a is just a bugfix for release 4.0. With V4.0 it was possible to load old V3.5 games, and to save the game in the new V4.0 format. But then it was impossible to load the game again. This is fixed now. There are no other differences between V4.0 and V4.0a. Important Note ============== Some days ago I have discovered an ugly bug: I did this: Use a configuration with 8 color custom-screen, 5 windows, 8SVX-sounds. Do a RESET Start VChess - and terminate it at once. Open a SHELL and type AVAIL Start VChess - and terminate it at once. Type again AVAIL in the SHELL Now I got a GURU 0100000C This means: Sanity check on memory list failed during AvailMem(MEMF_LARGEST) And AVAIL tells, that the largest CHIP-MEM-Block in only 200k now, while its size should be 1.6M. This bug only occurs on my A3000 in this special situation, and it only occurs if VChess uses Datatypes.library to load 8SVX-sounds! In the last days I worked very hard to fix this bug, but with no success. I beleave that there is a bug in my version 40.6 of DataTypes.library, or my 8SVX datatype 40.1. Now the default configuration plays only simple beeps, without using the datatypes.library. So VChess should work without any problems! If you wants to use more nice 8SVX-sound, you can use the menu "Config" to activate this, see below. Maybe it works on your computer without bugs. If you should get the above Guru without using datatypes, or if you have any information about this bug, then please report this to me. Introduction ============ VChess is written fully in Oberon language (with a few Assembler-routines), and was developed on an Amiga 3000 using Amiga Oberon V 3.11d (© Fridtjof Siebert). With the help of OS 2.0 (3.1), ReqTools.library and Amiga-Oberon, I have produced a compact, powerful and easy to use program. To run this program, you need an Amiga with OS 2.0 or greater, and additional the ReqTools.library. ReqTools.library (© Nico Francois,Magnus Holmgren) is not part of this package, every serious Amiga user should possess it. If not, take a look to AmiNet. Please note that there exists a Preferences-Editor for ReqTools.library. You can use this Editor (not part of this package) to modify the behaviour of the ReqTools.library. VChess needs not very much memory. With a small Opening-Library it should be possible to use VChess on an Amiga with only 1MB. The stacksize should be at least 8k, but if you have any problems, try a larger stack. The Opening-library uses recursion, so a large library may need a larger stack. Installation ============ Copy, if not already installed, the ReqTools.library to LIBS:. This is all. Now you can start VChess from Workbench with Double-Click. If you want to install VChess on your hard disk, it is best to copy the whole VChess-Drawer to hard disk, because this drawer contains the Opening-Library and other things. VChess can use Catalog-files to adapt itself to other languages than English. VChess searches for these catalogfiles in PROGDIR:Catalogs/language. Where PROGDIR: is the directory in which VChess resides. If, for example, your preferred system-language is "deutsch", then VChess will load "PROGDIR:Catalogs/deutsch/VChess.catalog". You can copy the catalogfile to LOCALE:catalogs/language, VChess will find it there too, but I think it's better to leave the catalogfiles in the VChess-Drawer. (You can use VChess without its VChess-Drawer, but this is not recommended because many additional files like the opening-library, saved games, Icons and so on belong to VChess.) Starting VChess =============== The easiest way to start VChess is with a Double-Click on its Icon. But of course you can start it from Shell by typing its name and then pressing the -Key. (VChess needs no parameters.) If there is the file VChess.config or Configs/VChess.config in the Drawer of VChess, then the program uses this file for the startup-configuration, otherwise defaults are used. It is possible to make VChess resident with the shell-command RESIDENT. This can be useful for a few people, who need more than one board. For example type in the shell STACK 12000 CD VChess RESIDENT VChess RUN VChess RUN VChess to get two boards without wasting too much memory. This is not very nice, because both boards appear at the same position, and you have to save and load a game to exchange games, but it is possible. And most players will only need one board! First Steps =========== Before you go on reading this text, it is better to start VChess now and try it out. When the program has started, you can see five windows. The big one with the chessboard is the main-window. The other windows are only help-windows for showing some information. If one of these five windows is active, then you can press the right mousebutton to take a look on the Pulldown-Menu. (Don't be sad if the display looks ugly at this time. Many things like colors, fonts and screen-resolution can be changed.) Now select the menuitem "Config/Reset to defaults" to reset all adjustments to defaults. Start the game by selecting "Project/NewGame". Now you play with the white pieces against the computer. To move a piece, simply click on it with the left mousebutton. (To click means: Move the pointer over the chessman, and then press and release the left mousebutton.) Now this piece is marked. Now click on the destination-square. If this was a legal move, the piece will move from source to destination, and the computer will answer with its move. Now it's again your turn, and so on. Don't hesitate to test some of the menu-functions. The meaning of most of them should be clear, just try it out. Of course you can re-size the windows, or close the helpwindows. Shareware-Contribution ====================== I started the development of VChess in summer 1992, and now in November 1996 version 4.0 is finally (nearly) finished. I guess, that this program took more than 2000 hours of work till now. I think you can imagine how much money the development of this program would have cost a software-company, or how much money I could have earned if I had spent this time somewhere else. And last not least the costs that the development of software causes are not negligeable. At the beginning I planed to sell VChess in a commercial way. But because even with a commercial distribution it is not secure that the author gets a justified amount of money for his work, I decided to distribute VChess as Shareware. Shareware means, that the program can be freely copied, so that everyone can get it (nearly) free of charge from friends, PD-Dealers or by BBS-Systems. But when you like the program, and you want to go on using it, you have to send a donation to the author.( Some people call this sort of software giftware) VChess 4.0 is true shareware again. This means that there are no restrictions in this version. I emphasize this, because many authors have decided to release only restricted versions of their software for freely distribution. But there are no restrictions in VChess 4.0. This means that you can test all functions of VChess, and you don't have to wait many weeks after paying the contribution to get the fully functional version from the author. And I have the advantage that I save some mailing-work and postage. So if you like VChess and want to go on using it, please send US$15 or DM20 to the following address: Stefan Salewski Stolper Weg 3 D-21680 Stade (Germany) Please compare this address with the text that you can see if you select the menuitem "Project/About". If there are any differences in the addresses, this means that somebody has made illegal modifications. In this case try to get a clean, unmodified version of VChess. If you live in Germany, you can send me a "Verrechnungsscheck" or make an "Überweisung" to: Stadt-Sparkasse Stade Bankleitzahl 24151005 Kontonummer 823864 Otherwise I think the best way is if you send me the money in cash. It may be possible to send an EuroCheck (only in DM !) or to send me the money by postal money order. (But it is impossible for me to cash in foreign checks, even if the amount is in DM. I got a check from an English bank (DM 20), but I had to send it back because the banks in Stade charge DM 27 to cash it in.) All people, who send me the contribution, will get a postcard, letter or EMail from me, so that they know that I really got the money. If you should not get this notification after six weeks, then something went wrong. (Please don't forget to give me your FULL postal address.) Playing-Strength ================ Of course it is a big difference if you play with a 68000- or 68060-processor. On my A3000 I lose most games against the computer, if I play with fair conditions. Fair conditions means, that I don't take back moves, and that I don't use more thinking-time than the computer. I can't make precise statements about it, because I have too many possibilities to compare VChess with. The playing-strength of version 2.0 was not very great, but I think that in Version 4.0 the playing-strength is not bad. The playing-algorithm is completely a development of my own, I spent approximately 1000 hours on it. I guess that other people thought more about it. The best way is if you test the playing-strength yourself. I think, if you lose more than 50% of all games, then the playing-strength is big enough for you. Note: If you lost nearly every game, it would be very frustrating. Of course, if the playing-strength was very high, it would be possible to degrade it artificially. But if you won against the computer, you know that the computer have played intentional bad, you would not be so glad about your win. If you think that the playing-strength is too low, you can tell me. If many people think so, I will try to increase it. For my own games the playing-strength is currently big enough. (Sometimes it may occur that the computer make an obviously bad move. This can happen for example, if the thinking-time is short, so that the computer can't see an imminent attack of his opponent. In this case you can do this: Select a longer thinking-time (for this move only), and then select Extras/Undo last Move from menu. Now the computer will take back his bad move. Using a longer thinking-time, he will find a better move in most cases. Now you can use the smaller time again. For example, I use 30 seconds thinking-time on my A3000. If I notice, that the computer has done a very bad move, I select 3 Minutes thinking-time, and Undo. Now I fetch a cup of tea, and when I come back, the computer has found a better move in most cases. Now I select again the old thinking-time of 30 seconds. A other way is this: You can select Playmode/Human-Human, use Undo, and do a better move yourself. Now select Playmode/Human-Amiga again. Please don't try to compare VChess running on an A1200 with an expensive program like "Fritz" on a Penium150. This is not fair. VChess is designed for people like me, who want to play some chess sometimes, who want a nice, cheap, easy to use program which is not impossible to beat. The Use of VChess ================= After starting VChess, you will see the mainwindow, and perhaps the four other windows. The behaviour of the windows is like the windows of the Workbench. You can move, re-size and close them. If you close the mainwindow, the program will terminate. To move a chessman, simple click on it and then on the destination square. (To make a rochade(castle), simple move the king. The rook is moved automatically.) If you clicked on a piece, and this click was a mistake, just click again on it to delete the selection. In the window titled "All Moves" you can see all moves of the current game. The last performed move is marked with a ">", this is not very nice, highlighting would look better, but GadTools-ListView-Gadgets only allow highlighting of a complete line. The algebraic notation is used. "2.Bf1-b5 e7-e5" means, that this is the second move, White moved the Bishop from square f1 to square b5, and Black moved a pawn from e7 to e5. The letters behind the movenumber (2.) have the following meanings: P Pawn N Knight B Bishop R Rook Q Queen K King The "P" for a move of a pawn is usually substituted by a space. Some special characters are used for special moves: "O - O" or "O-O-O" means the small or big rochade. "e.p." indicates the special pawn move "En passant". "+" and "#" are used to indicate check and checkmate. "#W" means, that White is checkmate, "#B3" means, that Black will be checkmate in 3 half-moves. "*W" or "*B" is my own notation if White or Black is stalemate. The third window titled "Thinking..." shows the valuation of all currently possible moves. The numbers on the right side are the valuation of this move. The number 100 is equal to the gain of a pawn, -25 is equal to the lost of a quarter pawn and so on. "3-3 Be4xd5 50" means the following: If the Bishop on square e4 would hit the chessman on square d5, this would result in the active player gaining of one half pawn. The characters "3-3" describe the deep of thinking, in this example three half-moves. (A half-move is a move of a white or a black piece.) In this example the computer has calculated for each possible move of the active player a move of its opponent, and for each of these moves of the opponent again a move of its own. From these three half-moves the total gain of this move is calculated, and the computer will select the move with the highest total gain. Note that in the average a player can make one of 30 possible moves. And for all of these 30 possible moves there are again 30 moves as a response, and so on. This means, if the computer calculates 3 half-moves deep, the computer must process 30^3=30*30*30=27000 half-moves. You can think about it as the computer building a tree for each possible move. The first half-move is the root of a tree, and from this root there are 30 branches to a opposite move, and from each opposite move there are again 30 branches to the opposite-opposite-moves and so on. Of course such a tree doesn't have to be totally symmetric, some branches can be longer (more nodes) and others shorter. If an entry begins for example with "3-4", then this means that the basic depth of this tree is 3 nodes, but this branch is 4 nodes deep. Or sometimes you can see entries like "5-3". This means that the basic depth of this tree is 5 nodes, but this branch is cut because it looks like a bad move, or a checkmate will occur in 3 half-moves. The fourth window is called "Move-Chain". If you click on an entry in the "Thinking..."-Window, then the movechain of this move is displayed in this window. This will help you to understand why the computer thinks that a single move is a good or a bad move. The display of this window looks like this: ------------ Gain: 40 +3 Nb8-c6 50 e4xd5 240 Qd8xd5 300 Nf3xe5 70 ------------ This means: If the active player made the move "Nb8-c6", his opponent would react with e4xd5 and so on. The real gain of the move "Nb8-c6" is 50-240+300-70=40. The +3 is a random-number added to the gain, so in the "Thinking..."-window the displayed gain is 40+3=43. (The displayed gain in the "Thinking..."-window may differ a little bit from the sum of the movechain. This is not a bug, but occur because moves at the end of the chain are less weighted.) The last window titled "String-Input" can be used to set or move pieces instead of using the mouse. This can be very useful if you want to type in a game, opening or position from a book or newspaper. In playing-mode (see below) you can type in moves in algebraic notation to do your move. You can use the abreviated algebraic (PGN-like) notation too. Here are some examples: Pe2-e4 or e2e4 or ee4 or 2e4 or e4 or e or 4 may move the pawn. Use lowercase letters for positions! And capital letters for chessman-identifiers. It may be ok to enter only source- or destination-coordinate, if this is a definite move. (If there is only one legal move with this coordinate.) Don't type O-O or O-O-O to do a rochade (castle), just move the king like "Ke1g1". For an "En Passant" move just move your pawn, and for converting a pawn to a queen just move the pawn. After the move-coordinates you can enter a quality. There are four qualities, !!, !, !? and ?. !? and ?! are identically, and you can use simple numbers too, !!=1, !=2, !?=3, ?=4. If you don't enter a quality, then the default quality (see below) is used. Please note, that only moves with quality !! or ! can be added to the opening-library. Additional, you can enter a textual comment behind each move. Here are again some examples: Re4xh4 !! This is a very good move ef3!! e2e4A usual opening Qh ? It was not a good idea to move the queen to h I hope this is clear, try it out. In Buildup-mode, you can use this window to set up a position. First type one single letter to indicate the color, for english language type "W" to select white pieces, or "B" to select black pieces. Now type just a coordinate to set a pawn, or a chessman identifier followed be a coordinate to set a chessman. "e4" or "Pe4" will set a pawn on square e4. "Ka1" will set a King on square a1. You can use a coordinate with a capital letter to clear a square. "G5" will clear g5. In setup-mode, spaces are not allowed. You have to type in one, two or three characters, no spaces. You can deactivate the String-Gadget, if you just type Return without any input. This can be useful, if you want to do a Menu-Operation with Menu-Shortcuts. (If the String-Gadget is active, you can't do Menu-Operations with Shortcuts.) Playing- and Buildup-Mode ========================= There are two modes: Playing-Mode, and Buildup-Mode. In the Buildup-Mode you can move pieces without any restrictions. In Playing-Mode you can do only legal moves, and the chess clocks are running. The Buildup-Mode contains a special sub-mode, called Replay-Mode. Replay-mode means, that there is a game in memory (just played or loaded). In this case you can use the menu items "Next Move", "Previous Move" etc. to replay it, and you can save the game. If you are in Replay-Mode and modify the board by moving pieces, you will go to the plain Buildup-Mode. If you are in the plain Buildup-Mode, then you can save only the contents of the board without any moves. Titleline of the Mainwindow =========================== The windowtitle is used for displaying various information, for example error-reports or the last move. If the computer has done a move, you can see in () the computing-power of the computer in moves per second, Mps (really Half-moves). Additional, at the beginning of a game the name of the used opening is displayed. Chess clocks ============ At the top of the board window you can see three chess clocks. The clock on the left displays the total time for the white player, and the clock on the right the time for the black player. The clock in the middle shows the time for the active player. The Menu ======== If one of the five windows is active, then you can select one of the following functions with the right mousebutton: Project ------- "New Game" With this item you start a new game. All pieces are built up on their initial position, and it is white's turn. "Start Game" With this item you also start playing, but the pieces stay at there former places. "Solve for Mate" With this item you can activate a special playing-mode: The computer will go on thinking until the computer sees a checkmate. Mate in one move means, that the active player makes a move, and then his opponent is checkmate. This is trivial. Mate in 2 Moves means, that the active player makes a move, then his opponent makes any move, and then after the second move of the active player the opponent is checkmate. The Computer will start calculating all moves one move deep searcing for a mate in 1, then he will extend some interesting moves to a greater depth. If no mate is found, he will calculate 2 moves deep, first without depth-extension, then with depth-extension. You can monitor the progress in the Thinking-Window. You can stop the solving for mate, if you select "Stop Game" in menu. This can be necessary, because there exists many chesstask which VChess can not solve in short time. If there are no changes in the Thinking-window for long time, then this task is to difficult for VChess, and you should select "Stop Game" in menu. (All tasks in drawer Checkmates/Solved are solved in less than 20 minutes on my A3000. But the tasks in the drawer Unsolved my A3000 can not solve in some minutes.) When the computer has found the way to checkmate, he makes the first move and stops the game. (If the computer has found a mate with depth-extension, then he will go on with the next level. There may be a shorter way to mate, or there may be more ways to mate.) You can see all moves to mate in the MoveChain-Window. In general case, the next move is not clear, the opponent can react with more than one single move. This is the reason why the computer will not do all moves to mate. But if you think that it is useful to save a special way to mate then you can do this: Select "Thinklist/Update Movechain/No Update" and "Playmode/Human-Human" from menu. Now start the game with "Project/Start Game" and play the moves which you can see in the Move-Chain-Window. Then you can save this way to checkmate by selecting "Project/Save Game". "Stop Game" Terminates the current game (or solving for mate). "Load Game... (or Set Up/Load Game...)" With this function you can load a game, to analyse it or go on playing it. For example you can select the menuitem "Setup/Next Move" multiple times to go to a desired position in a game, and then select "Project/StartGame" to start playing from this position. If you have loaded a game, then the position is at the beginning of this game. So if you want to continue a loaded game, it is necessary to select "SetUp/Last Move" before starting the game.There is a good reason why we don't jump to the last move automatically: Maybe you got a solved Chesstask on disk, for example a "mate in 3". If you load this chesstask, you probably will try to find the solution by yourself first. Only if you can't see it, you will use "Next Move" from menu to display it. (It may be a good idea to close the "All Moves"-Window before loading a solved Chesstask, otherwise you will see the solution.) "Load quick" This function will load the last saved game. This may be useful for people who save and load the same game many time. (Playing letter- or email-chess.) The name of the last game (and the directory-name) is saved in the configuration-file. You may proceed like this. Save your game with "Project/Save Game..." for example with name "MyGame". Now select "Config/Save" from menu. Now "MyGame" is the default game-name. When you start VChess the next time, you can select this item to load this game. This is very fast. "Save Game..." With this function you can save a game, to go on playing it later, to analyse it later, or just to archive it. You can save it in Buildup-Mode and in Playing-Mode. If there is no game in memory, or the board is modified, then only the board is saved. If you want to save not the complete game, for example not the last bad move, then do this: Go to the move, which is the last move which should be saved. Now select "Extras/Delete Successors" from menu. Now the following moves are erased, and you can save the game. For each game you can enter a textual comment. This comment can be up to 79 characters long. I use Dos.SetComment() to store this comment, so no additional diskspace is used, and you can see this comment, if you type LIST in the SHELL. "Save quick" Saves the game with the default name, see "Project/Load Quick". Will work only if there is a default name. "Save Movelist..." The actual game is saved as a text file in algebraic notation. "Print Movelist" The actual game is printed as a text file in algebraic notation. "Give Up..." A Requester will ask you if you really wants to give up. If so, then the game will stop, and the default comment to this game will be "White/Black gave up". "Offer Draw..." Use this to propose a draw. In release 4.0 a draw is always accepted, if the current position has occured 3 times (Position-repeatition-rule) or if there was no progress in the last 50 moves (50-moves-rule). (The game ended in a draw, neigther side won. In german we use the word Remis, I think it's a french word.) "About..." This item displays the address of the author of VChess. "Quit" Terminates the program. Players ------- "Human-Human" Two human players play against each other. "Human-Amiga" A human player plays with the white pieces against the computer. "Amiga-Human" The computer plays with the white pieces against a human player. "Amiga-Amiga" Computer plays against computer. Time ---- With this menu you can change the thinking-time of the computer: "10 Secs, 20 Secs, 30 Secs" Thinking-time is 10, 20 or 30 seconds. "1 Min, 2 Mins, 3 Mins, 5 Mins, 10 Mins, 30 Mins" Thinking-time is 1, 2, 3, 5, 10 or 30 minutes. "1 Hour, 3 Hours, 8 Hours" Thinking-time is 1, 3, or 8 hours. "Infinite" The computer calculates until a mate is found, or until you select "Extras/Break" to force the computer to make his move. "Custom" With this function you can enter a custom thinking-time. With the four gadgets you can determine if your input is in seconds, minutes or hours. If you only press , then your input is assumed to be in seconds. "Equal ?" If this item is marked, then the computer will adapt its thinking time to the thinking time of the human player. "For 1 Move" The above time is used for a single move "For 30 Moves" The above time is used for 30 moves "For Game" The computer will try to finish the the whole game in the selected time. "Reset" Resets the chessclocks to zero Thinklist --------- "Refresh" The computer is always thinking for the active player, even if the active player is a human player. If you select this item, then the list of all currently possible moves together with their valuation is displayed. Of course the valuation may change with time, because the computer is thinking deeper and deeper. So if you select this item after some time again, the valuation will be not the same. You can also select this item if the computer is the active player, to see how the computer evaluates the different moves. "Refresh & Sort" Like "Refresh", but the moves are displayed sorted by gain, best move at the top. "Show old List" This item is similar to "Refresh", but it displays not the current (active) list, but the old list containing the last move. Sometimes it is necessary to take a look on the old list, for example if the computer makes a strange move, and you want to find out why he made such a move. If the list containing this strange, last move is not visible, then select this item to display it again. "Show old List sorted" Like "Show old List", but the moves are displayed sorted by gain, best move at the top. "Show best Chain" Displays the Movechain of the currently best move. (You can use this item or "Refresh & Sort" to get help from the computer.) Please note: The best move is not always the one with the highest valuation! The computer may prefer a move with a smaller valuation, but with a greater depth! "Beep if updated ?" If this item is marked, then the computer makes an audible beep if the Thinklist- or MoveChain-Window is updated. "Show sorted ?" If this item is marked, then the Thinklist is displayed sorted by gain, otherwise sorted alphabetically. "Update Display" "If changed" Update Thinklist and Move-Chain whenever there are changes. This may slow down the calculating power, because in early states of a thinking- process (the first seconds) there are many changes per time interval. "Automatic" Update Thinklist and Move-Chain if it is useful, for example after 2, 5, 10, 20, 30, 60 seconds, and then whenever there are changes. "No Update" Only update the display, when the user select "Thinklist/Refresh & Sort" or an equal item. The "Move-Chain"-window is updated, if the user clicks on an entry in the Thinklist. "Refresh if" "It's Computer's turn" Refresh Thinklist and Move-Chain, if the computer is the active player. "It's Your turn" Refresh Thinklist and Move-Chain, if a human is the active player. "Update MoveChain" "Best Move" Display in the Movechain-Window the best move. "Current Move" Display in the Movechain-Window the current (last calculated) move. "No Update" Don't update the Move-Chain-Window automatically. The "Move-Chain"- window is updated, if the user clicks on an entry in the Thinklist. Display ------- "Show Movelist" The helpwindow, which shows the moves of the current game, is opened or brought to the front. "Show Thinking" This function will open the window, which shows the valuation of all currently possible moves, or brings this window in front of other windows. "Show MoveChain" If you select this item, then the window, which displays the movechain of a special move, is opened or brought to the front. "Open String-Window" Opens the window for string-input, or brings it to front. The String-Gadget should become active too. This can be useful, if this Menu-Item has a Shortcut. So you can activate the Input-Window with the keyboard. I am not sure, if this really works ever. I use ActivateWindow() and ActivateGadget(), maybe more code is necessary. "Rotate" "90+, 180, 90-" With these items you can rotate the board. "Change Colors" If you select one of the following eleven items, then a Color requester is opened. Click on the color, which should be used for the drawing. If you use a custom-screen, you can use the sliders to change the color-values. But if you play on a public-screen, it's better to only select a color instead of changing the value. You can only select one color at a time. If you click on "Ok", then the board is drawn with the selected color. For pieces and squares you can select two colors, A and B. Color B is used for the border of the pieces, and although if the squares are not monochrome (pattern). "White Pieces A" Color A (inner) of white pieces. "White Pieces B" Color B (border and pattern) of white pieces. "Black Pieces A" Color A (inner) of black pieces. "Black Pieces B" Color B (border and pattern) of black pieces. "White Squares A" Color A of white squares "White Squares B" Color B of white squares "Black Squares A" Color A of black squares "Black Squares B" Color B of black squares "Board-Border" Color of the border of the board. "Board-Text" Color of the text of the board. (1..8, a..h, and chess clocks ) "Rectangle" Color of the rectangle, which is drawn around a selected piece or square. "Change Patterns" You can select between four different patterns for the squares and pieces: Mono (only color A), points, lines up and lines down. "White Pieces" Pattern for white pieces "Black Pieces" Pattern for black pieces "White Squares" Pattern for white squares "Black Squares" Pattern for black squares If the display looks ugly on your screen, you should try other colors and patterns. The defaults look nice on an hires-interlace-screen with OS2.0-colors, but if you have to play on a screen with lower resolution or different colors, then it's a good idea to try other color-selections and patterns. "Beam time" With these items you can control the speed with which the pieces are moved from one square to an other square. "0" Pieces are moved at once. "1" Pieces are moved very fast "2" Pieces are moved fast. "3," Moving takes about 3, 4 or 5 seconds "Setup Mode ?" The board gets a border on the left and right side. On this border rest some chessmen. In the Buildup-Mode, you can select these pieces and use them to build up a position. Also you can move pieces on the border to throw them away. In playing-mode the border has no function. "Coordinates ?" If you turn off coordinates, you have more room for the pieces. But I think this is only necessary if you have to play on a screen with very low resolution. "Chess Clock ?" You can turn off the clock. If you have turned off coordinates, clock is always turned of too. "Draw beam frame ?" If this item is marked, then a border is drawn around pieces while beaming. So it is easier to see which pieces are moving. "Show Quality ?" Starting with release 4.0 of VChess, to every move is assigned a quality from 1 to 4, or !! to ?. Quality is important if you want to add moves to the opening-library. You can ignore the quality, if you deactivate this item. "Print Space for !?" For most games !? will be the default quality, so most moves will have quality !?. Then it is optically more nice if a simple space is used instead of !?. "Squareframes" "White ?" Draw a frame in color A around white squares "Black ?" Draw a frame in color A around black squares "Change Screen..." With this item you can select if you want to play on the default public screen, on a public screen or on a custom screen. If you want to play on a public screen, you have to type in its name. If you want to play on a custom screen, it is recommended to use a screen with four or eight colors. It is possible to use a screen with only two colors, but this will not look very nice. More than eight colors are not recommended, because VChess currently doesn't use more than eleven different colors. Please keep in mind, that screen resolution and number of colors may affect the calculating speed of your computer. For example on my A3000 calculating speed is degraded about 50% if I use a hires-16-color-screen or Productivity-Mode. Note that parts of the pulldown-menu may be invisible if you use a large screenfont and a screen with a low horizontal resolution. "Screenfont..." If you play on a custom screen, then you can select a font which is used for menus and windowtitles. "Textfont..." With this function you can select a font which is used in the active window. First click in the desired window to make it the active one, then select this item. So you can select different fonts for each window. Set Up You can access this menu only if you are in Buildup-Mode, maybe you have to select "Project/StopGame" before. "Load Game..." See "Project/Load Game..." "First Move" Jumps to the beginning of the game. "Next Move" The next move is performed. "Previous Move" Takes back the last move. "Last Move" Jumps to the last move of the actual game. In Playing- and Buildup-Mode, you can use the Scroller and associated Arrows in the board-window to move in a game, too. And if the boardwindow is active, you can use the Cursor-Keys too: Cursor Left: Move to beginning Cursor Right: Move to the end Cursor Down: Do next move Cursor Up: Go back, or undo "Clear Board" All pieces are removed from the board. "Build Up" All pieces are moved to their start-position. "Reset" Resets a modified board. This is useful, if there is a game in memory (just played or loaded), and you have modified the board by moving pieces (or changed the active color with the following two items). In this case it is not possible to go on playing this game, to use "Next Move", "Previous Move" etc. Instead of pushing back all moved pieces, you can use this item to reset the board and active color. "White's turn" The white player has to do the next move. "Black's turn" The black player has to do the next move. Config ------ You can save all settings in a configuration-file. "Create Icons ?" With this item you can select if the program shall create icons for saved files. If the program has to make Icons, then one of the following icons is copied if it exist, or defaults are used. Filetype Used Icon (if it exists) ------------------------------------------ Game "Icons/GameIcon", "GameIcon", "Games/Game1", "Game1" Configuration "Icons/ConfigIcon", "ConfigIcon", "Configs/VChess.config", "VChess.config"; Textfile "Icons/TextIcon", "TextIcon", "Text/Text1", "Text1" Additional, if using Locale.library, for each filetype there are two language-dependant Iconnames. For "deutsch" these are: Filetype Icons for deutsch language (if it exists) ------------------------------------------ Game "Spiele/Spiel1", "Spiel1" Configuration "Configs/VChess.config", "VChess.config"; Textfile "Texte/Text1", "Text1" "Use opp. Time ?" Starting with release 4.0 VChess may take advantage of the thinking-time of the human player. This can be useful if the computer has only a short thinking-time, while the human player take a much longer time. If this item is activated, the computer may do his move at once. If a weak human player plays against a fast computer, then it may be necessary to deactivate this item. Otherwise the computer may always win, even if the thinking-time is only one second. "Teaching ?" With this function you can switch on a teaching-mode. If you are playing and it is your turn, and you click on a piece, then all squares on which the chessman can be moved are marked. This is very useful for children learning chess. "Set Sound Volume..." Type in a value from 0 to 64. 0 means no sound, 64 maximum volume. "Set Error-Sound..." Now VChess can play extern soundfiles using datatypes. This should work with OS 3.1 if DataTypes.library is availiable. The sounds in drawers "Sounds" are 8SVX-Files, I found them in the Term4.6-Distribution of Olaf Barthel. Other soundfiles may work too, if corresponding datatypes are installed on your computer. You can select a file from drawer "Sounds", or you can type in an empty string to get a simple DisplayBeep. "Set Update-Sound..." Here you can select which sound should be played if the Thinking-Window or MoveChain-Window is updated. Type in an empty string to get a simple beep. "Set Move-Sound..." This sound is played if the computer makes a move. An empty string will give a simple beep. If you have any trouble with the sounds, try to enter an empty string (just press Return) for all three sounds. Or set Sound-Volume to 0, or delete the whole "Sounds"-drawer. "Load..." Loads a configuration and activates it. "Save" Saves the actual settings as defaults. The program will use these settings at the next start. The settings are stored in the file VChess.config, or if the drawer Configs exists, in this drawer. "Save As..." With this function you can save additional configurations, which you can load and activate again with "Config/Load" . "Last Saved" This function activates the configuration which was used at the start of the program, or which was saved with "Save". This is the file named Configs/VChess.config or VChess.config. "Reset to defaults" Resets all settings to defaults. Extras ------ "Store this Pos." Stores the current position. You can use this function in Playing- and Buildup-Mode. This is very useful, if you try to solve a chess task, or to develop new openings or if you are playing letter chess (exchanging single moves with a friend by letters, EMail or phone.) "Restore old Pos." Restores the stored position. "Set White's Aggr., Set Black's Aggr." With these two items you can change the aggression of the computer. If you enter the number N, then this means that the computer will assign the pieces of his opponent a new value: NewValue:=(RealValue + (RealValue*N/100). The values of his own pieces remain unchanged. So, if you entered a positive value, then the computer will give the opposite pieces a greater value than his own pieces, and will play a more aggressive game, maybe he will try to exchange a pawn of his own with a pawn of his opponent. If you enter a negative value, then the computer will play a less aggressive game, he will try to prevent the exchange of equal pieces. White's aggression is only important if the computers plays with the white pieces. If the computer plays with the black pieces, you have to use "Set Black's Aggr.". You will only have to use both items, if the computer plays with white and black pieces (Playmode Amiga-Amiga). So you can see what happens, if a aggressive computer player plays again an un-aggressive computer player. "Valuation" The computer will evaluate the current position. In Buildup-Mode this valuation is only an approximation, only the pieces on the board and their strategic positions are taken into account. It is not regarded if one chessman can capture an other chessman, or if a mate will occur after some moves. In playing mode, the gain of the next move is added to this valuation. This gives a more precise result. "Break" With this function you can force the computer to make his move. Useful if you are not very patient. "Undo last Move" With this function you can take back the last move. The chess-rules don't allows this, but I think some people will use this function sometimes. Of course you can take back many moves by selecting this function again and again. (There may be a little problem: If you take back an "En Passant"-Move, you (or the computer) can not do this move again. In this case go back two moves, and then go forward again these two moves.) "Redo the Move" The move which you have taken back is again performed. "Delete Successors" With this function you can delete all successors of the actual move. This can be useful if you want to save or print only the beginning of a game. Go to the desired position, then select this item. "Pause" This function stops the chess clocks, and sets the thinking-process to a very low priority, so no computing-power is consumed. The break automatically ends, if an user input is registered. "Set Task Pri. ..." With this function you can modify the priority of this program. Generally you will not need this function. Because a permanent modification of priority is not useful, it is not stored in configuration files. At the next start of VChess, the priority will be again zero (if started from workbench) or equal to the priority of the shell-process (if started from shell). The priority of the thinking-process is always one point lower than the priority of the main process. So user input is always processed in real-time. "Default Quality" Whenever a move is performed, a quality is assigned to it. If the moves originates from the opening-library, then the quality is given by the opening-library, !! or !. If the computer calculates the move, or if you do the move with the mouse, then the default quality is used. Default quality can be !!, !, !?=?! or ?. There are only 4 different qualities, because one move is stored on disk in only 2 Byte. There is no more space for other qualities. I think 4 different qualities are enough, it is not useful to waste one additional Byte for each move. It may look strange that moves originating from opening-library have quality !! or !, for example e2-e4!!. If you don't like this, just turn of displaying of quality with "Display/Show Quality". In the general case, you should use !? as default quality, and activate "Display/Print Space For !?". Then you can mark good moves with !! or !, and bad moves with ?. "!!" Default Quality is !! "!" Default Quality is ! "!?" Default Quality is !? "?" Default Quality is ? "Random" With this item you can make the play of the computer more interesting. Principle the computer would do always the same move in the same situation, because he calculates the best move. But to the result of the calculation a random number is added. With this function you can select the upper border of this number. 100 points are equal to the (virtual) win of a pawn. "0, 25, 50, 100" The random value is in the range between zero and 0, 25, 50 or 100. If you select "0", then the computer always will do the same move in the same situation. If you select "50", then to each calculated gain a random number between 0 and 50 is added. In late endgame, i.e. King vs (King+Bishop+Knight), it may be useful to select a smaller Random-Value, i.e. less than 16. Otherwise, with Random-Value >=25, it may occur that the Computer can not force a mate in less than 50 moves. Large Random-Values in conjunction with small thinking-time in Endgame sometimes gives strange results, because the computer will always try to prevent a repetition of a position. "Custom" With this function you can enter a custom upper boundary for the random number. If the boundary is high, then the playing-strength of the computer will decrease. But maybe this is what you want. "Set Comment..." With this function you can enter or modify a textual comment to the actual move. The actual move is marked with a ">" in the "All Moves"-Window. "Set Quality..." With this function you can modify the quality of the actual move. "Show Comment" Displays the comment of the actual move in the Board-Window-Title. This may be useful, if the window titled "All-Moves" is closed, or if the comment is very long. (In the "All-Moves"-Window only the beginning of a long comment is displayed.) "Show Game Com." Displays the comment to this game. Openings -------- The computer can use an Opening-library for the first moves of a game. (Please don't be confused, the Opening-library is not a Library like ReqTools.library, but just a collection of openings.) The filename of this library is VChessOpenings. This file must reside in the same directory as the program VChess (PROGDIR:). (I think there is no reason to hide it in sub-directories, or to use more than one Opening-library.) Using this library means that the computer needs no thinking time for the first moves, and the playing-strength of the computer is greater. Of course the library can only be used, if the game starts from initial position. (Now it should work too, if Black starts the game.) Note that the opening-library is loaded if playing starts. This means, if you select "Openings/Use not" before you start playing, the library will not be loaded in memory. In release 4.0 one Halfmove of the library needs 2 Bytes on disk, and 16 Bytes in RAM. This means, that a very large Library of 10^5 = 100000 Halfmoves will need 200K on Disk, and 1.6MB RAM. "Show Name" Displays the name of the used Opening. For Example "King's indian defence (3)" means, that the three first moves of this game are called "King's indian defence", the fourth and the following moves have no name. "Show Moves" This function looks like a simple chess-database for openings. All moves of the opening-library, which can be used in the current situation, are displayed in the "Move-Chain"-Window. Try "Project/New Game", and then select this Item. You will see "e2-e4" and some other good starting-moves. "ShowNumber" Displays the total number of moves (halfmoves) in the Opening-Library. "Use !!" Computer shall use only !!-moves of the opening-library. "Prefer !!" Computer shall prefer !!-moves, but may used !-moves (second class) if no !!-move is available. "Use !! and !" Computer may use both classes. "Don't use" Computer shall not use the Opening-Library. "Delete actual" Which this function you can delete the actual, last performed move from opening-library. For example, if the computer has done the move a2-a3, and you think that this is a bad move, just select this item to delete it and all successors of this move in opening-library. You can use this function to delete any opening. For example, you suppose that 1. e2-e4 b7-b6 is stored in Opening-Library, and you think that the second halfmove is a bad move. Select "Playmode/Human-Human" from menu, and then "Project/New Game". Now do these two moves, and then select "Openings/Delete actual" to delete b7-b6 and all successors. e2-e4 will remain unmodified. "Cut Tree..." This may be useful if your Opening-Library is to large. Opening-Library builds a tree, and with this function you can cut all branches which are longer than the number which you enter in the string-gadget. This works like hedgeshears! "Delete all !" This may be useful if your Opening-Library is to large. It will delete all second-class moves. "Dump to File..." This function writes all moves to a file in algebraic notation. The resulting file may become very large, because the three-structure has to be converted to a linear form. "Add this Game" Adds the current game to the library. Please note, that only first- and second-class moves can be stored in the library. Of course you can add only regular games, this means games started from their initial position and white as active player. If you will add an opening from a chess book, it is recommended to do it in this way: Select "Players/Human-Human" and now "Project/NewGame". Now you can play the opening from the book, and then select this item to add it to the library. You should only add your own openings (games) to the library if you are a strong player, because an opening should contain only very strong moves. If there is only one weak move, then the computer may do this weak move and the playing-strength decreases. Please note the following: If you want to add new entries to the Opening-Library, it is necessary to load the existing library in memory before you add new entries. To test if the library is loaded, select "Openings/Show Number", or just use "Openings/Load" to load it (again). "Correct Quality ?" If this item is marked, than the quality of existing moves in the library may be overwritten if you add new moves. In general case this item should not be activated. But it may be useful, for example if 1. e2-e4! is stored in the library, and you want to modify it to e2-e4!!. "Max Depth" With the following items you can set the maximum depth, up to which moves can be added to the library with "Openings/Add This Game". It is not useful to add all moves of a game to the library. 18 Moves = 36 Halfmoves are a good depth. But of course you can add the maximum value, 64 halfmoves, and use "Openings/Cut Tree" if the library grows to big. "24" Don't add more than 24 Halfmoves. "36" Don't add more than 36 Halfmoves. "48" Don't add more than 48 Halfmoves. "64" Add up to 64 Halfmoves, this means up to 32 Moves. "Load" Load the Library again from disk. This can be useful if you have done an operation like "Openings/Cut Tree", and you have deleted to many moves. "Import V3.5..." This function is for people who have created a large Opening-Library with VChess 3.5, and want to use it with VChess 4.0. You can import more than one V3.5-Library. Proceed as following: Start VChess, and select this function. Now select the (first) V3.5-Openings-file. It will be imported. Now you can select further V3.5-Openings-files. If you are done, you may select "Openings/Show Number" to see how many Moves you have imported. Now select "Openings/Save all Entries" to save the library in the new format. This function will destroy the currend game! "Flush" This function will remove all moves from RAM. This can be useful, if you don't need the library any more, and you have not much RAM. "Save all Entries" If you select this item, then the opening-library is saved. If you forgot this, all modifications are lost. Menu-Shortcuts ============== Some people like many Shortcuts, other not. The menu is very large, with a large screenfont a menu with much shortcuts may look not so nice. The english VChess.catalog will give you many shortcuts. If you don't like so much shortcuts, then you can delete (or rename) this catalog, and you will get only a few shortcuts in the "Project"-menu. Advanced Topics =============== If you want to start a game with a definite opening, then you can do it this way: Select "Players/Human-Human" in menu, and then "Project/New Game". Now do the desired starting-moves, for example "1.e2-e4 e7-e5". Now select "Players/Human-Amiga". Now do your next move, for example 2.g1f3. Now the computer will do the next move, using a move from Opening-library if present. But you have to take care about this: You should switch from "Players/Human-Human" to "Players/Amiga-Human" (or Players/Human-Amiga) only if it will be your turn after switching. Otherwise the computer is already thinking for his own move, and he will use the result of the thinking-process instead of a move from library. If you want to use the same opening many times, then do the first moves (until it is your turn), and save the game , for example with name "MyPreferedOpening". Now select "Config/Save" to make this name the default game-name. If you start VChess again, do this: Select "Project/Load Quick", "Setup/Last Move" and "Project/Start Game". Now it should be your turn, and you start the game from the desired position, while the computer can use the opening-library. If you enter additional openings, then it is not necessary to enter each opening from the beginning again. If you want to add openings, all beginning with e2e4,e7e5,g1f3, then you have to type in the first three halfmoves only ones. You can use cursor-keys, scrollergadget or the menu to go back some moves, and then type in the new way. Or you can use "Extras/Store Position" and "Extras/Restore Position" too. This may save some work, or it may confuse you. Now, at the end of this text, some general remarks: Errors or bugs in VChess ======================== I'm sure that there are some small bugs in this version of VChess. Don't hesitate to write to me if you find bugs or have comments about VChess. But please don't expect a (long) response to each of your short letters. Till summer 1997 you may reach me at this EMail-Adress: SALEWSKI@PHYSNET.UNI-HAMBURG.DE But please don't send mail just for fun! New releases of VChess ====================== There are still some things which may be improved. Transfering the thinking-algorithm from Oberon to Assembler would increase the calculating-power by a factor 2, and it may be useful to use special algorithm for special situations. An ARexx-port, a Database (Hash-Table) for endgame, PGN-Format-Support may be useful. Using a (MUI)Control-Panel instead of such a large Pull-Down-Menu would make it more easy to change settings, and some people would like a board with 3D-Graphics. But I think that there will be no major Updates of VChess on the Amiga. Till now (1.11.1996) only 68 VChess-user paid their contribution. And in the last 10 months I got only 6 new regitrations. This is not enough to cover my expenses. If this release should contain serious bugs, then you may find a bugfix in AmiNet in some months. Maybe there will be a transformation of VChess on a Pentium- or RISC-CPU in the far away future. But that release will not be Shareware again! VChess and other languages ========================== It is allowed to make verbatim translations of this documentation or to produce new catalog files for other languages. You can distribute these translations (together with the VChess-package) in your own country without asking me for permission, but please don't make free, shortened or buggy translations. You should only make translations, if you are really using VChess, so that you can verify your work. (I think no translation is better than a bad one.) Making a translation is a lot of work, so it may be useful to contact me before starting with the translation. Maybe there is already a new release of VChess, or someone else has already made the desired translation. If you have produced a really good translation, then you can send it to me. Maybe I will add it to the VChess-package. By using the Locale.library, VChess can adapt itself to other languages if running under OS2.1+. Currently only english is supported. But the file VChess.cd is part of this package. So if you have the program CatComp (© CBM) (or a FD-Program which works like CatComp) and you know how to use CatComp, then you can produce Catalogfiles for your preferred language. Although English is the built-in language of VChess, there exists an English VChess.ct-file. You can use this (together with CatComp and locale.library) to adapt the English text to your own desire. (Modify the VChess.ct-file, use CatComp to create the VChess.catalog-file (Usage: CatComp VChess.cd TRANSLATION VChess.ct CATALOG VChess.catalog) and then copy the VChess.catalog-file to Catalogs/english/VChess.catalog. If you now start VChess again (after a reset or "avail flush"), you should get the new text.) (There exists an english Catalog (Drawer Catalogs/english/VChess.catalog) too. If you use this catalog, you will get many Menu-Shortcuts. If you don't like so much shortcuts (like me), just delete this catalog. Then you will get the built in strings, with only very few Shortcuts.) If you modify Catalog-translations (VChess.ct), or create new translations, please note this: Menu-Shortcuts are localized too. This is suggested in the Amiga-Style-Guide-manual, although many programs don't do this. For most menutexts, there is a corresponding Shortcut-text. Use "\x00" to get no shortcut, or a single character to use a shortcut. (This is much overhead, Nico Francois used an other way. He integrated the shortcut into the menutext. I used this way in release 3.5 too, but this was diffical to handle for translators.) In the Catalog-translations, there are some strings which contains vertical bars, "|". These characters have a special meaning for ReqTools.library. They divide the text for different response-gadgets, so don't delete these characters. If such a string contains any number of these characters, the number must remain constant. Some strings may contain the characters "%ld". This is used to insert a number, so don't delete this. Some strings contain "\x20". This is only a space, you may delete it, but this is not recommended. Some strings must have a special length, look at the file VChess.cd to read this length. (/6/8) for example means, that the minimum length is 6 characters, and maximum length is 8 characters. Some strings contain a "\n". This is only to write the following text on a new line. Most strings have no limitations in length, but if you create too long strings, it may look ugly. And now I hope that you enjoy this game. Stefan Salewski, December 1996