home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 10
/
aminetcdnumber101996.iso
/
Aminet
/
game
/
board
/
VChess35.lha
/
VChess
/
VChess.doc
< prev
next >
Wrap
Text File
|
1995-12-18
|
62KB
|
1,317 lines
VChess 3.5 - A Chess game for Amiga-Computers (OS 2.0+)
© 1993-1995 by Stefan Salewski
All Rights Reserved
Copyright and other legal stuff
VChess is NOT a PD-Program, but Shareware! VChess and most other files of
this package are Copyright © 1993-1995 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 3.5-Package contains the following files:
File or directory Size Meaning
------------------------------------------------------------------------
VChess 115308 Mainprogram, V3.5, © S.Salewski
VChess.doc 61646 English documentation
VChess.dok 80702 German documentation
VChessOpenings 24088 150 Chessopenings
Product-Info 1973 For KingFisher 2.0 or similar tools.
ReqToolsLibrary Dir ReqTools.library V38.1266 © N. Francois
Games Dir Saved games.
Text Dir Game, saved as text file.
Icons Dir Icons for games, text and configurations
Catalogs Dir Catalogs for german, french, swedish
Configs Dir Example-Configurations
Checkmates Dir Some Chckmates ( mate in 2, 3 or 4 moves)
Chesstasks Dir Some Chesstasks(find the best move)
Catalog-Translations Dir English, deutsch, svenska, francais,empty
svenska.ct, produced & © Rikard Bosnjakovic
français.ct, produced and © Denis Gounelle
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 distribute this package without ReqTools.library,
because I think nearly everybody will have it already, or to replace this
library with a never release.)
(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.)
Permission is granted to include this package in Public-Domain
collections, especially in Fred Fish's Amiga FD-Disk Library (including CD
ROM versions of it).
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 $5(US) or DM 5 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 if
the package cost more than US$ 5 or DM 5.
The distribution of VChess on CD-ROM is only allowed if the CD-ROM
contains the contents of FD-Disks (for example Fish 500-1000) or if the
price of the CD-ROM in not greater than US$0.5 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$50.
Distribution of VChess together with commercial software is forbidden.
Distribution of VChess 3.5 on "Coverdisk" of Computer magazines is only
allowed if the following three conditions are met:
-The price of magazine (including the coverdisk) may not be greater than
$7(US).
-The disk must be freely distributable, so that everybody who bought the
magazine can copy the disk for his friends.
-And the magazine must tell all of the purchasers that the author of
VChess got no money from the magazine.
(The reason why I make such strong restrictions about Coverdisks is as
following: Some magazines copied VChess 2.0 on their coverdisk without
asking me for permission or informing me about it. The same did the german
magazine "Amiga-Plus" with release 3.1 of VChess! I think, that somebody
who got VChess from such Coverdisk may think, that I got some money from
the magazine, and he may suppose that it is not so important to pay the
shareware-donation. But of course this is not true. None of these
magazines gave me anything for it. So even people, who got VChess from an
expensive Coverdisk, have to pay their contribution.)
Of course it is reserved for me to forbid single companies or persons the
distribution of VChess.
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$3 for the disk with VChess, then this was quite expensive. But if
you have paid more than US$5, this was too much. Try to get your money
back, and tell me about it.
What is new in release 3.5 ?
The playing strength should be better again. In release 3.4 there was a
little problem: If the human player did his move at once without thinking,
it occurred sometimes, that the computer told: "This is not a legal move".
So it was necessary for the human player to wait some seconds and then to
do the move again. This is fixed now. Additional there is 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 german documentation, called
"VchessOpeningsV1.0.liesmich". Til now I have not used this large library,
but I guess that it may be useful for good players. Unfortunally this
library needs much memory. To use it, just replace my small library with
that large one. To say it again: This large library is © by Uwe Zedtler, I
have only included it (with permission of Uwe Zedtler) in this package.
What is new in release 3.4 ?
The playing strength should be much better now! Please don't be surprised
if you see that the calculating-power of the computer (moves per second,
Mps) is smaller now! Now the computer calculates capture-sequences more
deep, and is more intelligent, but needs more time per calculated move! I
think the result is a better playing strength. The solving of chesstasks
is also much better now, all tasks in the drawer Checkmates/Solved are
solved on my A3000 in less than 20 minutes. I think this is not bad. (But
there are some task in the drawer Checkmates/Unsolved which my A3000 can
not solve in 10 minutes.) Additional, the computer is better in endgame
now. In most cases, the computer can force a checkmate if playing with
king+bishop+bishop or with king+bishop+knight versus a single king in less
than 50 moves now. Beside this, there are some other small improvements,
but there are no big changes from release 3.3 or 3.4 to 3.5. So if you are
familiar with release 3.3 or 3.4, then it is not necessary to read this
documentation again. (It should be possible to use old 3.3/4-datafiles,
like configuration files, saved games or the opening-library with
VChess 3.5.)
Introduction
VChess is written fully in Oberon language, and was developed on an Amiga
3000 using Amiga Oberon V 3.11d (© Fridtjof Siebert). With the help of
OS 2.0, 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
(© Nico Francois). If the ReqTools.library is not part of this package,
you can find it for example in the "March/April 1994 FreshFish CDROM"
(New/util/libs Version 2.2), on the AmigaLibDisk 794 (version 2.1a) and of
course in 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. Without the use of the Opening-library, it may be possible to use
VChess on an Amiga with only 512 K. The normal stacksize of 4096 Byte
should be enough too for normal playing, but with 8192 Byte stack you can
be sure that no stack-overflow can occur.
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 <Return>-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
CD VChess
RESIDENT VChess
RUN VChess
RUN VChess
to get two boards without wasting of 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 four 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 four 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 colours, 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 December
1995 version 3.5 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.
VChess 3.5 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 3.5. 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 an 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 or letter
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
68040-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 3.5 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.
The Use of VChess
After starting VChess, you will see the mainwindow, and perhaps the three
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, 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 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 other 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.)
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 () which opening the computer uses, or the computing-power of the
computer in moves per second, Mps (really Half-moves).
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 four 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 mate or stalemate. A
Requester will ask you "How many moves to mate ?". 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. If
Extras/Playmode/Extend is activated in menu, then the computer will
extend some brances of the tree, for example branches with many
check-offers. In most cases this is useful, so Extras/Playmode/Extend
should be activated in the general case. First the computer will try
to find a mate without depth-extension, then, if no mate is found, he
will try to find a mate with depth-extension. If you click for example
on "2", this means that the computer will start searching for a mate
in 2 moves, then he will extend some branches. If he can not find a
mate, he will go on searching for a mate in 3, first without
extension, then with extension. If you are sure that the mate is not a
result of some checks, then it may be useful to deaktivate
depth-extension. But in general case, Extras/Playmode/Extend should be
activated, and you should click on "2" to start searching.
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 task 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. 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).
"Save Game"
With this function you can save a game, to go on playing it later or
to analyse it later. 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. Please note the following: Whenever you
make a saving-operation, like "Save Game" or "Print Movelist", or when
you add a game to the Opening-Library, then the game is saved only to
the current position in the game. This means, if you have take back a
move with "Extras/Undo", then this move is not saved. (This is not a
restriction, but a feature. So you can prevent saving the last bad
move of a game. If you wants to save the whole game, just select
"Setup/Last Move" or "Extras/Redo" from menu before saving.)
"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 3.5 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, 12 Hours, 24 Hours"
Thinking-time is 1, 3, 8, 12 or 24 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 <Return>, 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.
"Full ?"
If this item is marked, then the computer will use the full thinking
time. Otherwise he will sometimes make his move a little bit earlier.
(In most cases activating this item means wasting of time.)
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. (In release 2.0 this item
was called "Help", because usually a human player would use it if he
didn't know what move he should make.)
"Refresh & Sort"
Like "Refresh", but the moves are displayed sorted, 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 displayer sorted, 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.
"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.
"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 Colour
requester is opened. Click on the colour, which should be used for the
drawing. If you use a custom-screen, you can use the sliders to change
the colour-values. But if you play on a public-screen, it's better to
select only one colour. You can only select one colour at a time. If
you click on "Ok", then the board is drawn with the selected colour.
For pieces and squares you can select two colours, A and B. Colour B
is used for the border of the pieces, and although if the squares are
not monochrome (pattern).
"White Pieces A"
Colour A (inner) of white pieces.
"White Pieces B"
Colour B (border and pattern) of white pieces.
"Black Pieces A"
Colour A (inner) of black pieces.
"Black Pieces B"
Colour B (border and pattern) of black pieces.
"White Squares A"
Colour A of white squares
"White Squares B"
Colour B of white squares
"Black Squares A"
Colour A of black squares
"Black Squares B"
Colour B of black squares
"Board-Border"
Colour of the border of the board.
"Board-Text"
Colour of the text of the board. (1..8, a..h, and chess clocks )
"Rectangle"
Colour 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 colour 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 colours
and patterns. The defaults look nice on an hires-interlace-screen with
OS2.0-colours, but if you have to play on a screen with lower
resolution or different colours, then it's a good idea to try other
colour-selections and patterns.
"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.
"Squareframes"
"White ?"
Draw a frame in colour A around white squares
"Black ?"
Draw a frame in colour 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 colours. It is possible to use a screen with only two
colours, but this will not look very nice. More than eight colours are
not recommended, because VChess currently doesn't use more than eleven
different colours. Please keep in mind, that screen resolution and
number of colours 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. (Selection of a proportional font may give strange results.)
Set Up
------
You can access this menu only if you are in Buildup-Mode, maybe you have
to select "Project/StopGame" before.
"Load Game"
With this function you can load a game, to analyse it or go on playing
it. For example you can select the item "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
"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.
"First Move"
Jumps to the first (really the one before) move of the actual 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.
"Replay Game"
Replays the actual game from the current position to the last move of
this game. To replay from the beginning, it may be necessary to select
"First Move" before. The speed of replay depends on "Extras/Blinken",
see below. If you make any user-input in the boardwindow during
replaying, like mouseclick or menu operation, then the replay is
terminated.
"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 colour 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 colour.
"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.
"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. But 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.
"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.
"Redo the Move"
The move which you have taken back is again performed.
"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.
"Create Icons ?"
With this item you can select if the program shall create icon 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 Openings ?"
If this item is marked, then the computer will use the
Opening-library. (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 with white as the active player.
Note that the opening-library is loaded if playing starts. This means,
if you deactivate this item before you start playing, the library will
not be loaded in memory. This will save some memory, so that it may be
possible to use VChess on Amigas with only 512 K.
"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.
"Sound ?"
If this item is activated, then a sound is generated when the computer
makes its move.
"PlayMode"
With the following four items you can modify the thinking-process of
the computer. In the actual release 3.5 of VChess only the subitem
"Extend" has a function, the other three items are internally
deactivated. I have not removed them, because it is possible that they
will get a function in a new release of VChess again.
"Reduce ?"
If this item is marked, then the computer will cut some (bad)
branches of the chess tree to save time. For solving for mate this
may be harmful, so if you select "Project/SolveForMate" then no
branches are cut. If you play letter chess, and you give the
computer some hours for thinking, then it may be useful to de-select
this item.
Attention: Currently, in release 3.5 this item has no function!
"Extend ?"
If this item is marked, then the computer will extend some branches
of the chess tree, especially capture-sequences and check-offers. In
normal playing, such a depth-extension is always useful, so this
function is always activated internally in normal playmode. If
solving for mate, depth-extension is useful too in most cases, so
this item should be activated too. But in special cases, if you are
sure that the checkmate is not a result of many check-offers, then
it may be useful to deactivate this item.
"Estimate ?"
If this item is marked, then the computer will try to estimate if
the last nodes in the tree are good or bad moves. (In a given time
period, the computer can only calculate some half moves deep, for
example five half moves. In the last half move it may be possible
for a player to capture a Rook with a Queen. To decide, if this is a
very good move (win a Rook) or a very bad move (win a rook, but lose
the queen) the computer has to calculate the next half move of the
opponent. But there is not enough time to do this, and in the next
half move there will be with great probability a similar problem. So
the computer have to cut the movechain, and can only guess or
estimate if the last move in the chain is a good or bad move.)
Attention: Currently, in release 3.5 this item has no function!
"Strategy ?"
If this item is marked, then the computer will take into account
strategy, for example it is generally better if the Knight resides
in the centre of the board. This item should always be marked,
because playing without strategy will result in a very low
playing-strength.
Attention: Currently, in release 3.5 this item has no function!
"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
usefull 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.
"Blinken"
"0, 1, 3, 5"
If pieces are moved, they blink a few times. So you better can see
which move the computer makes. You can select between 0 to 5 blinks.
This blinking is also used if you have loaded a game and replays it
with "Replay" or "Next Move".
Openings
--------
With this menu you can modify the opening-library. Most people can
ignore this menu.
"Add this Game"
If you select this item, then the current game is added to the
opening-library. With this function you can expand the
opening-library. (To create a new one, just delete the file
VChessOpenings before starting VChess.) There is room for 48 half
moves of a game in the opening-library. If the current game has more
moves, the remainder is ignored. 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 have to enter the
name of this opening, the name may not have more than 32 characters.
If this name already exists, you will get an error message. Try
another name. (Currently all names of openings are German names. The
reason is that I have only German chess books, and it's difficult to
find good translations for the names.)
If an opening, which you add to the library is already in this
library, but with another name, then there are two cases: If the
opening in the library contains more moves, then an error message is
displayed and your opening is not saved. But if your opening is
bigger, then your opening will over write the old one.
You should only add your own openings (games) to the library if you
are a very 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. So ensure that the menu item
"Extras/Use Openings" is on before you select "Project/New Game" to
enter a new Opening. In this case the existing Opening-Library is
loaded automatically.
"Delete actual"
With this function you can delete the actual opening, this means this
one which is just used by the computer. This can be useful, if you are
playing against the computer and notice that the computer uses a wrong
or weak opening.
"Delete by name"
With this function you can delete an opening by name.
"Dump to File"
This function writes all openings to a file in algebraic notation. You
can look at this file with a text viewer, or print it out.
"Save all Entries"
If you select this item, then the opening-library is saved. If you
forgot this, all modifications are lost.
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. I
am studying physics, so I don't have much free time to answer your
letters.
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 3. And a bigger Opening-library, (with a new
data-structure to save space) would be nice, a large Chess-Database too.
And an ARexx-port may be useful too. But I am not sure if there will be
new releases of VChess on the Amiga. Til now (1.12.1995) only 58
VChess-user paid there contribution. This is not enough. Perhaps the
playing-strength was too low in former releases of VChess, this may be the
reason why only so few people paid there contribution. But if not much
more people will pay for this release, then I think that I must stop the
furher development on the Amiga. 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 english, deutsch, français and svenska are
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.)
If you modify Catalog-translations (VChess.ct), or create new
translations, please note this: If a menu item should get a short-cut,
insert at the beginning of the text string the letter for the short-cut
and the characters "\x00". For example, to create a short-cut for the menu
item "New Game", create this string: "P\x00Fresh Game". This will give the
item text "Fresh Game" with the short-cut "P" (Play). (This is the way,
which Nico Francois uses to create short-cuts for ReqToolsPrefs.) The
advantage is, that you can create Short-cuts for any number of items. But
be careful, only insert Short-cut-Characters in Item text or Sub-item
text, but not in other strings! (Unfortunately, there is a little problem:
If a menu item has no short-cut, and the text is only one character long,
this may look like an item with a short-cut but no text. To prevent this,
you can insert an additional space, or append an additional "\x00". So to
create an item without a short-cut and with the text "1" you can type "
1", "1 " or "1\x00". (If the item has a short- cut, then there is no
problem, you can type for example "1\x001". This will result to an item
with text "1" and short-cut "1".)) 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 1995