The following article was printed in October 1977 of the magazine „BYTE".
A game also known as Reversi.

Othello, a New Ancient Game

Richard O Duda
590 Vine St
Menlo Park CA 94025

 

Othello is a 2 person board game based on the 100 year old game of Reversi. It resembles GO, but is much faster paced and easier to learn. If you are not already an Othello buff, this program will both teach you the game and provide an entertaining addition to your games library.
The game is normally played on an 8 by 8 checkerboard with pieces that are black on one side and white on the other. The game begins with four pieces making a checkerboard pattern in the center of the board as shown in figure 1. When it is your turn, you try to convert a run of your opponent’s pieces, vertical, horizontal or diagonal, to your color. You can do this if you place your piece so that each end of the run is bounded by pieces of your color. Part of the action comes from the fact that you must either make such a conversion or forfeit your turn. The game is over after 60 moves or when both players must forfeit their moves.

(a)
    A B C D E F G H
1   . . . . . . . .
2   . . . . . . . .
3   . . . . . . . .
4   . . . O X . . .
5   . . . X O . . .
6   . . . . . . . .
7   . . . . . . . .
8   . . . . . . . .
(b)
    A B C D E F G H
1   X X X X X X X O
2   X X X O X X X O
3   X X X X X X X O
4   X X X X O X X O
5   X X X O X X X O
6   X X O O O X X O
7   X X X O X X X X
8   O O O O O O O X
Figure 1: These two example boards show the Othello game board at the beginning and end of a typical game. The game is always initialized to the configuration in figure 1a. Figure 1b shows the board at the end of a typical game. This game was played to completion with 60 moves. The computer was soundly beaten having only 20 pieces to the human player’s 44.

The program has two strategies it can deploy against you, one elementary and the other simple. If losing to a computer would be too great a blow to your self-esteem, request the elementary strategy. After your confidence is fairly secure, you can risk a no holds barred encounter. Eventually you will tire of your prowess, and will want to modify the program to improve its play. Hopefully, the comments in the program will make its operation transparent and will invite modifications.
A few words about modifications that may be required to play at all. A random tie breaking strategy is used to provide variety, but it is not essential. If your BASIC does not provide random numbers, you can delete lines 1310 and 1320 with no significant change in performance.
At the outset the program asks if you want it to pause before making its move. This pause is most helpful with a display terminal, since it keeps the output from flashing by too quickly. The output of the board is done by the last subroutine in the program. It requires the ability to display at least 11 lines of 19 characters, and you will probably want to modify the program if your TVT cannot handle the 26 lines of 32 characters needed to see two boards and some accompanying output simultaneously.
Of course, if you use a relatively slow hard copy printer with this program, it will take a long time to type out all the boards. The obvious solution is to suppress this printout except on request, and use an actual board to record the positions of pieces for your own use.
Good luck, and remember: Othello was so named because it is a game of dramatic reversals.

Listing 1: A BASIC listing for Othello
[BASIC listing]
This game was one of my first implementations of BASIC into assembler. Here as Z80 source

Scanned by Werner Cirsovius
November 2013
© BYTE Publications Inc.