******************************************************************************* ******************************************************************************* 8 0 8 8 O T H E L L O by Michael W. Bayley ******************************************************************************* ******************************************************************************* PORTFOLIO ========= To run this othello game on the Portfolio, you must set the External Display mode on Static. You can move around the 80x25 screen with ALT+FN and the arrows, or with ALT and the arrows. DISTRIBUTION DISK ================= This program is distributed under the freeware system. You do not have to pay for this program. Yoy may pass this program on to others provided that you pass on all three files and that you do not modify the files in any way. If you like this game and would like to see others please send $10.00 to the author (see below). This will also entitle you to source code for the game (see below). The distribution disk contains three files. OTHELLO.DOC (this file) is the documentation for the othello games. OTHEL-BW.COM is a black and white version of the game. OTHELLO.COM is the full color version of the game. ================ RULES OF OTHELLO ================ For those who are unfamiliar with the rules of Othello, I have listed them briefly below. OBJECT: ------- The object of the game of Othello is to end up with the most pieces on the board at the end of the game. The player with the most pieces is then the winner of the game. SET UP: ------- The game is automatically set up for you by the computer. The computer takes the white pieces and the human (you) takes the black side. MOVEMENT: --------- Black always moves first. Each player then takes turns placing pieces on the board until the game is finished. To place a piece on the board the player must place his piece so that he traps the opponents pieces between one or more of his pieces already on the board and the piece he is playing. All of the opponents intervening pieces are then replaced by those of the moving player. Empty squares may not exist between the trapped pieces or those pieces which are trapping them. Pieces may be trapped in more than one direction at a time. If a player does not have legal move then he forfeits his turn to the other player. COMMANDS: The game will respond to the following commands: xn Where x is a letter between A and H, and n is a number between 1 and 8. This command is used to tell the computer where to place your piece. P This command is used to 'pass' or forfeit your turn when you do not have a legal move. This command may also be used at the start of the game to allow the computer to go first. U This command is the 'unmove' command. It allows the player to take back the last move sequence (ie. go back to his last move). Although this may seem unethical it is included for those who have a low frustration level in response to their stupidity. S This command is the 'swap' command. It allows th player to exchange pieces with the computer. Again this may seem unethical, but it may be used to see what move the computer would make in your place. This is handy for people who are just learning to play. Q This is the 'quit' command. It allows the player to terminate the current game. All command may be typed in in either upper or lower case and must be terminated by a carriage return. Commands may be edited using the backspace key. PLAY LEVEL: ----------- At the beginning of each game the player must enter the play level. The valid range is from 1 to 5. The play level determines how many full moves the computer will look ahaead when making its decision as to where to move. GAME STRATEGY ============= 8088 Othello is written in 8088/8086 assembler using Microsofts macro assembler. Computer moves are based on a dynamic weight table. This simply means that each square on the board is given a weight (or value) to determine how good or bad it is to own that square. After each move the board position is evaluated and weights are modified to take into account the new situation. The computer decends each play level by making recursive calls to a move evaluation routine. Prunning is performed at each level. This simply means that obviously bad moves are discarded and that the computer does not take these to a deeper level. This is done to provide speed in the deeper levels. SOURCE CODE =========== If you have decided to make the $10.00 donation and would like source code for this program please send a FORMATTED 5 1/4 inch diskette along with your check and I will be happy to send it along to you. The source code is not distributed as freeware and I would appreciate it if you would not pass it on to others. Please make check or money order payable to: Michael W. Bayley 1388 Pine Avenue San Jose, Ca. 95125