home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / games / table / flipper / flipper.doc next >
Text File  |  1988-09-01  |  4KB  |  70 lines

  1.  
  2.                                     Flipper
  3.                                    =========
  4.  
  5.              Flipper is an Othello game that I wrote to play around
  6.          with the minimax algorithm for searching game trees.
  7.  
  8.              To play a game against the computer, select New Game from
  9.          the File menu.  The human player goes first, playing black.
  10.          To make the computer go first and play black instead, select
  11.          Swap Sides from the Options menu.  To make a move, click on
  12.          the square where you want your piece.  If no moves are
  13.          possible, click in the Pass box to the right of the board.
  14.  
  15.              The game can be changed between '1 Player' ( against the
  16.          computer), '2 Player', and 'Set Up Board' at any time.  The
  17.          computer can be forced to play against itself by selecting
  18.          Swap Sides after every move.
  19.              '1 Player' is for playing against the computer. Selecting
  20.          Swap Sides will change colours and scores with the computer
  21.          at any time.  The parameters for selecting computer moves can
  22.          be set by selecting 'Set Search' or 'Set Evaluation'
  23.          (described below).  Pressing the ESC key when the computer is
  24.          searching for a move will force it to take the best one it
  25.          has found so far.
  26.              '2 Player' is for playing a game between 2 human players.
  27.          Swap Sides is disabled in this mode.
  28.              'Set Up Board' is for placing and changing pieces on the
  29.          board.  Clicking on a square will place a piece of the
  30.          current player's colour there.  To place a piece of the other
  31.          colour, select Swap Sides.  Pressing the ESC key will clear
  32.          the board.
  33.  
  34.              The computer finds moves by using the minimax algorithm.
  35.          Roughly, the algorithm generates a list of possible moves,
  36.          then considers possible countermoves to each of these, then
  37.          possible moves after each countermove, and so on.  This
  38.          builds up a tree structure with each node being a board
  39.          position and moves being branches to the next lower level.
  40.          To decide which move to take, the board positions at the
  41.          lowest level of the tree are evaluated by a board position
  42.          evaluation function that determines how likely a given
  43.          position is to lead to a win.  These evaluations are passed
  44.          up to the previous level where they are used to evaluate the
  45.          move at that level.  At levels where the computer is moving,
  46.          the maximum is used.  When the opponent is moving, the
  47.          minimum is used.  When the top of the tree is reached, the
  48.          computer knows which move to make.
  49.              'Set Search' brings up a dialog box that lets you enter
  50.          the search depth and width.  The search depth is the number
  51.          of levels of the game tree to generate (number of moves to
  52.          look ahead). The search width limits the branching factor of
  53.          the tree. It sets the maximum number of new moves that are
  54.          generated at each node.  Larger depths and widths make the
  55.          computer play a better game, but it takes more time for each
  56.          move.
  57.              'Set Evaluation' brings up a dialog box that lets you
  58.          change the parameters for the board evaluation function.  The
  59.          parameters that can be changed are: how much to add for each
  60.          computer's piece, how much to add for each computer's piece
  61.          on an edge, how much to add for each computer's piece in a
  62.          corner, how much to subtract for each opponent's piece, how
  63.          much to subtract for each computer's piece one away from an
  64.          edge, and how much to subtract for each computer's piece one
  65.          away from a corner.  This can be used to fine tune the way
  66.          the computer plays.
  67.  
  68.  
  69.          Greg Lobe
  70.