REVE(6) REVE(6)
13 November 1991
NAME
reve - an othello game.
SYNOPSIS
reve [ -animate ] [ -bestmove ] [ -black ] [ -clock ] [ -d difficulty ]
[ -e edgefile ] [ -g geometry ] [ -h helpfile ] [ -help ] [ -i ] [
-last ] [ -load gamefile ] [ -log ] [ -m ] [ -notes ] [ -number ] [
-opponent user@host ] [ -props ] [ -quick ] [ -r reve_proc ] [ -v ] [
-white ] [ -? ] [ -Wi ] [ -Wp x y ] [ -WP x y ]
DESCRIPTION
Reve is a version of the popular Othello game. It contains graphical
interfaces for SunView, X11 and XView, as well as being able to
function on normal display terminals using a termcap interface. Reve
is played on an 8 x 8 board, with stones which should be considered to
be black on one side and white on the other. A legal move consists of
placing a stone of one's own color on the board so as to "sandwich"
one or more rows (orthogonal or diagonal) of stones of the opposite
color between the stone just placed and another stone of the same
color. All stones so sandwiched are flipped over to reveal the color
of the other side (your own color). The object of the game, is to
have more stones than the opponent at the end of the game (ie. when
the board is full or neither side has a legal move). If you have no
legal move, you simply miss a turn. Black goes first. With reve, to
place one of your own stones simply click with the mouse over the
square in which you want your stone to go. Note that it is also
possible to supply a number and a letter pair, to indicate where you
would like your new stone to go. This is the only method to place
stones with the dumb tty interface. The square containing the last
move will be shown with a black outline. This is updated with each new
move. If you hold the mouse button down as you move around the board,
the square you are currently over will be highlighted. There are
various buttons, choice, toggles and cyclic selections available.
Their meanings are given below, plus an indication of their keyboard
equivalents. With the cyclic selections, clicking over the left half
of the cycle item increments the selection, and clicking over the
right half of the cycle item decrements the selection. Control-l is a
keyboard accelerator for redrawing the reve windows. By default, a
human will play black, and the computer will play white. If you want a
human vs human startup or some other combination, then you should use
the appropriate command line options (see below).
REVE BUTTONS
With the graphics versions, there are ten buttons that are normally
displayed at the top of the reve window. Each of these buttons, has a
keyboard equivalent which is given in brackets below. Note that the
XView version has a slightly different appearance, but it should be
easy to deduce what each option does.
load [ L ] Load a game file. The format of this game file is
given below. With the graphical versions, a text
- 1 - Formatted: October 24, 2025
REVE(6) REVE(6)
13 November 1991
field is displayed between the done and quit buttons
for you to enter the filename of this game file.
Clicking over the cancel button or pressing the
Escape key will cancel the load operation. When you
press the Return key, filename entry is complete,
and the program will try to load this file. If it's
unsuccessful, it will stop on the invalid line, and
display an error message. As each line is
successfully read from the game file, the stone is
displayed on the board, and the appropriate stones
flipped.
moves? [ A ] Show all the valid moves for the current board. This
is useful for beginners, and for teaching purposes.
new game [ n ] Start a new game of reve
help [ H ] Display a window containing the online reve help
information. A cycle at the top of this window
allows you to page through this file.
redo [ r ] Redo the last "move". If the opponent is the
computer, then two "moves" are redone. A "move" is
considered to be all consecutive moves by the
opponent. To redo a move, you must have undone a
move.
props [ p ] Display a property sheet containing choices and
toggles which will alter various reve properties.
save [ S ] Save the current game to file. See the entry for the
load button above for details of how to enter the
filename.
suggest [ s ] Let the computer suggest a good move for you. This
move will be dependent upon the current level of
difficulty set.
print [ P ] Print the current game to a PostScript printer. The
default print command is "trans | lpr", but this can
be over-ridden for the X11 and XView versions with
an X resource (see below).
undo [ u ] Undo the last "move". If the opponent is the
computer, then two "moves" are undone. A "move" is
considered to be all previous consecutive moves by
the opponent.
quit [ q ] Exit the reve program.
- 2 - Formatted: October 24, 2025
REVE(6) REVE(6)
13 November 1991
REVE PROPERTY SHEET SELECTIONS
With the graphical versions, there is a property sheet window which
can be displayed. The property sheet has two choice items, one cyclic
item, and six toggle items. Click with the left mouse button over the
option you want from the choice items. With the cyclic items, click
with the left mouse button over the appropriate half, to either
increment or decrement the current value. Clicking left over the
toggle item boxes, will toggle the value of that item on or off. The
choice and toggle items also have keyboard equivalents which are given
in brackets below. The choice items must be followed by the value of
the new selection you wish to make. The dumb tty version has the
equivalent of these items displayed to the right of the reve board
display.
Computer plays: [ C ]
A choice item which selects what color[s] the
computer should play. The keyboard equivalents are
'b' for black, 'w' for white, 'n' for neither, and
'a' for all (both).
Difficulty: [ D ] A choice item which sets the degree of difficulty
for the computers moves. Keyboard selection values
are in the range '1' to '9'. The computer move is
determined on a time basis. The degree of difficulty
determines the total amount of time that the
computer will take to make all its moves. Here are
the time periods for each level of difficulty:
Difficulty Time 1 Time
allocation disabled (fast simple move).
2 1 minutes.
3 3 minutes.
4 5 minutes.
5 10 minutes.
6 15 minutes.
7 20 minutes.
8 30 minutes.
9 60 minutes. Level eight is
tournament level.
Set search depth: [ No keyboard equivalent ]
A cyclic item which sets the maximum search depth
for each and every computer move. By default this
option is turned off, and the computer uses a clock
to time it's moves. Depending on where in the game
you are, the search depth usually varies by one or
two plys. Turning on this option disables the clock.
Animate move option. [ O followed by a or A ]
A toggle item for animating the computer move and
the dragging of human pieces.
- 3 - Formatted: October 24, 2025
REVE(6) REVE(6)
13 November 1991
Show current best move option. [ O followed by b or B ]
A toggle item for showing the current best move as
the computer makes it's move.
Show last move option. [ O followed by l or L ]
A toggle item for outlining the square containing
the last move.
Show evaluation information option. [ O followed by e or E ]
A toggle item for displaying evaluation information
for each computer move. In short, a positive number
indicates a good move for the computer, and a
negative number is good for the opponent. The
evaluation information also includes the depth to
which the computer searched for it's move. If that
depth value is negative, it indicates the search was
not completed at that depth, due to the timer
expiring.
Number last move option. [ O followed by n or N ]
A toggle item for number the last move stone.
Don't show flip option. [ O followed by f or F ]
A toggle item to prevent the flip of the stones as a
turn is completed.
Invalid move shows legal moves option. [ O followed by m or M ]
A toggle item which will show all the possible legal
moves if the user makes an invalid move.
Use Clocks to Time Moves. [ O followed by c or C ]
A toggle item to display timer clocks for each
player. If timer clocks are shown, then each player
is allowed a certain amount of time to play all
their moves. This amount of time depends on the
current level of difficulty.
OPTIONS
-animate
Show animation. The computer's stone will glide in from the top
left corner of the board, and when you hold the left mouse button
down, your stone is dragged around.
-bestmove
As the computer is making it's move, continually show the
position of the best move found so far.
-black
Black will be played by a human.
- 4 - Formatted: October 24, 2025
REVE(6) REVE(6)
13 November 1991
-clock
Display clocks to time each move. A total amount of time is
allowed for each player depending upon the level of difficulty.
When that time has expired, then the game is over.
-d difficulty
The level of difficulty for computer moves. See the Difficulty:
cyclic item description above for more information.
-e edgefile
Specify an alternate location for the reve edge stability table
file. Normally the location of this file is compiled in when the
program is created, but reve will search every directory on your
search path looking file a file called reve.edgetable.
-g geometry
Used with the X11 variant of reve to give geometry information.
-h helpfile
Specify an alternate location for the reve online help file.
Normally the location of this file is compiled in when the
program is created, but reve will search every directory on your
search path looking file a file called reve.help.
-help
Initially show the reve help window.
-i Invert the reve window before displaying it. For use by people
who started their graphics environment in inverse mode. This
option is currently only implemented for the SunView version.
-last
Show where the last stone was placed, by outlining the square.
-load gamefile
Load a game file. The format of this game file is given below.
The board will be setup with these stones.
-log Save a log of computer move information to the file reve.res as
the game progresses. This information is probably only useful to
people trying to improve the computer algorithm.
-m Always display in monochrome, even on a color screen.
-notes
Display computer notes.
-number
Show the move number on the last stone placed.
- 5 - Formatted: October 24, 2025
REVE(6) REVE(6)
13 November 1991
-opponent user@host
Play a game against another human on another networked machine.
Reve will send an invitation to that person asking if the want to
play, and they will then invoke reve on their machine (using your
username and hostname), and the connection is established. Note
that both machines need to have the reve network daemon
configured. See the README file for information on how to do
this.
-props
Initially show the reve property window.
-quick
Play a quick game. Don't flash the stones as they are being
turned.
-r reve_proc
Full pathname of the computer strategy reve_proc program.
-? Print the version number and usage message for this release of
the reve program.
-v Print the version number and usage message for this release of
the reve program.
-white
White will be played by a human.
-Wi Start the reve program up in iconic form. The SunView and XView
version of reve will automatically uses this flag, but the X11
version will also.
-Wp x y
Start the open window position at x y
-WP x y
Start the icon position at x y
RESOURCES
On startup, the X11 and XView version of reve will use the following X
resources. These resources can be placed in all the normal X places.
You can also set a REVEDEFAULTS environment variable to point to a
file containing them, or place them in a .reverc file in your home
directory.
Resource: reve.animate
Values: True, False (False)
Description Indicates whether various animation effects are shown.
Resource: reve.bestmove
- 6 - Formatted: October 24, 2025
REVE(6) REVE(6)
13 November 1991
Values: True, False (False)
Description Indicates whether to continually show the best move so
far, as the computer is making it's move.
Resource: reve.boardSize
Values: Board size (numeric)
Description The initial size in pixels of the reve game board.
Resource: reve.difficulty
Values: Difficulty value (numeric)
Description The computer difficulty level.
Resource: reve.last
Values: True, False (False)
Description Indicates whether the position of the last stone placed
is shown by a square.
Resource: reve.log
Values: True, False (False)
Description Indicates whether to save a log of computer information
to the file reve.res/
Resource: reve.notes
Values: True, False (False)
Description Indicates whether todisplay computer notes.
Resource: reve.number
Values: True, False (False)
Description Indicates whether the last stone placed in numbered.
Resource: reve.quick
Values: True, False (False)
Description Indicates whether a quick game should be played. Stones
are not flashed as they are placed, if this resource is
set true.
Resource: reve.properties
Values: True, False (False)
Description Indicates whether the properties window is initially
displayed.
Resource: reve.showClocks
Values: True, False (False)
Description Indicates whether timer clocks for each player are
initially displayed.
Resource: reve.showHelp
Values: True, False (False)
Description Indicates whether the online help window is initially
displayed.
- 7 - Formatted: October 24, 2025
REVE(6) REVE(6)
13 November 1991
Resource: reve.showLegalMoves
Values: True, False (False)
Description Indicates whether an invalid move should show all legal
moves.
Resource: reve.iconiseForOpponentMove
Values: True, False (False)
Description Indicates whether the reve window should be closed
during the opponents move.
Resource: reve.bellAfterOpponentMove
Values: True, False (False)
Description Indicates whether there should be a beep sounded after
the opponents move.
Resource: reve.raiseAfterOpponentMove
Values: True, False (False)
Description Indicates whether the reve window should be
automatically raised to the top after the opponents
move.
Resource: reve.panelColor
Values: Color name string or hexadecimal color specification
string
Description The background color of the main and property panels.
Resource: reve.boardColor
Values: Color name string or hexadecimal color specification
string
Description The color of the reve playing board.
Resource: reve.boardBorderColor
Values: Color name string or hexadecimal color specification
string
Description The border color of the reve playing board.
Resource: reve.gridColor
Values: Color name string or hexadecimal color specification
string
Description The color of the grid lines on the reve playing board.
Resource: reve.textColor
Values: Color name string or hexadecimal color specification
string
Description The color of all text panel text items.
Resource: reve.itemColor
Values: Color name string or hexadecimal color specification
string
Description The background color of the button and cycle items.
- 8 - Formatted: October 24, 2025
REVE(6) REVE(6)
13 November 1991
Resource: reve.blackStoneColor
Values: Color name string or hexadecimal color specification
string
Description The color of the "black" stones.
Resource: reve.whiteStoneColor
Values: Color name string or hexadecimal color specification
string
Description The color of the "white" stones.
Resource: reve.blackStoneName
Values: Black stone name string
Description The name to be displayed in all "black" stone messages.
Resource: reve.whiteStoneName
Values: White stone name string.
Description The name to be displayed in all "white" stone messages.
Resource: reve.printCommand
Values: Print command string
Description The print command to use to print reve game
transcripts.
Resource: reve.boardFont
Values: Font name string
Description The name of the font used to display text on the reve
game board.
Resource: reve.boldFont
Values: Font name string
Description The name of the font used to display bold text.
Resource: reve.helpFont
Values: Font name string
Description The name of the font used to display the online help
information.
Resource: reve.normalFont
Values: Font name string
Description The name of the font used to display normal text.
REVE GAMES FILE FORMAT
Reve has the ability to load or save games. The format of the games
files are: 1, <C-4> - [ remarks field ]
2, - <E-3> [ remarks field ] There is one move per line.
Lines starting with a '#' and blank lines are ignored. The first field
of each line is the move number. This will be present before the
comma. It is used as a consistency check. Next are the black and white
fields. If the '<' character is present before the white. The three
characters between the '<' and '>' are the move, and give the column
and row. The column letter can be in either lower or upper case. It
- 9 - Formatted: October 24, 2025
REVE(6) REVE(6)
13 November 1991
is possible for one player to have two or more consequentive moves,
hence the need for the above scheme. Reve is flexible about white
space (except between the '<' and '>' characters). The remarks field
is ignored. The program will stop on the first line it thinks is in
error, and display the reason for this. As valid lines are read from a
game file, the board is updated.
FILES
/usr/local/lib/reve.edgetable
/usr/local/lib/reve.help
~/.reverc
edge stability table for all possible edge combinations.
/etc/services
/etc/inetd.conf
BUGS
See the TODO file for the list of known problems.
AUTHORS
Computer strategy: Yves Gallot (no net address at present).
Graphics interface: Rich Burridge richb@Aus.Sun.COM
- 10 - Formatted: October 24, 2025