Date of Award


Degree Name

MS in Computer Science


Computer Science


Foaad Khosmood


Companion characters are an important aspect of video games and appear in many different genres. Their role is typically to support the player as they progress through the game by helping to complete tasks or assisting in combat. However, oftentimes, these companion characters are limited in their ability to dynamically react to new situations and fail to properly assist the player.

In this paper, we present a solution by improving upon the MimicA framework, which allows companion characters to emulate the human player. The framework takes a learn by observation approach by storing the game state when the player performs an action. This is then used by machine learning classifiers to determine what action to take and where it should be done. Because the framework makes little assumptions about the rules of the game and focuses on a single session experience, it is flexible enough to apply to a variety of different games and requires no prior training data. We have further improved the original MimicA framework by adding feature selection, n-gram analysis, an improved feedback system, random forest classifier, and a new system for picking a location for actions. In addition, we refactored and updated the original framework to make it easier to use for game developers and the game, Lord of Towers, which was used as a proof of concept. Further, we create another game, Lord of Caves, to demonstrate the flexibility of the new version of the framework. We validated our work using automated simulations and a user study. In our automated simulations, we found random forest was a consistently strong performer. Our user study found that the our implementation of n-grams was successful and 19 of 26 believed our framework would be useful to a game developer.