Real-time decision making for adversarial environments using a plan-based heuristic

Throughout human history games have served a cultural entertainment role. With the advent of the computer, games have taken on new dimensions and become a part of our mainstream culture. One of the new dimensions the computer has brought to game playing is the potential for interactive game play through the use of non-player characters (NPCs). Traditionally these NPCs have been implemented in a variety of game types (adventure, strategy, first-person shooter, role-playing) through the use of scripts. These scripts however are limiting in their rigidity. In order to create more flexible and compelling characters with sophisticated behavior what is needed is a control technique that allows an NPC to decide a course of action given its current goals and situation. AI planning systems have been designed to address these very issues, but have yet to be used in any commercial games. This is a result of the disconnect between the goals of the AI researcher and the real world constraints faced by the computer game producer. This thesis is about an agent designed to play the board game Settlers of Catan. In designing this agent our goal was to create a control technique that allowed our agent to decide a course of action given its current goals and situation. Additionally, by using a computer game environment we were forced to address some of the real world constraints faced by computer game producers. These included limited computational resources, and having our agent able to make decisions within a reasonable time frame while maintaining compelling and sophisticated behavior. Our solution involves using a decision-making strategy that uses a rough plan to guide reactive behavior. In addressing the negotiation aspect of the game we used strategies adapted from business negotiation literature. To test our ideas we have created an on-line version of Settlers of Catan called Java Settlers. This environment allows us to collect data on the behavior of human and computer controlled players.