Free Software by Sam Clippinger -- JSothello

Author: Sam Clippinger <samc (at) lookandfeel (dot) com>
Copyright: ©2002 lookandfeel new media
License: GNU GPL
Current version: Archived versions: All versions Documentation: Change Log
Dependencies: A working Javascript and CSS browser. Tested successfully in Mozilla 1.1 (Win32), IE 5.01 (Win32) and IE 4.5 (Mac). A fast computer is very important.

Source language: HTML 4.0, Javascript 1.2
Target platform: Web browsers with working Javascript and CSS support.
Description: JSothello is a Javascript/DHTML implementation of the board game "Othello", also called "Reversi".

Othello is very easy to play. The board is a square grid of any size. The two players' pieces are black or white. Each player must place a piece on the board adjacent to one of his opponent's pieces so that another of his own pieces is on the other side of his opponent's piece(s). In other words, the opponent's piece(s) should be "sandwiched" between the player's pieces. When that occurs, all such "sandwiched" pieces are changed to the player's color.

The game ends when one player cannot make a legal move. The winner is the player with the most pieces on the board.

This version allows the user to play the computer, another human or watch the computer play itself. The computer players have four levels of "intelligence", each with different styles of play:

  • "Only took a minute to learn": The computer chooses random (legal) moves.
  • "Laughable": The computer picks (one of) the move(s) that will flip the most pieces.
  • "Respectable": Plays like "Laughable" but tries to grab the edges and the corners whenever possible while keeping its opponent from being able to grab the edges and corners.
  • "Took a lifetime to master": Plays like "Respectable" but adjusts its edge/corner bias as the board fills up, favors moves that flip pieces in more than one direction, tries to prevent moves that will allow the opponent to immediately reverse its gain and places pieces closer to the corners when possible.

Click here to run the latest version of JSothello.

This project is mirrored from