Next Previous Contents

3. Objectives

3.1 Main Objectives

The application should:

  1. Allow an Othello game to be played by the predefined rules and deal with all exceptions.
  2. Allow the inclusion of extra features such as load/save game, logging the board state, different difficulty levels, 2 player mode, etc.
  3. Make use of alpha-beta pruning and make it easily changeable as well as a flexible evaluation function.
  4. Enable the project to control its behaviour and therefore play better, worse or even more quickly (possibly by fine-tuning and alternating the functions used to compute one move).

3.2 Secondary Objectives

Convert the application into a package that:

  1. Provides mode for player vs. program mode with different levels of strength corresponding to different approaches and algorithms.
  2. Provides multiplayer mode.
  3. Allows watching the program as it plays itself in different levels of difficulty.
  4. Generates logs of a given game for basic analysis and information such as placements, moves, and board state.
  5. Generates statistical reports automatically for many consecutive games.
  6. Allows more common features like board editing and 'undo'.

3.3 Mandatory Milestones

The following suggests a listing of the features that must be generated by the completion of the project:

  1. Othello game can be played with the control of two user controlled players.
  2. Alpha-beta pruning implemeted and the program is able to carry out a move.

In order to convert Othello Master into a unique product, we may as well wish to include the following:

  1. Versatile computation algorithms are devised and the program can play against itself.
  2. Reports are generated to produce an educational value from the application.

Next Previous Contents