Second day of #AIIDE22! Borut Pfeifer on the procedural storytelling in Weird West!
Borut talks about the five, designed spokes with a set linear story and how the rest of the world was designed to respond to the player’s actions procedurally.
The various factors that impacted and responded to player actions.
Procedurally generated NPCs will move in and out of towns, can remarry, have families, remember your actions against them, etc.
Borut introduces the concept of “story factors”, which he parallels to the concept of storylets. However, in this case each type of story factor is a type of authored or generated story (vignettes, encounters, scenarios, journeys, quests and objectives, and backstories)
They had a unified data model combining various facts/percepts about the world, which allowed AI to make appropriate decisions (what should the player be attacked by? What animation to play? What meshes to use?)
They’d “cast” for specific characters based on things like the current story fragment. Casting means attempting to reuse an existing character, if available, and otherwise generating one. (Using a constraint solver!)
Locations were also cast! Attempting to reuse locations based on specific requirements of the story fragment, and otherwise would generate as needed (again with a constraint solver)
They could also add traits to existing characters or locations during “casting”, as long as it didn’t contradict what had already been established.
They had a parameterized, context-aware dialogue system with sets of dialogue associated with authored story fragments, and with minimal branching depending on potential outcomes. It sounds a LOT like the Left4Dead dialogue system.
Borut tells a funny story about not having considered the context of whether the player was in a werewolf form (an optional ability), leading to the player’s spouse seeming unfazed by their wolf form.
Next describes a simple, authored experience management system with specific rules about the likelihood of various factors given prior events and the current situation.
Borut now pitched the idea of giving story fragments/storylets different types, allowing the designer to set rhythms across each type and between types (e.g., don’t have two fights happening at once).
Their original draft was a bit too limiting/static. So to make the world feel alive they intentionally set the pace so that fragment types would overlap. But then they also had to deactivate certain channels during specific authored content that overlapped it.
This complexity also allowed them to react even in the authored story. Kill that “story” character? They can recast! Torch that story-relevant town? They can recast! Etc.
Now overviewing player responses, which were very varied! Some hated it, some loved it. From Borut’s perspective the problems were largely the combat, difficulty, and progression systems (not the narrative ones).
Borut sees these systems as barriers to player agency. But also notes that some players may not have realized the game was reacting to them, since players only see one, linear playthrough.
Points out that players HAD to be subversive to realize they could go off the guided path, and that the game could have done a better job communicating that.
Borut considers the possible narrative spaces to have a “cone shape” where your choices build off one another as the game goes on to lead to wildly different end states. But this meant they had less agency at the start.
Gives two case studies to show that if you author a character to have only one valence (come across as pure good/evil) you can limit how players are likely to respond.
Also talks about the importance of good storylet/story fragment design. That they should have the possibility for changing the world, lots of ways to get into it (lots of inputs/outputs).
Borut talks about how their writers would want to fully flesh out a fragment with their own ideas (e.g., fully specify backgrounds of NPCs), which meant the casting system wasn’t used as much as he wanted.
And that’s it! I THINK the recording might become available through @AIIDEconference at some point in the future.
Question about using DNN models like GPT-3, which Borut basically says no to since their design philosophy is to marry authored and procedural context and their style of collaboration wouldn’t work with that kind of model.
• • •
Missing some Tweet in this thread? You can try to
force a refresh
#AIIDE22 continues after that excellent keynote into the third paper session. Seth Cooper (over Zoom) starts us off talking about Sturgeon, his new constraint-based PCG environment.
Sturgeon combines tile rules (authored), pattern rules (which can be learned), distribution rules (which can be learned), and reachability rules (authored).
The Northeastern/Seth Cooper lab train continues, with @riffsircar (over video) presenting a process to convert tiles to tiles between games as level style transfer.
Second paper session of #aiide22 starting up! To start we have @quakefultales, who has created Puppitor, a system to help create AI characters as expressive as fighting game characters, but for narrative!
Initial playtests suggested that players began to become cognizant and reflective of their performance. Like actors!
Next up, Giulio Mori presents his work on EM-Glue, a general, environment-agnostic platform for experience managers.
First session of #AIIDE22! @MasterMilkX (in an Among Us hoodie) presenting on their excellent @AestheticBot_22 crowdsourced PCG experiment. They start by calling out (rightly) how ugly academic PCG is.
Fun trends the bot learns over time.
Next up @xxbidiao talking about mixed-initiative co-creation communication and control.