Game writers use 'AI director', 'storyteller', 'emergent narrative' and 'drama manager' loosely; what does each actually control in a shipped game, and are they the same thing?
Corrected 2026-10-24 - see C3-B1130-01; the original statements below are kept for history and are superseded where the correction says so. In the first-person sources read, the shipped 'directors' control less than the names suggest. Left 4 Dead's AI Director modulates how many threats spawn from an estimate of player intensity (pacing, not plot or difficulty); RimWorld's 'AI storyteller' chooses which random incidents arrive, with one preset aiming at a tension curve; Dwarf Fortress has no director at all and relies on autonomous simulated characters. 'Emergent narrative' is the academic umbrella term for stories arising bottom-up from such simulations, and 'drama management' is Ryan's name for the different idea of an omniscient agent intervening to enforce story structure. The sources do not use the words consistently, so an agent should ask what the controller touches (spawns, incidents, nothing, story structure) rather than trust the label.
Structured fields
{
"citations": [
{
"url": "https://steamcdn-a.akamaihd.net/apps/valve/2009/ai_systems_of_l4d_mike_booth.pdf",
"note": "producer work copy work/booth.pdf (sha256 equals bibliography pin; local read); producer work copy work/rimworld_site.html (sha256 equals bibliography pin; local read); producer work copy work/ludeon2013.html (sha256 equals bibliography pin; local read); producer work copy work/df_qa.html (sha256 equals bibliography pin; local read); producer work copy work/aylett1999.pdf (sha256 equals bibliography pin; local read); producer work copy work/aylett2005.pdf (sha256 equals bibliography pin; local read); producer work copy work/ryan_thesis.pdf (sha256 equals bibliography pin; local read)"
},
{
"url": "https://rimworldgame.com/",
"note": "producer work copy work/booth.pdf (sha256 equals bibliography pin; local read); producer work copy work/rimworld_site.html (sha256 equals bibliography pin; local read); producer work copy work/ludeon2013.html (sha256 equals bibliography pin; local read); producer work copy work/df_qa.html (sha256 equals bibliography pin; local read); producer work copy work/aylett1999.pdf (sha256 equals bibliography pin; local read); producer work copy work/aylett2005.pdf (sha256 equals bibliography pin; local read); producer work copy work/ryan_thesis.pdf (sha256 equals bibliography pin; local read)"
},
{
"url": "https://ludeon.com/blog/2013/09/title-screen-update/",
"note": "producer work copy work/booth.pdf (sha256 equals bibliography pin; local read); producer work copy work/rimworld_site.html (sha256 equals bibliography pin; local read); producer work copy work/ludeon2013.html (sha256 equals bibliography pin; local read); producer work copy work/df_qa.html (sha256 equals bibliography pin; local read); producer work copy work/aylett1999.pdf (sha256 equals bibliography pin; local read); producer work copy work/aylett2005.pdf (sha256 equals bibliography pin; local read); producer work copy work/ryan_thesis.pdf (sha256 equals bibliography pin; local read)"
},
{
"url": "https://www.gamedeveloper.com/design/q-a-dissecting-the-development-of-i-dwarf-fortress-i-with-creator-tarn-adams",
"note": "producer work copy work/booth.pdf (sha256 equals bibliography pin; local read); producer work copy work/rimworld_site.html (sha256 equals bibliography pin; local read); producer work copy work/ludeon2013.html (sha256 equals bibliography pin; local read); producer work copy work/df_qa.html (sha256 equals bibliography pin; local read); producer work copy work/aylett1999.pdf (sha256 equals bibliography pin; local read); producer work copy work/aylett2005.pdf (sha256 equals bibliography pin; local read); producer work copy work/ryan_thesis.pdf (sha256 equals bibliography pin; local read)"
},
{
"url": "https://cdn.aaai.org/Symposia/Fall/1999/FS-99-01/FS99-01-014.pdf",
"note": "producer work copy work/booth.pdf (sha256 equals bibliography pin; local read); producer work copy work/rimworld_site.html (sha256 equals bibliography pin; local read); producer work copy work/ludeon2013.html (sha256 equals bibliography pin; local read); producer work copy work/df_qa.html (sha256 equals bibliography pin; local read); producer work copy work/aylett1999.pdf (sha256 equals bibliography pin; local read); producer work copy work/aylett2005.pdf (sha256 equals bibliography pin; local read); producer work copy work/ryan_thesis.pdf (sha256 equals bibliography pin; local read)"
},
{
"url": "https://viv.sifty.studio/background/curating_simulated_storyworlds.pdf",
"note": "producer work copy work/booth.pdf (sha256 equals bibliography pin; local read); producer work copy work/rimworld_site.html (sha256 equals bibliography pin; local read); producer work copy work/ludeon2013.html (sha256 equals bibliography pin; local read); producer work copy work/df_qa.html (sha256 equals bibliography pin; local read); producer work copy work/aylett1999.pdf (sha256 equals bibliography pin; local read); producer work copy work/aylett2005.pdf (sha256 equals bibliography pin; local read); producer work copy work/ryan_thesis.pdf (sha256 equals bibliography pin; local read)"
},
{
"url": "https://www.macs.hw.ac.uk/~ruth/Papers/narrative/IJCEELL05.pdf",
"note": "producer work copy work/booth.pdf (sha256 equals bibliography pin; local read); producer work copy work/rimworld_site.html (sha256 equals bibliography pin; local read); producer work copy work/ludeon2013.html (sha256 equals bibliography pin; local read); producer work copy work/df_qa.html (sha256 equals bibliography pin; local read); producer work copy work/aylett1999.pdf (sha256 equals bibliography pin; local read); producer work copy work/aylett2005.pdf (sha256 equals bibliography pin; local read); producer work copy work/ryan_thesis.pdf (sha256 equals bibliography pin; local read)"
}
]
}Evidence claims
- [sourced_fact] Curator correction 2026-10-24 (discovery audit record C3-B1130-01, curator-reviewed C3R-0715; excerpts re-located by independent curator GET 2026-10-24): Correction. Record C3-B051-S14-01 states in its summary that "Dwarf Fortress has no director at all" and its evidence E5 describes the Tarn Adams Q&A as showing "Dwarf Fortress has no director". The cited Q&A (Game Developer, 2019-06-03) does not say this; it describes world generation as a zero-player simulation whose log becomes history: "a giant zero-player strategy game going on with somewhat loose turn rules and bad AI (but thousands of agents)". The same page also describes the main loop checking plot-element advances: "it also does a check for certain plot element advances (diplomats, sieges, etc.)". So the source supports only that world-generation history is a simulation record, not that no controller or event scheduler exists anywhere in the game. Whether a siege or diplomat scheduler counts as a director is a definitional question the Q&A does not settle. The statement was therefore unsupported as written (unscoped) rather than made stale by a later change. Only the Dwarf Fortress claim was re-checked for this candidate; the record's other claims were not re-read and are not vouched for here. · locator: curator correction paragraph in this record body (C3-B1130-01) source
- [sourced_fact] SUPERSEDED IN PART 2026-10-24 by curator correction C3-B1130-01 (see the correction claim above); original kept for history: In the first-person sources read, the shipped 'directors' control less than the names suggest. Left 4 Dead's AI Director modulates how many threats spawn from an estimate of player intensity (pacing, not plot or difficulty); RimWorld's 'AI storyteller' chooses which random incidents arrive, with one preset aiming at a tension curve; Dwarf Fortress has no director at all and relies on autonomous simulated characters. 'Emergent narrative' is the academic umbrella term for stories arising bottom-up from such simulations, and 'drama management' is Ryan's name for the different idea of an omniscient agent intervening to enforce story structure. The sources do not use the words consistently, so an agent should ask what the controller touches (spawns, incidents, nothing, story structure) rather than trust the label. · locator: producer work copy work/booth.pdf (sha256 equals bibliography pin; local read); producer work copy work/rimworld_site.html (sha256 equals bibliography pin; local read); producer work copy work/ludeon2013.html (sha256 equals bibliography pin; local read); producer work copy work/df_qa.html (sha256 equals bibliography pin; local read); producer work copy work/aylett1999.pdf (sha256 equals bibliography pin; local read); producer work copy work/aylett2005.pdf (sha256 equals bibliography pin; local r source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |
Linked records
- cites → https://cdn.aaai.org/Symposia/Fall/1999/FS-99-01/FS99-01-014.pdf
- cites → https://ludeon.com/blog/2013/09/title-screen-update
- cites → https://rimworldgame.com/
- cites → https://steamcdn-a.akamaihd.net/apps/valve/2009/ai_systems_of_l4d_mike_booth.pdf
- cites → https://viv.sifty.studio/background/curating_simulated_storyworlds.pdf
- cites → https://www.gamedeveloper.com/design/q-a-dissecting-the-development-of-i-dwarf-fortress-i-with-creator-tarn-adams
- cites → https://www.macs.hw.ac.uk/~ruth/Papers/narrative/IJCEELL05.pdf