Constraint-Based Control of Computer Games
Julia Holgado ’17 and Tom Ellman (Computer Science)
Interactive computer games typically include three parts: an input device (e.g., mouse and/or keyboard), an output device (screen and/or speakers) and a control program. The control program processes user inputs and generates audio visual output. In our summer project, we extended our previous work on a system that allows a game designer to express his/her intentions in a formal specification language. This system automatically generates a control program that realizes those intentions. The designer provides a regular expression describing sequences of events the game is to follow. Our system uses adversary search to construct a control program that forces the game to follow a sequence of events matching the regular expression. We applied our system to the task of making role-playing games using commercial tools for managing dialogue and modeling characters. We made several short games to simulate frameworks for stories towards the purpose of abstracting a pattern of narrative. This culminated in encoding a simplified version of the Hero’s Journey as outlined by Joseph Campbell. Further research will include looking into more powerful languages for encoding narratives and scaling up projects.