=Paper=
{{Paper
|id=Vol-2862/paper5
|storemode=property
|title=Warm Rocks for Cold Lizards: Generating Meaningful Quests in Caves of Qud (short paper)
|pdfUrl=https://ceur-ws.org/Vol-2862/paper5.pdf
|volume=Vol-2862
|authors=Jason Grinblat,C. Brian Bucklew
|dblpUrl=https://dblp.org/rec/conf/aiide/GrinblatB20
}}
==Warm Rocks for Cold Lizards: Generating Meaningful Quests in Caves of Qud (short paper)==
Warm Rocks for Cold Lizards: Generating Meaningful Quests in Caves of Qud Jason Grinblat, C. Brian Bucklew Freehold Games {jason,bbucklew}@freeholdgames.com Dynamic quest generation is a topic of interest in the implement in order to answer questions about themselves; game AI community, with examples appearing in AAA those answers get used to populate details in the templates games (Lenhardt 2012), indie games (Coxon 2016), and of quests generated inside the zones academia (Sullivan et al. 2012). In July 2018, we released an update to our simulative science fantasy roguelike Caves 3. A dynamic quest factory that, when asked for a quest orig- of Qud (Freehold Games 2015) that added its own take inating in a zone, chooses a template and resolves its de- on dynamically generated villages and quests. These sys- tails with the context provided by that zone tems were built on top of a framework we previously de- veloped for generating historical biographies (Grinblat and 4. A list of annotations that get sent to the zone building Bucklew 2017). Like that framework, our approach to dy- module for the requesting zone and any other zones that namic quest generation—novel in the space as far as we are affected by the quest know—was shaped primarily by two design forces at work in the project’s development. The first is an architectural 5. A replacement grammar for each quest template that, in constraint; to support its large-scale game worlds, Caves of conjunction with additional replacement rules for the fab- Qud uses a two-phase approach to world creation (Bucklew ricated objects, is used to generate quest names and dialog and Grinblat 2019) that delays the full fabrication of game “zones” until the player enters them. The quest generation Let’s walk through an example. During world-gen, a vil- system was necessarily designed to fit this two-tiered archi- lage zone of moisture-farming reptiles wants to generate a tecture. The second is an aesthetic choice of procedural con- dynamic quest for itself. It instantiates a class that imple- tent design; we tend to be nonprescriptive in deciding which ments DynamicQuestContext, where it specifies answers to of our content modules can be procedurally combined, pre- relevant quest questions, like who are the potential quest ferring instead to “let our generators run wild,” as we say, but givers (the most senior reptiles) and what’s important to ensure that they smooth the rough edges off their output. For them (warm rocks). The quest factory randomly chooses our storyful generators, this means eschewing causal logic in the FindAnImportantItem template and populates the de- favor of randomness that’s parameterized by the richly nar- tails with the reptile village’s provided context, including rative world the generators are embedded in. The resulting the quest item (a quartz slab) and its location (another reptile outputs are ripe for apophenic readings. village, randomly chosen from among nearby locations). An As mentioned, the quest generation work is split between annotation is sent to the zone builder module that tells it to the two phases of world creation, world-gen and zone-gen, add quest-giving dialog to the quest givers, who are chosen plus some pre-authoring of templates. World-gen happens at from among the viable fabricated creatures during zone-gen. the start of each game, where abstract representations of the Another annotation is sent to the destination zone, telling game zones, their contents, and their relationships are gener- the zone builder to make sure to place the quartz slab when ated. Zone-gen happens when a player enters a new zone and it builds the zone. (This allows for a sequence break where those abstractions are reified and fabricated as game objects. the player arrives at the destination zone before having re- With this architectural context in mind, the components of ceived the quest or even generating the source zone at all. the quest generation system are as follows: The quartz slab is still there and retrievable.) Finally, when 1. A catalog of pre-authored quest templates (e.g. “Discov- the player arrives at the source zone for the first time, the erAnImportantLocation”, “FindAnImportantItem”) zone is generated, game objects such as the reptile villagers are fabricated, a quest giver is chosen based on the resolved 2. An abstract DynamicQuestContext interface that zones quest context, and that quest giver is given appropriate dia- Copyright c 2020 for this paper by its authors. Use permitted un- log generated by the replacement grammar (“Hello, friend. der Creative Commons License Attribution 4.0 International (CC We heard about this lovely warm rock in a neighboring vil- BY 4.0). lage. Would you go retrieve it for us?”). References Bucklew, C. B., and Grinblat, J. 2019. Math for Game Developers: End-to-End Procedural Generation in ‘Caves of Qud’. https://www.gdcvault.com/browse/gdc-19/play/ 1026313. Coxon, T. 2016. Quest Friends Forever. https:// playstarbound.com/quest-friends-forever/. Freehold Games. 2015. Caves of Qud. http://www. cavesofqud.com/. Grinblat, J., and Bucklew, C. B. 2017. Subverting Historical Cause & Effect: Generation of Mythic Biographies in Caves of Qud. In Proceedings of the 12th International Conference on the Foundations of Digital Games. Lenhardt, H. 2012. Bethesda’s Nesmith reflects on the difficult birth of Skyrim’s ‘Radiant Story’ system. https: //venturebeat.com/2012/01/27/bethesdas-nesmith-reflects- on-the-difficult-birth-of-skyrims-radiant-story-system/. Sullivan, A.; Grow, A.; Mateas, M.; and Wardrip-Fruin, N. 2012. The Design of Mismanor: Creating a Playable Quest- Based Story Game. In Proceedings of the International Con- ference on the Foundations of Digital Games.