Automated Dungeon Mastering


This project targets the development of an artificial intelligence (AI) agent capable of running (in whole or in part) a tabletop role-playing game (i.e. serving as a "dungeon master"). The development of such an agent is said to be a "grand challenge" of the interactive storytelling research community.

The student(s) will develop an AI agent that automates a lot of the necessary minutiae that happens during a session of the role-playing game Dungeons & Dragons (D&D). In D&D, the dungeon master (DM):

"is the game organizer and participant in charge of creating the details and challenges of a given adventure, while maintaining a realistic continuity of events. In effect, the Dungeon Master controls all aspects of the game, except for the actions of the player characters (PCs), and describes to the players what they see and hear."

Storytelling is increasingly relied upon in technology applications to entertain, educate, and engage our society in more compelling ways. This project will explore technology that may enable the automatic production of on-demand, user-specific narrative tailored to a person's specific background and information needs. The research will further advance society by serving as a technological foundation for novel systems leveraging narrative in contexts where we already see the use of manually/semi-manually created narratives in virtual environments, such as training and learning, entertainment, rehabilitation therapy, intelligence analysis, cognitive intervention for aging populations, automated news generation, and health care communication.

Student Role

The student(s) will work to synthesize state-of-the-art natural language processing technologies (for example, Amazon's Alexa software) with state-of-the-art computational narrative generation systems (for example, automated narrative planning architectures) in order to create an AI agent that can facilitate interaction with a tabletop role-playing game using a conversational interface. The student(s) will explore a range of potential features that the AI-DM can support, and will implement a subset of them depending on personal interest. These features can include (but are not limited to):

  • game state-tracking: calculating perception checks, attack rolls, movement for characters
  • automatic generation of character dialogue
  • performing dynamic difficulty adjustment
  • procedural world and narrative generation

The student(s) will be responsible for surveying available technologies, coming up with a project plan that details the software deliverables they wish to commit to (which must include some subset of the above features), and then proceeding with an implementation that will be iteratively refined throughout the research experience. In addition, the student(s) will read selected academic articles that cover topics around artificial intelligence, interactive digital entertainment, and intelligent narrative technologies, and will be asked to synthesize insights from them that are relevant to their ongoing software development efforts. Day to day, the student(s) will work on reading, writing, software development, and structured discussions with graduate research assistants and the lab director.


This experience will help prepare students for a career to transcends disciplinary bounds (particularly, into narratology, design, cognitive psychology), ultimately providing them with a rehearsal of how to undertake nuanced, interdisciplinary challenges in the wild. Further, the experience will provide students with an understanding of cutting edge technologies in natural language processing and human-computer interaction, areas that see widespread recognition in commercial technologies (Amazon's Alexa, Apple's Siri) and academic research (the National Science Foundation's Human-Centered Computing Program).

Upon completion of this research experience, a student will be able to:

  1. Understand how narratives can be generated computationally, and how they can be algorithmically managed in the context of a user's interaction.
  2. Identify the fundamental issues and debates surrounding the tradeoffs between letting players do what they want inside games versus preserving a computationally generated story.
  3. Discuss perspectives from narratology, cognitive psychology, linguistics, and game design relevant to interactive story creation, interactive story comprehension, and gameplay.
  4. Use existing industry and academic software libraries to support the development of novel technology.
  5. Synthesize existing academic writing into written reports and oral presentations that cover the corresponding theoretical frameworks, hypotheses, methods of evaluation, and conclusions relevant to an ongoing research project.
  6. Design experiments centered on evaluating human-centered technologies.

Rogelio Cardona-Rivera
Assistant Professor

School of Computing
College of Engineering

In general, as the student(s) progress(es) over the experience, they will transition from neophyte to expert. Accordingly, I will strive to grant more independence until they are ready to effectively operate independently. For the first half of the experience, we will pursue highly structured interactions: weekly meetings, project planning, task assignments, and writing. For the second half, we will pursue more flexible interactions: weekly meetings (or meetings as-needed), student(s) devising their own plans (and providing status updates), and writing. I view the experience as an opportunity to learn, both about cutting edge technologies as well as how to conduct research in an environment that serves as a potential practice for carrying out graduate student work.

Specific student-led mentoring activities include:

  1. Discussing research progress to the lab and getting feedback on their progress.
  2. Presenting research papers that they have been assigned to read and leading group discussions around the paper.
  3. Writing up their research experience in a format suitable for publication in a conference or journal of the research area and getting feedback on the writing.

Specific faculty-led or graduate student-led mentoring activities include:

  1. Discussions about how to conduct a systematic literature review and how to effectively read papers
  2. Discussions about how to write and publish papers, and how the peer-review process works.
  3. A talk about the graduate school application process.
  4. A talk about funding opportunities to pursue graduate school.
  5. A talk about the importance of diversity and inclusion in Computer Science.
  6. A talk about the ethics of conducting experiments.