* Fills a market gap, by being easily beaten at its
lower levels. Unkind people have suggested that this
feature applies at the higher levels too.
* Usually beats its programmer on level 4, often on
level 3, and occasionally on level 2.
* Is given away free, gratis, without charge, and for
nothing. Nor are you required to pay for it.
* Examines up to 1500 moves per second on LCIII; up
to 3600 per second on Quadra 650. The natural awe with
which naive people regard these numbers should be tempered
by the fact that most of the moves examined are stupid
ones that no human player would contemplate at all.
Also, internationally acclaimed chess computers examine
300000+ moves per second.
* Is written in FutureBasic II, with many of the search
routines in assembly language.
* Has received perceptive critical comment: "It
plays chess as though it was playing draughts".
Instructions
* Minimum memory requirement (as set in the Finder's
Get Info window) is about 720K. Memory allocated in
excess of this is used for the transposition table
to increase speed of searching. An allocation of at
least 1.8 MB is recommended.
* Move pieces either by clicking on the piece then on
the destination, or by dragging the piece to its destination.
* The 'Score' displayed at upper right after each move
is a crude indicator of how well or poorly RChess thinks
it is doing. The score is dictated mainly by material
balance, with conventional piece values: pawn=100,
knight=324, bishop=348, rook=500, queen=900.
* By default RChess consults a small library of opening
moves. If a match is found with the current position
it plays the stored 'book' move immediately. If there
is more than one book move, RChess picks one at random.
As will quickly become clear to the informed observer,
the intention behind this feature is not to secure
an advantage by encyclopaedic knowledge of openings,
but merely to provide felicitous variation in the openings
played.
* An inconspicuous mini-menu to the right of the Play
menu contains two commands: "Hint" and "Move
now".
* The command "Modify board position" in the
Play menu permits rearrangement of pieces. After rearrangement,
select "Continue play" to accept the new
piece placings, or "Revert board position"
to return to the original position.
* The commands "White to play and mate" and
"Black to play and mate" in the Play menu
put RChess into an efficient mate-problem-solving mode
which will find a mate (if one exists in 10 moves or
fewer). Exit from this mode by selecting "New
game" from the File menu, or "Move now"
from the mini-menu.
* RChess can run in the background, so that you may
work with another application while RChess continues
to think about its move.
Angry bug reports (in English please) or extravagant
praise (in any language) may be directed to:-
robert.purves@stonebow.otago.ac.nz
Robert Purves
Pharmacology Department
Medical School
University of Otago
PO Box 913
Dunedin
New Zealand
Version history
* <=1.15 Various bug-ridden horrors, the earlier
of which could not underpromote or play captures en
passant. However the later versions could sometimes
beat me, without having to be set at an unbearably
slow level.
* 2.0 Move search routines re-written: transposition
table; iterative deepening of search; "obvious"
moves made quickly; deeper searching in endgame (usually
able to mate with KBN vs K on level 3). Mini-menu
with "Hint" and "Move now". Mate-seeking
mode for problem solving.
* 2.0.1 & 2.0.2 Bug fixes.
* 2.1 Changed to FutureBasic II compiler. New assembler
routines for shorter, faster code. No longer runs
on 68000 machines (Plus, SE, etc).
* 2.1.1 Minor bug fixes, affecting positional evaluation.
Fixed bug affecting ability to mate with KBN vs K.
* 2.1.2 & 2.1.3 Bug fixes.
* 2.2 Improved use of transposition table and pawn score
hash table. Revised heuristics (rules-of-thumb) for
positional scoring. Less noticeably hopeless in K &
P endings. More sounds added, along with a much-requested
menu item allowing sound to be turned off (the default).
Added Fixed time mode.
* 2.2.1 Can now run as a background application. Fixed
bug causing saved game with checkmate to crash on opening.
* 2.2.2 Bug fixes
Pointless technical information
* Many chess programs make extensive use of 64-bit structures
known as bit-boards. A routine in RChess, named NextBit,
has the job of locating, and returning in sequence,
bits that are set in a bit-board. On a Quadra 650,
NextBit is invoked about 70000 times per second during
a deep search. A related routine, KountBits, is invoked
about 10000 times per second.
* RChess's raw move generator is named GetEveryMove
and takes, on average, 300 microseconds to return a
list of (typically) 35 moves, on a Quadra 650. The
moves are partially presorted, with pawn promotions
and favourable captures, if any, at the head of the
list.
Notes on the levels
* The named (numbered) levels give similar standard
of play on different Macintosh models, regardless of
the computer's speed. The move search is slow on a
slow computer and fast on a fast computer.
* The four learner levels (at the top of the Level menu)
make direct use of some primitive move-selection routines.
These are routines that RChess can call upon for quick
pre-sorting of moves during a full, high level search.
If RChess is losing heavily (or, improbably, winning
heavily) it switches internally to the next higher
level. Also, the list of moves is scanned for an immediate
mate (by RChess of the opponent), and, if one is found,
that move is selected regardless of the playing level.
When playing at a learner level, RChess has no 'look-ahead'
and does not even notice that a move would result in
mate on its opponent's next move.
* At level -3, RChess makes the first move returned
by the raw move generator, with no "look-ahead"
or examination of the consequences. The raw move generator
proposes a favourable capture if one is available,
or will shift a threatened piece, but otherwise shows
no intelligence at all.
* At level -2, all possible moves are generated and
tried, and are then scored on the basis of a static
analysis ("If I take your knight, you'll take
my queen..."). The supposed best move is then
used. Static analysis succeeds in predicting the outcome
of simple capture/recapture sequences and of pawn promotion,
and RChess can therefore avoid the rapid loss of its
pieces, despite playing moves that are, positionally,
without merit.
* Level -1 is like level -2, except that positional
factors ("I'm attacking lots of centre squares",
"Your rooks are doubled on the same file",
"My knight is pinned against my king") are
included in the score.
* Level 0 is like level -1 except that a dynamic capture
analysis is done, so that checks and discovered attacks
occurring during the capture/recapture sequence become
known and are scored more accurately.
* On level 1 and above, RChess plays increasingly sensible
moves, beyond the learner standard of play. Look-ahead
is obtained by an iteratively deepened full-width search
with alpha/beta cutoffs. In the opening, the maximum
depth of the full-width search is normally equal to
(1 + the level) plies. Captures, promotions and some
checks are then examined in a partial-width search.
In the end-game a much deeper search (the built-in
limit is 22-ply) can be employed, since fewer moves
have to be considered. A "ply" is a half-move,
i.e. Black's move or White's move.
* In Fixed time mode, RChess plays more strongly on
a faster computer, for obvious reasons.
This page was created using TextToHTML. TextToHTML is a free software for Macintosh and is (c) 1995,1996 by Kris Coppieters