Dragons and Data: Teaching a Computer to Play an Interactive Story

The purpose of this research project is to learn more about the world of machine learning and ultimately develop a program that allows the computer to make its way through a simple interactive story (written by me, but in the vein of older text-adventure games like Zork), learning from its failures without my input. The questions I hope to answer are how does a computer learn, to what is the extent to which a computer learns, and how can I apply that learning ability to storytelling? The way stories are told can be innovated to make stories that are more personal, unique, and emotionally powerful, and I believe that one of the ways to do that is to explore stories built by computers and artificial intelligence. If there is a way to personally experience a story that’s different every time it’s played, storytelling would be revolutionized. For me, this project is a stepping stone towards that greater goal, seeing as I will learn all about machine learning. If I can understand how a computer plays a game, I will be one step closer to understanding how a computer might craft a game/narrative experience. I will keep a log of my research on unsupervised machine learning, then use those notes to develop a simple algorithm that reads, stores, and makes inferences about data. I will then craft a plethora of interactive stories, each with a similar structure but slightly different choices for the computer to make, and then run the stories through the algorithm to see if the computer can learn to successfully progress through the stories by learning from past experiences. This project will reveal more about the intricacies of machine learning, which is a constantly growing field in the 21st century technological landscape.


  1. awchung123 says:

    Hi Alex. This is a very interesting research topic! I wonder how the model will face issues of sarcasm and textual subjectivity? Will it take the text literally or will it be able to accurately classify the differences? Also, I wonder how you create the features needed for the model? I know from own project the most difficult aspect was finding the numerical features needed to create the model.

    Also out of curiosity, have you decided what kind of game you will create?