3 Things to Avoid in Next-Gen Narrative Planners

By |2018-12-04T05:02:29+00:00January 18th, 2015|Artificial Intelligence, Games, Narrative, Research|

The interactive space is on the cusp of bringing to life new experiences in narrative-based games. Included in these attempts are the use of narrative planners, typically a collection of algorithms (some classified under artificial intelligence) that attempt to provide the player with an engaging and consistent story, usually based on some additional constraints. One of these constraints is a list of deliberately-authored plot points, sequences or events that the designers have created for the story. The player may encounter any number of these pre-scripted events on their journey through the story, but ultimately the narrative conclusion is typically only a handful of possible endings.

This is a classic branching narrative structure. Current implementations of narrative planners tend to run fine with these kinds of restricted story forms and well-defined domain spaces, but what if we want to open up the narrative space and allow for players to engage with the story on their own terms? Do we (and can we) invite a player to pursue a personal style of play and a narrative that adapts dynamically to every choice made?

If it ain’t broke… Wait, it’s not broke is it?

As Maximus opined in a gentle and thoughtful manner in the movie Gladiator, “Are you not entertained?”

If the status quo works from the perspective of the player, will evolution beyond voracious consumption of branching narrative be of any value? Hell, yes!

The industry continues to push the boundaries in trying to provide players as much meaningful choice as possible during gameplay. Meaningful choice creates engagement through satisfying certain psychological needs. In the end, we translate an experience as entertaining, rewarding and fun – core components to the game experience.

Deep-dive time. Let’s start with the example of a known narrative space. Looking back to Riedl & Young’s research (2010) using an intent-driven partial-order causal link planner (IPOCL) and their small example of how King Jafar becomes married to Jasmine and there is a genie that dies, it took over 12 hours to process fully using that algorithm. Since then, there have been improvements but processing times still hover in the 20 to 30 minutes range to solve similarly complex plans. Obviously such processing times aren’t viable for games running in real-time on current hardware. Unfortunately, attempts to reduce the time to produce a narrative plan to within tolerances involve making concessions in other areas, and those concessions end up affecting the believability of the characters and/or consistently of the narrative, among other things. We don’t all like stick-man characters, do we?

3 Things to Avoid

So what are the key areas we can address to create a reliable narrative planner capable of producing an engaging and consistent narrative that takes into account believable character behaviors, intentions and goals on a timely basis?

  1. Avoid Modelling People Instead of Behaviour

At a fundamental level, we need to stop trying to simulate humanistic thought processes, such as through neural networks, and instead focus on modelling behaviour. Real life behaviour is the result of a mental model full of conscious and unconscious decision-making, physiological input and the imprint left by your history. It’s complex and messy. What exactly a character believes doesn’t come from an

Intelligence stat. For a next-gen narrative planner to pursue an engaging narrative with a particular story form (say, for example, a “police procedural” TV episode), it must know about the character’s drivers and what he/she/it cares about.

There’s a lot to be learned from the psychological approach, and my own research led to the development of a hybrid cognitive framework that is process-friendly and allows for some truly engaging, believable and entertaining characters through a refined character behaviour model. (Personal note: it’s gratifying to see those seven years of research weren’t wasted.) Achieving this goal required a perspective change in both how to solve the problem and the technical architectural model.

It’s crucial to mention that this cognitive framework could not have been realized without taking into account how narrative is constructed (specifically Western narrative) and the deconstruction of story forms. These are integral to what the planner demands of and offers to a character to create a believable narrative and behaviour.

They are inexorably linked.

  1. Avoid Algorithms that Only Solve Part of the Problem

Much of the research for narrative planners begins with using an existing algorithm, like a forward-chaining partial order planner, the previously mentioned IPOCL, or a hierarchical task network and grammars. Each method attempts to solve a moving target and address an incomplete problem specification. The tendency to look at narrative elements to the exclusion of character behaviour has been a recurring issue. Characters don’t play on top of plot like kids on monkey bars. Plot and character are more organically linked.

Additionally, most of the better-known planners use a planning domain definition language, which leads me to suggest…

  1. Avoid Planning Domain Deinition Languages (PDDL)

The PDDL was originally meant to formalize a way to describe domains for the purposes of research. Trying to standardize anything has the issue of creating a box where you must work within its bounds. It also forces you to craft a solution that fits within the constraints of the particular implementation of PDDL you’re using.

No doubt, they’re a useful tool for exploring narrative planners, but like all tools, you need to use the right one for the right job. I have found that PDDL and its variants continue to add new features in a piecemeal fashion, such as Markov Decision Processes in one implementation or inheritance of actions and goals in another.

From here I’ll be continuing development of the narrative engine and related AI agent framework. More to come!