Page 3: Design Layout

[Go back to Page 2: How to Play Acquire | Go on to Page 4: User-Interaction Interface System]

This section discusses how the overall design of this system works; following this section are detailed descriptions of the individual component subsystems.  The below picture shows a high-level, abstract conceptual idea of how the pieces of the system fit together.

Read this diagram from right to left.  The user logs into the Controller which controls the input and reads the output of the system.  The controller owns the Referee Engine, which is the game itself.  The term engine refers to the component which contains the game simulation and knows the rules of the game, in our case, Acquire.  The Referee Engine talks to Agents, which are the players of the game.  Each Agent interacts with the Referee by receiving updates to the world state (as when another Agent makes a move) and sending it the moves it wants to make during its own turn.

The Heuristic describes to the Agent a strategy to use to try to win the game.  Some heuristics might suggest buying a lot of one type of stock.  Other heuristics might suggest developing the hotel chains that are closest to the center of the board.  Because there are many possible heuristics, all of them unique in some way, designing an abstract structure that they will all complete has proved quite complex.  See the Agent Intelligence: Heuristic Design section for the details of this component.


What appeared above was a high-level description of the system's subcomponents.  What follows are sections devoted to each subsystem and their interactions.

  1. User-Interaction Interface System: This section describes how the game is started and ended, and how the output is gathered for the statistical analysis of the game that was played.

  2. Acquire Engine Architecture: This section describes how the Acquire Engine is built and how it can make a State object which can be passed to an Agent.

  3. Communications Superstructure: This system implements how the Agents and Referee Engine interact with one another.  This section specifically focuses on how the Agents pass messages to the Engine and receive a new State back.

  4. Agent Architecture: This section describes how the Agent itself organizes the information it needs to have in order to play the game.  The Agent has to know how to send actions and what Heuristic it is to use throughout the game.

  5. Agent Intelligence: Heuristic Design: The heuristic strategy used by the Agents to determine the best Action at any given Turn. It operates in a one-step look-ahead manner, where the Agent simply takes the Action which appears to give it the best resulting world state.


[Go back to Page 2: How to Play Acquire | Go on to Page 4: User-Interaction Interface System]