Copyright: Copr. 1995 by Jon Dart


Arasan

Introduction

What is Arasan?

Frequently Asked Questions (FAQ)

What's New?

Contacting the Author

Getting Started

Making moves

Playing a game

Loading and saving games

Search limits

Reference

Menu Reference


What is Arasan
What is Arasan?

Arasan is a chess-playing program for Microsoft Windows (tm), Windows 95 (tm) and Microsoft Windows NT (tm).

Arasan is copyrighted, but under terms that allow its free use, with a few restrictions (see the About box for details).


FAQ
Frequently Asked Questions (FAQ)

What does "Arasan" mean?

Arasan means "king" in Tamil, a language spoken in South India.  It is basically the same word as "raja," which is Sanskrit in origin.

How strong a chess player is Arasan?

It's hard to say, because Arasan has not competed in tournaments.  Also, its strength will vary quite a bit depending on the speed and memory size of the machine on which it is run.  However, some tests plus some anecdotal evidence suggest that it is rated somewhere between 1800 and 2000 on a reasonably fast (486 or Pentium) system.

I want to know details of how it works.

Arasan is written in C++ and was compiled with Microsoft Visual C++ versions 1.52 and  2.1, using the Microsoft Foundation Classes.  Complete source code is available, free of charge.


Whats New
What's New?

This is version 2.0 of Arasan, released in July 1995.

Changes and new features in this release include:

•	Arasan now comes in two versions: a 32-bit version that runs natively under Windows NT or Windows 95, and a 16-bit version that runs under Windows 3.1.

•	EPD (Extended Position Description) files are supported.  Arasan can read and annotate a file full of EPD records.  This allows it to interface to other programs that support EPD, such as Bookup (tm).

•	Arasan can be used to browse a file containing multiple games in Portable Game Notation (PGN) format.  Arasan can also take the name of such a file as a command-line argument, which allows it to be invoked from such programs as the File Manager and Mosaic, in order to view PGN files.

•	On-line help!


Contacting the Author

Arasan was written as a hobby, and as such, no formal support for it is offered.  But if you find bugs in this program, have constructive criticisms, or want to suggest improvements, I would like to hear from you.  Please send e-mail to jdart@netcom.com.


Making moves

Moves in Arasan are made with the mouse.  Move the mouse over the piece you want to move, and press the left button down.  Then, keeping the button pressed down, move the mouse to the square you want to move to.  Then release the mouse button.  Arasan will make the move if it is legal.

Note: to castle, select the king with the mouse and move it to the square it will occupy after castling.  Arasan will automatically move the rook, too.  If you are promoting a pawn, Arasan will prompt you for the piece to promote it to.


Playing a game

When Arasan starts up, it is waiting for you to make a move.  It assumes that you, the user, have the White pieces.  If you want to play Black, bring down the Game menu and select "Computer plays White".  If you do this, you probably also want to turn the board around, which you can do from the Game menu by selecting "Rotate board".

Arasan will respond to moves as you make them.  The default playing level for Arasan is a 2-ply search, which will cause Arasan to move quite rapidly.  See the Search options section for information on how to change the playing level.

Arasan detects draws due to insufficient material, stalemate, and the three-move repetition rule.  It does not attempt to enforce the 50-move drawing rule or similar rules adopted by USCF and FIDE.

You can take back a move by typing ^T or selecting "Take back move" from the Game menu.  Typing ^F or selecting "Forward Move" from the Game menu will "replay" a move already made; in effect, this undoes a "take back" operation.

If it is your turn to move, Arasan can give you a hint.  Type ^H or select "Give Hint" from the Game menu.  After a short pause, Arasan will display a legal move, from either the opening book or from a brief search.  If you want to make that move, select "Accept" from the dialog box; otherwise, select "Another" and Arasan will display another move.  Note: Arasan spends only a very limited amount of time calculating the hint move, so it may not necessarily be a strong move, or the best move on the board.

If it is your move and you want Arasan to calculate a move for you, using its normal search depth, type ^G or select "Go (compute move)" from the Game Menu.  If it is the computer's move, this menu selection can also be used to force Arasan to stop thinking and make its move immediately.  Typing ^G every time a search completes will cause Arasan to play a game against itself.

At any time, you can get a listing of the moves made so far by typing ^S or selecting "Show Game Moves" from the Game menu.  Moves are shown in algebraic notation.

Typing ^N or selecting "New Game" from the Game menu will put the board back into its starting position and begin a new game.


Loading and saving games

Arasan automatically keeps a log of all games played during a given execution of the program.  This is kept in a file called "arasan.log," which is stored in the same directory as the program.  In addition to recording the game moves, Arasan records information about the search process, which you may find interesting.  Every time you execute arasan.exe, it overwrites "arasan.log," so if you want to save the contents of the log, you must copy it to another file after terminating the program.

The log file is not intended for permanent storage of games.  If you want to save a game so that it can be later re-loaded into Arasan and replayed, you must do so before exiting the program.  Select the "Save Game" selection from the File menu and Arasan will prompt you for a file in which to store a completed game.  Games stored in this way are written in a format called Portable Game Notation (PGN), which is a standard for exchange of chess games used by several different chess programs.

A game stored in PGN notation may be read into Arasan by selecting File Open and choosing a file with .PGN extension.  If there is more than one game in the file, Arasan will provide you with a list to choose from.  Once Arasan completes reading in the file, you can replay the moves by typing "^F".

It is also possible to store an individual board position.  You may want to do this if you are in the middle of playing a game and want to resume it later.  To save a board position, select "Save Board" from the File menu.  You will be prompted for a file name to save the board to.  Board positions are stored in Forsythe-Edwards notation (FEN), which is a standard used by several chess programs.

To retrieve a previously stored board position, use the File Open command and select the .FEN file that you previously saved.


Search Limits

To control how long Arasan searches before making a move, bring up the Search Limits dialog from the Options menu.

There are four choices for type of search: Fixed Ply, Time Limit, Game, and Tournament.

In a Fixed Ply search, Arasan searches for a given number of half-moves (plies).  For example, in a 2-ply search, Arasan will consider all possible moves it can make, and possible replies to those moves by its opponent.  The deeper the search, the longer it will take to complete.

Arasan can search up to a limit of 20 plies.  If you select a higher number, you will get 20 (note: a 20-ply search will take a very long time to complete!).

In a Time Limit search, you can select how many moves Arasan must play, and how much time is allotted to make those moves.  For example, if you select 60 moves in 60 minutes, Arasan will take 1 minute to make each move (the current version of Arasan will always take the same amount of time for each move.).

A Game search allows a fixed amount of time for the entire game (for example, if the game limit is set to 30 minutes, each side has 30 minutes in which to make all moves).  Arasan can exceed the time limit (and thus lose on time) in this kind of game.

A Tournament time control requires each player to make a fixed number of moves in a fixed amount of time (for example, 40 moves in one hour).  You can also select what happens after the first time control.  If you don't specify a secondary time control, the first one will repeat: e.g. after 40 moves have been made, the player has another hour to make the next 40 moves.  But you can also select the "2ndary" button to bring up a dialog box that wil set a different secondary time control, which
can be of the Tournament or Game (sudden death) type.

Once you have set a search limit, it is saved in the arasan.ini file in your Windows directory, and will be set the same way the next time you run Arasan.


Menu Reference

File Menu

Browse Menu

Game Menu

Clock Menu

Options Menu


File Menu

Open

Opens a .PGN (game file) or .FEN (position file) for viewing.  If you select a PGN file and it contains more than one game, you will see a list of all the games and be able to choose the one you want to view.

Save

Saves the board position or the entire game.  If you select a file with the .FEN extension, the board position is saved; if you select a file with the .PGN extension, the game is saved.

Annotate

Arasan can read a file in EPD (Extended Position Description) format and add its evaluations to the file.  When you select Annotate, you will be prompted for a file name.  This file must exist and must have an .EPD extension.  Once a file is selected, Arasan will read it, add scoring and "best move" information for each position in the file, and then replace the original file.  The modified file can then be read by other EPD-capable programs, such as Bookup (tm).

Exit

The Exit selection on the menu terminates the program.  If you want to preserve the current game or position you must do so using the Save command before you exit.


Browse Menu

The Browse menu selections are active only after a game file has been opened that contains more than one game.

Next Game

The Next Game selection chooses the next consecutive game from the file.  Information about the players, event, and date is displayed in the status area to the right of the board.

Previous Game

The Previous Game selection choose the game in the file previous to the one currently being viewed.

Select Game

The Select Game command brings up a dialog box that shows all the games in the file, and allows you to choose one of them to view.


Game Menu

Go (Compute Move)

If the computer is calculating a move, this menu selection interrupts the search and forces the computer to move immediately.  If it is not the computer's turn to move, then this menu selection will cause the program to calculate and play a move.  By selecting Go repeatedly, you can cause the program to play a game against itself.

Take back move

Undoes the most recently made move.

Forward 1 move

After one or more moves have been taken back, you can replay those moves by selecting Forward 1 move from the menu.  Also, this is the command you would use to replay moves from a game that has been read in from a PGN file.

Give Hint

This command causes the computer to generate a list of moves, either from the opening book or from a brief search. A dialog is then presented that will allow you to choose a move from the list.  Caution: because only a short search is done, the "hint" move that the computer chooses may not be the best move on the board, and may even be a weak move or a blunder.  Use it with care.

Change side to Move

This command changes the side whose turn it is to move.

Computer Plays White

This command is a toggle.  If the check mark is on next to the menu item, then the computer is playing White - selecting the menu item will cause the computer to play the Black pieces instead.  If the check mark is not on, then the computer is playing Black and selecting the menu will cause it to play White.

Rotate board

This rotates the board display without changing the side whose turn it is to move, or the side that the computer is playing.

Show game moves

Displays a list of all the moves made in the game so far.

New game

Clears the board and sets up the pieces in preparation for a new game.  Any game that you have previously been playing is lost, unless you save it first.


Clock Menu

Pause

The Pause command stops the clock temporarily.  If the clock has been paused, there will be a check mark next to the Pause menu item.  In this case, you can select Pause again to restart the clock from its current position.

Reset

The Reset command sets the clock times for both sides back to the starting position.  This  also happens automatically when you begin a new game.


Options Menu

Search Limits

The Search Limits menu selection allows you to control how long Arasan will search before making a move.

Click here for more information on search limits

Preferences

The Preferences menu selection allows you to control some aspects of Arasan's behavior.

Click here for more information on preferences


Preferences

The Preferences selection under the Options menu allows you to set the following options:

Beep after move:	              If set, the bell sounds after Arasan
makes a move.

Beep on error:	If set, the bell sounds if the user
attempts to make an illegal move.

Computer can resign:	If set, Arasan will resign if it appears
to be hopelessly behind or material, or
about to be mated.

Use opening book:	              If set, Arasan will use its opening book
to select moves in the opening.

Think when idle:	              If set, Arasan will "think" on it's
opponent's time.  This may enable it to
search deeper when it is the computer's
turn to move.

Randomize moves:               If set, Arasan will vary its move selection
somewhat, to reduce the chances that it
will play the same game twice.

Once you have set the preferences, they are saved in the arasan.ini
file in your Windows directory, and will be set the same way the
next time you run Arasan.


Game log
The Game Log

Arasan automatically keeps a log of all games played during a given execution of the program.  This is kept in a file called "arasan.log," which is stored in the same directory as the program.  In addition to recording the game moves, Arasan records information about the search process, which you may find interesting.  Every time you execute arasan.exe, it overwrites "arasan.log," so if you want to save the contents of the log, you must copy it to another file after terminating the program.


Search options

The Options menu can be used to change some aspects of Arasan's behavior.  The first selection, Search Limits, allows you to control what kind of search Arasan performs and how long it can search to find a move.

There are four choices for type of search: Fixed Ply, Time Limit, Game, and Tournament.

In a Fixed Ply search, Arasan searches for a given number of half-moves (plies).  For example, in a 2-ply search, Arasan will consider all possible moves it can make, and possible replies to those moves by its opponent.  The deeper the search, the longer it will take to complete.

Arasan can search up to a limit of 20 plies.  If you select a higher number, you will get 20 (note: a 20-ply search will take a very long time to complete!).

In a Time Limit search, you can select how many moves Arasan must play, and how much time is allotted to make those moves.  For example, if you select 60 moves in 60 minutes, Arasan will take 1 minute to make each move (the current version of Arasan will always take the same amount of time for each move.).

A Game search allows a fixed amount of time for the entire game (for example, if the game limit is set to 30 minutes, each side has 30 minutes in which to make all moves).  Arasan can exceed the time limit (and thus lose on time) in this kind of game.

A Tournament time control requires each player to make a fixed number
of moves in a fixed amount of time (for example, 40 moves in one hour).
You can also select what happens after the first time control.  If you
don't specify a secondary time control, the first one will repeat: e.g.
after 40 moves have been made, the player has another hour to make
the next 40 moves.  But you can also select the "2ndary" button to bring
up a dialog box that wil set a different secondary time control, which
can be of the Tournament or Game (sudden death) type.

Once you have set a search limit, it is saved in the arasan.ini
file in your Windows directory, and will be set the same way the
next time you run Arasan.