Copyright: Made with Shalom Help Maker www.danish-shareware.dk/soft/shelpm/


What is Arasan?

Arasan is a chess-playing program for Microsoft Windows. It runs under Windows 95 or later versions.

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


What's New?

This is Arasan 6.1, released in October, 2002.

Changes since Arasan 6.0:

 1) Some speed improvements were made in several areas.
 2) Some opening book additions and corrections were made.
 3) The GUI showed the letter coordinates backwards when
    the board was turned - this is fixed.
 4) GUI display of mate scores was incorrect - this is fixed.
 5) In the GUI, loading a new PGN file after one has already
    been loaded left the engine in an incorrect state - this
    is fixed.
 6) Game results could be shown backwards (e.g. a White win
    instead of Black) in some circumstances. This is fixed.
 7) Some king safety scoring improvements and fixes were made.
 8) Arasan 6.0 could lose on time, especially in short
    time control games with pondering enabled. Some fixes
    have been made to make this less likely to happen.

Changes in Arasan 6.0.1

Patch to fix problem with initializing tablebases (Windows only).

Changes in Arasan 6.0, released Sept. 2002

1) A Linux is now available (see arasanchess.org).
2) The king safety routine has been rewritten for greater
speed and accuracy.
3) The search routine has been recoded. Futility
pruning as described by Ernst Heinz is implemented. Razoring
is now done in the main search routine and not in a separate
one as in 5.4. Extensions have been changed.
4) More elaborate lazy evaluation is done in the scoring
module and more aggressive forward pruning in the quiescence
search.
5) Passed pawn scores have been increased, as have bonuses
for king centrality in the endgame (plus king near pawns,
if the pawns are on one side of the board).
6) Lots of fixes in the Winboard/xboard driver (arasanx.cpp),
for greater reliability and to get it to work under Linux using
xboard. One bug fix is that pondering took place
without the global move list being updated: this broke
3-time repetition detection and could result in the program
playing into a draw when it shouldn't.
7) A bad bug was fixed in the opening book code - an integer
overflow in the frequency field of a book entry. This caused
problems, but only in multi-megabyte sized books. Note: the
book format has changed for this version. Older binary book
files will not work with version 6.0.
8) A rare but annoying bug was fixed - sometimes the castling
status was set incorrectly after a rook move.
9) In version 5.4, after loading a position from a file (e.g.
from the Winboard -lpf command), the opening book could fail to
work because the castling status was incorrect. This is fixed.
10) A smaller hand-tuned book is provided with this version.
11) Book learning based on game results is implemented. Some fixes
and enhancements were also made to positional learning.
12) An "arasan.rc" file can be used to tweak many program
parameters.
13) Winboard/xboard analyze mode is supported.
14) This version has been tested with Winboard 4.2.6.
Winboard protocol version 2 is supported.
15) Arasan can use compressed Nalimov tablebases.
Eugene Nalimov and Andrew Kadatch retain copyright to the
portions of the code that implement tablebase handling and
decompression. It is included in the Arasan source
distribution with permission.
16) The Windows version has a new simplified GUI that runs
the chess engine as a separate process, like Winboard.
TrueType fonts are now used instead of bitmaps for the
pieces.


Frequently Asked Questions (FAQ)

What does "Arasan" mean?

Arasan means "king" in Tamil, a language spoken in South India.  It is derived from the Sanskrit word "raja."

How strong a chess player is Arasan?

It's hard to say, because Arasan has not competed in tournaments with humans, which is the only way to get a truly accurate rating.  Also, its strength will vary quite a bit depending on the speed and memory size of the machine on which it is run. And it isn't always consisent: I have seen it beat International Masters and then lose to much lower-rated players. However, my belief is that players who are at or below Master level will find it challenging to play.

I think Arasan made an illegal move.  I moved my pawn two squares forward and Arasan captured it with the pawn next to it.

This is called an "en passant" capture (French for "in passing").  It is a legal chess move.  For example, if you are playing White and move your pawn to c4, it can be captured by a Black pawn on b4.  The Black pawn moves to c3, exactly as if the White pawn had moved one square instead of two.This kind of capture can only be made immediately after a 2-square initial pawn advance. Arasan enforces this rule.

Arasan is too strong for me! Can I make it play weaker so I can beat it?

Arasan is designed to play a good game of chess and be a challenging opponent.  But there are some things you can do to lower its playing strength.  First, bring up the Options menu, select Search Limits and set it to Fixed Time per Move.  Select 1 second for the time limit.  This will cause Arasan to move very fast, reducing the playing strength.

Arasan is too weak for me! I want a more challenging program.

You might try increasing the amount of time Arasan is given to select a move, using the Search Limits dialog. If you select settings that are too low, you may find the playing strength reduced. If you're still beating Arasan regularly and you're using reasonable search settings, you could try Crafty or Yace, which are stronger freeware programs (use a Web search to locate these). Or maybe it's time for you to buy a commercial program such as Chessmaster or Fritz.

What other versions are available?

There is a 16-bit (Windows 3.1) version of Arasan, although it is no longer updated or maintained. There is also a Linux version that works with xboard, a separate chess board display program. See http://www.arasanchess.org for these other versions.

Does Arasan work with Winboard?

Yes. There is a Winboard-compatible chess engine (arasanx.exe) included in the Arasan installation. See the "arasanx readme" file (available on the Start Menu under "Arasan 6.0") for more details.

I want to know details of how it works.

Arasan is written in C++ and was compiled with Microsoft Visual C++, using the Microsoft Foundation Classes.  Complete source code is available at http://www.arasanchess.org.


For more information

You can get current information about Arasan and information about how to
contact the author by going to arasanchess.org


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 fixed-time 5-second search, which will cause Arasan to move quite rapidly.  See the Search Limits 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 (Control-T) or selecting "Take back move" from the Game menu.  Typing ^F (Control-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 (Control-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 (Control-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 selecting "Show Game Moves" from the Game menu.  Moves are shown in algebraic notation.

Typing ^N (Control-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" (Control-F) or clicking on the right arrow icon on the toolbar.

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.


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 filename with the .FEN extension, the board position is saved; if you select a filename with the .PGN extension, the game is saved.

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.


Edit Menu

Copy Position

Copies the current board position in FEN notation to the Clipboard.

Copy Game

Copies the current game in PGN notation to the Clipboard.


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.

Beginnng of game
If you are playing or viewing a game, this command will “take back” all the moves up to the start of the game, so that you can play it over from the beginning.

End of game
This command moves forward through the game moves until it reaches the final board position in the game, which will be displayed. You can step backwards through the game by using the take back move command.

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.

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.


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.


Preferences

The following options can be set in the Preferences dialog:

Beep after Move: If set, makes a sound every time a move is made by the program.

Beep on Error: If set, makes a sound when the user attempts to make an illegal move, or some other error occurs.

Think when Idle: If set, Arasan will "think" on its opponent's time.  This may enable it to search deeper when it is the computer's turn to move. Other chess programs often call this feature "pondering".

Computer can Resign: If set, Arasan will resign when it is about to lose or in a very bad position. If unchecked, Arasan will never resign.

Hash table size: Arasan maintains a hash table, which is a storage area that holds information on positions previously visited in the search.  If the same position is visited twice (which may happen because of a transposition of moves), then information about that position is retrieved from the hash table and it may be possible to avoid searching that position again.

Normally it is advantagous to have the hash table be as large as possible, with the restriction that you don't want it so large that Windows can't fit it into available memory.

If you check the "Auto" box, Arasan will calculate how large the hash table should be.  It will leave some free memory for Windows to use for other programs.

If you want to override this calculation, uncheck the "Auto" box and enter a number into the "Hash Table Size" edit field, which will then be enabled.  The number you enter is the size of the hash table in megabytes. So if you enter 8, Arasan will use about 8 MB of memory for its hash table.  Entering zero will disable the hash table.  Note: if you are currently playing a game, changing the hash table size takes effect only when the next game is started.


Appearance

The Appearance dialog allows you to set the following options:

Piece font A combo box allows you to set the font used to display pieces.

Size Three different board sizes are available: Small, Medium, and Large. Note: you can also resize the board by grabbing the corner of it with the mouse and stretching it. When you let go of the mouse, the board will resize to the nearest of the three available sizes.

Show coordinates: If checked, shows the coordinates (letters and numbers) on the sides of the board.


Search Limits

The Search Limits dialog controls how long Arasan will search when it is the computer's turn to make a move.

Three different kinds of search limits are available:

Fixed Time per Move: The computer will search for a constant number of seconds when it is the computer's turn to move. If the Fixed Time per Move option is selected, no limit is set on how long you have to move when it is your turn.

Incremental: Each side will have a certain number of minutes to make all moves in the game. But: in addition, each time a move is made, a constant number of seconds is added to the clock for that side. If you set the Increment field to zero, then no time bonus is awarded for making a move, and all moves must be made within the time set in the "Minutes" field.

Tournament: Each side must make a set number of moves within a certain number of minutes. For example, if you set 40 moves in 40 minutes, you can take no longer than 40 minutes to make your first 40 moves. After you have made your 40th move, the clock will reset and you will have another 40 minutes to make the next 40 moves, and so on.


The arasan.rc file

In the directory in which you installed Arasan is a file named "arasan.rc". You can edit this file to control many aspects of the program's behavior. There are comments in the file that indicate what the various optoins do.

Some options can be set both in the native Arasan user interface and in the arasan.rc file. For example, hash table size. If an option is set in both places, the option set in the user interface takes precedence. If you run Arasan under a different user interface (such as Winboard) then the options in arasan.rc are the ones that are used.


Tablebases

Arasan can optionally make use of tablebases. Tablebases enable lookup of the best move for a given position. They are only effective in endgames in which there are a small number of pieces and/or pawns.

Arasan does not come with any tablebases installed. If you want to use tablebasese, you will need to download them or use a program to generate them. You will also need to edit the arasan.rc file (located in the directory where you installed Arasan) to point to the location of the tablebases.