Lara's Storytelling Resources

Skip table of contents

Here is a non-exhaustive list of various resources you might want if you're interested in automated story generation, interactive fiction (IF), or related research areas (such as tabletop roleplaying games—TRPGs). This list was first created when I co-taught Interactive Fiction and Text Generation at UPenn with Chris Callison-Burch.

I also made a list of related researchers, and I try to keep up a list of upcoming conference and workshop deadlines. If you want me to add or update anything on any of these lists, please let me know! You can unscramble my email address here:

Note: This is not a list of papers in the field, but rather a list of corpora & code and their corresponding papers if they have it.
If you're looking for paper lists, you might be interested in @arnicas's list of text generation papers found on arXiv, Stephen Ware's Narrative Intelligence Lab reading list, or the Tsinghua Natural Language Processing Group's text generation list.

Story Datasets

Paper Code (Baselines)
Hugging Face Link
Deep Dungeons and Dragons (DDD) Corpus – Deep Dungeons and Dragons: Learning Character-Action Interactions from Role-Playing Game Transcripts
ROCStories – 5-sentence crowdsourced stories for Story Cloze Test A Corpus and Cloze Evaluation for Deeper Understanding of Commonsense Stories and LSDSem 2017 Shared Task: The Story Cloze Test
CaTeRS – Causal and temporal relations using ROC Stories CaTeRS: Causal and Temporal Relation Scheme for Semantic Annotation of Event Structures
Scifi TV Plots – science fiction episode summaries from Fandom Story Realization: Expanding Plot Events into Sentences
WritingPrompts – r/WritingPrompts Hierarchical Neural Story Generation
Lit Bank – annotated Project Gutenberg An Annotated Dataset of Literary Entities and Literary Event Detection
STORIUM – (gamified storytelling) STORIUM: A Dataset and Evaluation Platform for Machine-in-the-Loop Story Generation
ESTER – tagged events from news articles from the TempEval3(TE3) workshop ESTER: A Machine Reading Comprehension Dataset for Event Semantic Relation Reasoning
CMU Movie Summary Corpus – Wikipedia movie summaries Learning Latent Personas of Film Characters
The Children’s Book Test – kids' books from Project Gutenberg The Goldilocks Principle: Reading Children’s Books with Explicit Memory Representations
Cornell Movie Dialog – movie scripts and metadata Chameleons in Imagined Conversations: A New Approach to Understanding Coordination of Linguistic Style in Dialogs
ScriptWriter – from GraphMovie, which no longer exists (descriptions of movie plots) ScriptWriter: Narrative-Guided Script Generation
NarrativeQA – movie scripts from various sources and Project Gutenberg books The NarrativeQA Reading Comprehension Challenge
MCTest – 150-300 word stories written by crowdworkers MCTest: A Challenge Dataset for the Open-Domain Machine Comprehension of Text
InSentive – authored stories from BookCorpus Inspiration through Observation: Demonstrating the Influence of Automatically Generated Text on Creative Writing
CoAuthor – collaborative writing dataset CoAuthor: Designing a Human-AI Collaborative Writing Dataset for Exploring Language Model Capabilities
TimeTravel – stories and counterfactual continuations Counterfactual Story Reasoning and Generation
TellMeWhy – Q&A for stories TellMeWhy: A Dataset for Answering Why-Questions in Narratives
PerSenT – author sentiment prediction (news articles) Author's Sentiment Prediction
EmotionLines – dialog from the Friends TV show & EmotionPush private chat logs EmotionLines: An Emotion Corpus of Multi-Party Conversations
TVRecap – TV shows from Fandom and TVMegaSite (soap operas) TVRecap: A Dataset for Generating Stories with Character Descriptions
FanFiction Archive – Beyond Canonical Texts: A Computational Analysis of Fanfiction
HPAC Harry Potter and the Action Prediction Challenge from Natural Language
SummScreen SummScreen: A Dataset for Abstractive Screenplay Summarization
SQuAD 2.0 (Stanford Question Answering Dataset) – reading comprehension SQuAD: 100,000+ Questions for Machine Comprehension of Text and Know What You Don't Know: Unanswerable Questions for SQuAD
Naive Psychology of Characters in Simple Commonsense Stories – "cause and effect of mental state changes of characters in a story" Modeling Naive Psychology of Characters in Simple Commonsense Stories
Character Relations
TVShowGuess TVShowGuess: Character Comprehension in Stories as Speaker Guessing

Mixed Visual & Textual Datasets

Paper Code
Hugging Face Link
BookCorpus Aligning Books and Movies: Towards Story-Like Visual Explanations by Watching Movies and Reading Books and Skip-thought vectors
COIN COIN: A Large-scale Dataset for Comprehensive Instructional Video Analysis
WikiHow WikiHow: A Large Scale Text Summarization Dataset
VIST – Visual storytelling data + task Visual Storytelling
MovieGraphs – knowledge graphs, images, and descriptions MovieGraphs: Towards Understanding Human-Centric Situations from Videos
KG-Story Knowledge-Enriched Visual Storytelling
Character-Preserving Coherent Story Visualization (CP-CSV) – character-based story visualization Character-Preserving Coherent Story Visualization
StoryGAN – story visualization StoryGAN: A Sequential Conditional GAN for Story Visualization
Pororo-SV – StoryGAN CLEVR dataset StoryGAN: A Sequential Conditional GAN for Story Visualization
DramaQA – Video Story Understanding on Korean TV Show "Another Miss Oh" DramaQA: Character-Centered Video Story Understanding with Hierarchical QA
MovieQA MovieQA: Understanding Stories in Movies through Question-answering

Story Evaluation & Cloze Tests

Data Scrapers & Processors

Novel Chapter Summaries full book chapters and their summaries
Archive of Our Own Scraper scraper for Archive of Our Own fanfiction
Fanfiction Scraper scraper for
BookNLP process your own book data
Newspaper3k news scraper
Homemade BookCorpus recreation of BookCorpus

Interactive Fiction Environments

Interactive Fiction Agents

Story Planning Systems

Glaive - a fast planner for multi-agent stories Glaive: a state-space narrative planner supporting intentionality and conflict
Sabre - next-gen Glaive Sabre: A Narrative Planner Supporting Intention and Deep Theory of Mind
StoryAssembler - "a narrative system for procedurally generating choice-based interactive narratives" StoryAssembler: An Engine for Generating Dynamic Choice-Driven Narratives
Belief and Intentional PDDL Using Domain Compilation to Add Belief to Narrative Planners
Winnow - "declarative domain-specific query language for story sifting" Winnow: A Domain-Specific Language for Incremental Story Sifting
Felt - "simple story sifting and simulation engine for emergent narrative play experiences" Felt: A Simple Story Sifter
Recurve (C++) - decompositional planner
STRIPS Planner (Python)
Partial Order Causal-Link (POCL) Planner (Python)

Knowledge Bases & Commonsense Reasoning

Knowledge Base
Hugging Face Link
VerbNet VerbNet: A Broad-Coverage, Comprehensive Verb Lexicon
FrameNet FrameNet II: Extended Theory and Practice
WordNet WordNet: An Electronic Lexical Database
ConceptNet ConceptNet 5.5: An Open Multilingual Graph of General Knowledge
ATOMIC (ATlas Of MachIne Commonsense) ATOMIC: An Atlas of Machine Commonsense for If-Then Reasoning
COMET (COMmonsEnse Transformers) - uses ATOMIC and ConceptNet COMET: Commonsense Transformers for Automatic Knowledge Graph Construction
GLUCOSE (GeneraLized and COntextualized Story Explanations) GLUCOSE: GeneraLized and COntextualized Story Explanations
Power and Agency in modern films Connotation Frames of Power and Agency in Modern Films
Eraser - Movie Rationales ERASER: A Benchmark to Evaluate Rationalized NLP Models
The NOC List Round Up The Usual Suspects: Knowledge-Based Metaphor Generation
NULEX - combines WordNet, VerbNet, and Wiktionary NULEX: An Open-License Broad Coverage Lexicon
CausalBank Guided Generation of Cause and Effect
SCRUPLES - ethical judgements SCRUPLES: A Corpus of Community Ethical Judgments on 32,000 Real-life Anecdotes
PeKo - event preconditions PeKo: A Large Scale Precondition Knowledge Dataset
SWAG (Situations With Adversarial Generations) - NLI from video captions SWAG: A Large-Scale Adversarial Dataset for Grounded Commonsense Inference
HellaSwag (Harder Endings, Longer contexts, and Low-shot Activities for Situations With Adversarial Generations) - commonsense inference (harder SWAG) HellaSwag: Can a Machine Really Finish Your Sentence?
CLUTRR (Compositional Language Understanding with Text-based Relational Reasoning) CLUTRR: A Diagnostic Benchmark for Inductive Reasoning from Text

Story Generation Code

Libraries & Toolkits

Hugging Face Hugging Face provides state-of-the-art general-purpose neural language model architectures like BERT, GPT-2, and others.
Hugging Face Transformer Library
AllenNLP Deep learning for NLP with state of the art models
Spacy "Industrial-Strength Natural Language Processing" in Python
NLTK - Natural Language Toolkit Basic NLP tools for Python & interfacing with some external models
Stanford NLP various NLP models in Java
Stanza Stanford NLP for Python
ConvKit Cornell Conversation Analysis Toolkit
Open IE information extraction on sentences


Programming Languages for Writing Interactive Fiction

Notable IF Games


RPG/IF Inspiration

Polygon's Favorite Actual Play Podcasts Personal recommendation: The Adventure Zone
Actual Play Podcasts
Roll 20 Play tabletop games with friends virtually
AI Dungeon
Interactive Fiction on Find cool indie IF games
Interactive Fiction Database IMDb for IF
Interactive Fiction Wiki

Related Courses

Taught By
Interactive Narrative Nick Montfort 2019 (Fall)
Interactive Fiction and Text Generation Lara J. Martin & Chris Callison-Burch 2022 (Spring)
AI Storytelling in Virtual Worlds Mark Riedl 2022 (Spring)

Generators for TRPGs and IF

Print graph paper just blank graph paper!
donjon random generators for tabletop games
RPG Maps in Wolfram Language code to tile hex pieces together to make a map
RPG Map Editor 2 downloadable app for making maps
RPGgen a collection of generators

Various Tools

Versu "an engine for telling interactive stories about people"
WOOL "dialogue platform for creating virtual agent conversations"