Jump to content

  • Log In with Google      Sign In   
  • Create Account

Narrative interpolation


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
71 replies to this topic

#1 Oluseyi   Staff Emeritus   -  Reputation: 1678

Like
Likes
Like

Posted 17 January 2002 - 10:14 AM

Here at my school there''s a new course being offered for the first time ever: Artificial Intelligence in the Narritive Arts. We had the first class yesterday. One of the issues raise was how interactive storytellers, a concept I consider applicable to games, try to keep the user along "story threads" that are "interesting." As a consequence, whenever the user begins to progress along an uninteresting path it becomes necessary to "force" the user back. Think linearity. One of my focuses over the duration of the course will be more dynamic means of story creation and greater user flexibility. The rough concept I have is to create dramatic arcs comprised of "story nodes," and then interpolating state information from the nodes to create a compelling story. In other words, the experience (I use this term because our class is not aimed at games) begins with a context and premise, from which the user may explore and/or take decisions. These decisions would advance the user state along a directed graph (think spider web) and create a "virtual b-spline" describing where the user has been and providing "memory" for realistic dynamic reaction to the user/character. Say we start at a node A which has connections to 5 nodes {B1 - 5}, each of which has a varied number of links to other nodes {{BA},..., {BE}}. Some of those connections may be bi-directional, meaning the story may revisit scenes/situations several times. Now if each of the nodes contains a time stamp for when the narrative arrived there, a list of event nodes for what happened there, etc, some of the new advances in AI (particularly an AI bot that writes fiction) would be able to generate a convincing narrative/storyline based on the user''s decisions and a few external stimuli. I think this could be a very powerful technology and could blow the lid off the RPG genre, but it will be quite a while before the technology is ready. Comments, critiques, suggestions all welcome. [ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ] Thanks to Kylotan for the idea!

Sponsor:

#2 WayfarerX   Members   -  Reputation: 130

Like
Likes
Like

Posted 17 January 2002 - 10:27 AM

I''ve actually spent a lot of time thinking about this, and I find the concept very intersting. The fact that your school is offering a course is sweet!

The biggest problem is, of course, finding a way to define "interesting" so that your AI can understand it. Do we define it on the basis of how many active plot elements there are, or how well they interact? And how can we determine from the actions of the user if they are actively interested?
Other problems arise from needing to know the course of the story in advance, like if you intend to use foreshadowing at all.

Where I think this can be really neat, however, is allowing a player to customize their character''s goals within a game. For example, in all of the recent Final Fantasy games the main goals of the character are heroism and love. I would love to play a game with as rich a story, but maybe decide that power or fame were my goal, and tell the cute little anime chick to bug off.

BTW, what school are we talking about? This sounds like a really intersting class.

"So crucify the ego, before it''s far too late. To leave behind this place so negative and blind and cynical, and you will come to find that we are all one mind. Capable of all that''s imagined and all conceivable."
- Tool
------------------------------


#3 Oluseyi   Staff Emeritus   -  Reputation: 1678

Like
Likes
Like

Posted 17 January 2002 - 11:49 AM

quote:
Original post by WayfarerX
I''ve actually spent a lot of time thinking about this, and I find the concept very intersting. The fact that your school is offering a course is sweet!

Yeah, the course is an outcome of a lecture/discussion series called the Ashby Dialogs.

quote:
The biggest problem is, of course, finding a way to define "interesting" so that your AI can understand it.

I''m actually not interested in defining "interesting". The user can wander in the wilderness for 40 years for all I care (and never make it to the promised land to boot). I''m interested in the AI being able to recognize the user''s progression and generate a "storyline" of sorts based on previous actions (and inactions). In the preceding example, the story should/could be "And our hero - who wasn''t a hero at all - wandered aimlessly in the desert for 40 years, accomplishing nothing."

You might want to search for references to Author (the AI bot I referred to above - I don''t have the links right now) to see how a narrative could be generated. It was built by people at North Carolina State University.

Being able to tell cute anime chicks to bug off, among other things, is one of the objectives of this technology - to enable the user fulfill thier own objectives within the given game world (wrt games) or the realm described in the interactive narrative.

quote:
BTW, what school are we talking about? This sounds like a really intersting class.

UNC Greensboro. (Go Spartans! Or whatever)

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!


#4 Tacit   Members   -  Reputation: 122

Like
Likes
Like

Posted 17 January 2002 - 02:19 PM

Here''s another approach. Rather than trying to come up with clever ways for an AI to auto-generate a story, why not come up with better mechanisms through which real storytellers (I mean, professional writers and not just people who think they have a good story idea) can tell stories in games.

That isn''t meant to sound snarky. I just think part of the problem is we have such archaic and clumsy methods for telling stories in games, especially with dialogue. There is a lot of research being done in communications theory around this idea. If you want to find ways to tell stories in games, look into some of this work, a lot of which is being done at MIT.

#5 Oluseyi   Staff Emeritus   -  Reputation: 1678

Like
Likes
Like

Posted 17 January 2002 - 05:09 PM

quote:
Original post by Tacit
Here''s another approach. Rather than trying to come up with clever ways for an AI to auto-generate a story, why not come up with better mechanisms through which real storytellers (I mean, professional writers and not just people who think they have a good story idea) can tell stories in games.

Well, our focus isn''t specifically games (and the course title does have the term Artificial Intelligence in it). However, I agree. The problem is that human storytelling is inherently linear and therefore restricts the level of interactivity. Writers will of course be needed to create scenarios for the various plot nodes/points, but stringing them together coherently is where the AI would come into play. If you had just 16 plot nodes, which you could revisit, and no limit to sequence length then you''d have an infinite number of potential stories - all created from the same basic elements. Sure, some of them would be absolutely "boring" (if the user kept revisiting the same nodes, for example) but could have the environmental "drama" of a National Geographic article series.

quote:
That isn''t meant to sound snarky. I just think part of the problem is we have such archaic and clumsy methods for telling stories in games, especially with dialogue. There is a lot of research being done in communications theory around this idea. If you want to find ways to tell stories in games, look into some of this work, a lot of which is being done at MIT.

Again, the focus isn''t specifically games. As per the dialog issue, however, the inherent limitation I see is the fact that the dialog is pre-written, the objectives are predetermined, the characters are preconceived and their potential relationships predestined. With this system, should it ever be implemented, the user would be presented with an environment and a basic premise (say, Middle Earth and there is a new dark menace). The user may choose to seek out more information on this menace - or run for the mountains and spend his/her lifetime exploring them and cultivating the forests there. Absolute flexibility.

Say the user then has a change of heart and decides to go find out what the menace had come to. Well, the world would have advanced without him/her - landscapes may have changed, horrors may have transpired, rebellions and resistances may have been forged and crushed depending on how long we dallied in the mountains. Just a short while ago a classmate and I were discussing a model for inter-personal relationships in interactive media that would tie in strongly with this.

As you can see, the objective is divergent from the current trend in games, which is why I continually stress that this is not about games. The methods and technology being developed may not be applicable to consumer entertainment/media for a good while yet.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!


#6 liquiddark   Members   -  Reputation: 331

Like
Likes
Like

Posted 17 January 2002 - 05:36 PM

Have you read anything about Chris Crawford''s Erasmotron ? It''s something of an inverse/analogue approach to the problem of interactive fiction.

Just my gut-level response,
ld




#7 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 17 January 2002 - 07:29 PM

Well crud. This is exactly the kind of thing I''m tinkering with now (see a recent thread posted in the Writing forum). I''d love to get a copy of the course materials.

OTOH, I wonder what a node is supposed to be. In traditional IF a node was a room, representing a physical place. But stories aren''t composed of rooms, they''re composed of scenes.

So does the class intend to use nodes to model archetypcal scenes? Or just another version of standard IF?

JSwing


#8 Kylotan   Moderators   -  Reputation: 3338

Like
Likes
Like

Posted 18 January 2002 - 03:06 AM

Anybody got any links to any of this stuff? Sounds very useful for what I''m doing...

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost ]

#9 Tacit   Members   -  Reputation: 122

Like
Likes
Like

Posted 18 January 2002 - 04:20 AM

Oluseyi, my comments were not related to your course specifically, but the subject in general.

You raise some good points, but if you take your concept of story nodes and expand the scope to the extent where a node becomes a level of a game, you have a lot more possibilities for what you can do with storytelling. Add to that a simple but effective system for dynamic behaviour-driven dialogue (through trees, not strictly AI -- no chatterbots), and you''ve got something entirely different.

This is the system I''m exploring. It works in theory, but has yet to be proven in practice.

R.

#10 liquiddark   Members   -  Reputation: 331

Like
Likes
Like

Posted 18 January 2002 - 09:56 AM

Erasmatron

HTH,
ld

#11 Oluseyi   Staff Emeritus   -  Reputation: 1678

Like
Likes
Like

Posted 18 January 2002 - 10:04 AM

Tacit, I realized that you were speaking more of games. I like your ideas.

As for the nodes as levels, I''m thinking more of event nodes to signify what happened, when and where (and who was involved). A level is a geographical location, and is unimportant in and of itself; it is what transpires at that location that creates story/drama/tension/etc. Locations could (should!) be dynamic, responding to events. By this I mean, the installment of a despotic tyrant would probably lead to widespread poverty, so buildings would begin to fall into disrepair and people would look more gaunt, etc. See Black & White''s implementation of responsive environment wrt how you rule/reign/govern your world.

As yet, there aren''t too many course materials (this being the first offering), but I plan to continuously update this thread with more information and references as they evolve in class. The existing tools (being developed and used at other institutions, notably MIT and CMU) are Alice, Unreal Tournament and Quake. What I find rather displeasing is the overemphasis on graphics, as though too many of the "researchers" in this field are really hobbyist game developers. My programming partner suggested building an application that turned out dynamic screenplays per user input rather than bothering with graphics, focusing more on content right now but the professor wasn''t too enthusiastic. Alice sucks, IMO, so UT it is...

I''ll keep y''all posted.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!


#12 Infinisearch   Members   -  Reputation: 225

Like
Likes
Like

Posted 20 January 2002 - 01:11 AM

I understand the directed graph and the feedback but are u saying the feedback is used to keep the reader interested in the main plot (the linearity u spoke of) or to dynamically generate a plot for the main character/s that is to the readers liking?


#13 Oluseyi   Staff Emeritus   -  Reputation: 1678

Like
Likes
Like

Posted 20 January 2002 - 11:44 AM

quote:
Original post by Infinisearch
I understand the directed graph and the feedback but are u saying the feedback is used to keep the reader interested in the main plot (the linearity u spoke of) or to dynamically generate a plot for the main character/s that is to the readers liking?

The second option. The objective is to dismiss the need for prewritten plots.

What is a plot? A sequence of occurences with some form of correlation, and preferrably some dramatic drive. The tools of plot are setting (location, time, witnesses, etc) and interaction (who did/said what to whom). If we can create environments that supply the first, and the user supplies the second, then why can''t we develop coherent and powerful plots from that? That''s the objective here. I''m trying to define a system that allows you to throw in a bunch of "plot nodes" and then "smooth" them together into a dramatic arc (kinda like how control points define a bezier spline).

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!


#14 Infinisearch   Members   -  Reputation: 225

Like
Likes
Like

Posted 20 January 2002 - 12:23 PM

Interesting, but in the context of single player games, i guess u would still need a overall goal. i.e. kill the evil overlord... In massive multiplayer i think this would be perfect, assuming u could still inject static nodes to start new plots sub-plots. It is similar to an idea I had about a dynamic history tree.

Where one database of event information is shared for all characters. But access is regulated by character AI, where the data is also modified through modifiers. Not the original data of course, remember the game telephone think of it as each step being a function. The modifiers distort data and can be composited and inherited. For example if person A witnessed an event, depending on that persons knowlege of related topics (the modifier for firsthand interpretation) would interpret that event a certain way. ("The Drought killed my crops the water god is angry", versus "The boss must''ve shut down the water supply again because the peasants were gettin a little to confident) Then second hand information could be a weighted balance between the a relationship modifier, and personal knowlege, and previous knowlege of that event if present.

I think this would really contribute to gameplay. I never really believed in "NPC''s". Any character around could and should become involved in plots/sub-plots if touched by an event/the main character. Just like in real life that doesn''t mean most people will go crazy but this would lend to things like a shopkeeper smuggling weapons to rebels in a occupied village... And following your train of thought could be weaved into a greater plot, based on which plot/sub-plot characters the player takes interest in.

-potential energy is easily made kinetic-

#15 Oluseyi   Staff Emeritus   -  Reputation: 1678

Like
Likes
Like

Posted 20 January 2002 - 12:39 PM

quote:
Original post by Infinisearch
Interesting, but in the context of single player games, i guess u would still need a overall goal. i.e. kill the evil overlord...

Why?

Why should I kill the evil overlord? What if I don''t want to? What if I just want to live quietly in the valley, ekeing a living out of the land? What if I''m too scared to "fulfill my destiny"? Why should I not be able to explore this exquisite virtual world because some fool designer thought I absolutely had to go off murdering goblins and freeing the world?

That''s the real fun part. Yes, there will be a basic motive and stimulus, but we wont require the user to advance at all! If you so prefer, you can just stay right where you are and do nothing. Eat, sleep, marry, have kids, grow old and die. The universe may forever be lost to evil, or "the Ancients" may have had a contigency plan; what do I care?

Also keep in mind that these techniques are being developed within the purview of interactive drama/narrative. To be applied in games they may need to be modified. But just as a thought, I would rather have run around Liberty City exploring than taking on jobs from various people. So what if I never got (and never get) past level 1?
quote:
Where one database of event information is shared for all characters. But access is regulated by character AI, where the data is also modified through modifiers. Not the original data of course, remember the game telephone think of it as each step being a function. The modifiers distort data and can be composited and inherited. For example if person A witnessed an event, depending on that persons knowlege of related topics (the modifier for firsthand interpretation) would interpret that event a certain way. ("The Drought killed my crops the water god is angry", versus "The boss must''ve shut down the water supply again because the peasants were gettin a little to confident) Then second hand information could be a weighted balance between the a relationship modifier, and personal knowlege, and previous knowlege of that event if present.

I like this. I like it a lot!
quote:
I never really believed in "NPC''s". Any character around could and should become involved in plots/sub-plots if touched by an event/the main character.

A worthy mantra.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!


#16 Infinisearch   Members   -  Reputation: 225

Like
Likes
Like

Posted 20 January 2002 - 03:09 PM

"Why?"
Well like I said, it was more in the context of single player games. But in truth it was a statement i didn't want to say. Complete freedom would great, but its not linear story i was aiming at. It was the threads that make up the fabric. While u can sit and live on the country in peace if u want, but the consequence in the game should follow real life... the evil will come to u. I'm not saying don't explore the world or admire it, i'm saying multilple plots and subplots should be presented to the player either directly or indirectly and the player should be able to choose whatever... But i also think the world should go on whether or not the player chooses to interact, and be prepared to deal with the consequences.

"But just as a thought, I would rather have run around Liberty City exploring than taking on jobs from various people. So what if I never got (and never get) past level 1?"

I'm not suggesting levels but lets say you run around exploring, and a sub-plot appears. A character u meet kid got kiddnapped, u save the kid. Mind u this hasn't nothing to do with the main plot. U make a name for yourself, trouble might come to u, or maybe people will start asking for your help. Eventually u piss off a local gang enough to declare u a problem that has to be dealt with. Kill or be killed, but damn this local gang boss reported directly to the mayor of liberty city. Now whether this was fact when u started playing the game isn't necessarily true, but it can't be proved or disproved, and voila u have magically finished "level" 1. U are also blinked into existence in the mind of the mayor who now has your description.

"I like this. I like it a lot!"

Thanks, so do I. Tell me what your teacher thinks of it too. The reason I looked at the problem like this is because a database for each character would be to big. What i'm suggesting would be pretty big too, but high order thought on this level does not need to occur on a frame by frame basis. There are some other things to my method but my post is too long as it is. In truth if combined with the idea in the annotated objects thread I really think one can provide a truely immersive world that the player can get lost in.

So when do we start coding? lol
EDIT- By the way does stuff like this and the annotated objects belong in the AI forum?

-potential energy is easily made kinetic-

Edited by - Infinisearch on January 20, 2002 10:12:32 PM

Edited by - Infinisearch on January 21, 2002 4:50:03 PM

#17 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 20 January 2002 - 04:26 PM

quote:
Original post by Oluseyi
What is a plot? A sequence of occurences with some form of correlation, and preferrably some dramatic drive.
...
If we can create environments that supply the first, and the user supplies the second, then why can''t we develop coherent and powerful plots from that? That''s the objective here.




I used to think this was the case. Apparently many logic oriented people think that is the correct definition (MIT computer dept, etc).

But this Xmas I changed my tune. I started reading some books by writers, and by those who teach writing, and they disagree. According to them, writing a story requires, *and is defined by* a meta-structure.

It''s not a series of events that happen to be related, it''s a larger picture where the events just flesh out the skeleton of the story. The events *necessarily* move towards an ending.

"The story ends when the first major line of tension is resolved." -Orson Scott Card

The only exception to this was what Orson Scott Card called ''millieu'' stories, where the whole point was to explore an environment (think _Alice''s Adventures in Wonderland_). There the protagonist explores this strange world the author creates, and then (usually) goes home at the end. He really didn''t describe what defined the end, but I got the feeling it wasn''t altogether arbitrary.

So if you want a millieu game, the (major) point of the game is to wander around and explore the game world and/or game mechanics. But such a game doesn''t generally involve drama. More like Tomb Raider. Conflict yes, drama no.

Randomly generating a sophisticated millieu game would require a massive set of resources to draw from. Not impossible, but not easy. The repetition inherent in computer games is a thing to worry about.

quote:

I''m trying to define a system that allows you to throw in a bunch of "plot nodes" and then "smooth" them together into a dramatic arc (kinda like how control points define a bezier spline).



According to the writers, the plot nodes derive from the fundamental story arc, not the other way around. The plot nodes serve to move the protagonist to the end of the story, either by blocking his direct path and diverting him to an alternate, or by changing the protagonist to enable him to proceed. If you don''t know where the story is heading, the plot nodes won''t be successful at producing "coherent and powerful" drama, because they won''t aim in the right direction.

That doesn''t mean it can''t have entertaining results, just that you won''t get Shakespeare. And they could be wrong, since they are focused on as linear, non-interactive media. But browsing through the archives of the rec.arts.interactive-fiction newsgroup suggests that your approach will not produce what you want.

These are only my opinions. Feel free to disagree or ignore.

JSwing

#18 Kylotan   Moderators   -  Reputation: 3338

Like
Likes
Like

Posted 21 January 2002 - 01:12 AM

I don''t think that invalidates the whole idea. Rather, it just alters the way you need to approach it. Perhaps the system should generate the ''ending'' first and work backwards from there.

#19 superpig   Staff Emeritus   -  Reputation: 1825

Like
Likes
Like

Posted 21 January 2002 - 04:20 AM

From a technical point of view, the node-graph idea is interesting - but what about taking it a step further, and making it extensible, via the internet? Downloading new nodes...

Oh, and as for the milieu game stuff: Myst...

Superpig
- saving pigs from untimely fates
- sleeps in a ham-mock at www.thebinaryrefinery.cjb.net

Edited by - superpig on January 21, 2002 11:22:34 AM

#20 Symphonic   Members   -  Reputation: 313

Like
Likes
Like

Posted 21 January 2002 - 07:50 AM

quote:
Original post by Kylotan
...Perhaps the system should generate the ''ending'' first and work backwards from there.
But wasn''t the original goal to reduce the deterministic nature of the storyline structure? It''s all very well and good to use this method to create storylines that change each time around, that is essentially no different from randomly generating maps of important places.

The problem here, as I understand it, is the lack of dynamic storyline progression, wherein the actions of those involved matter significantly. Using a method such as the one Oluseyi and Infinisearch are suggesting it is likely that an action-driven story could be produced, this to me would be a tremendous achievement. Even if the system randomly generates an ending, the player''s actions cannot fall outside the ending given. Multiple endings are still discrete summations of events that will form predefined paths. The incredible power behind the system (as I see it) is that there are no discreet finales.

It is much like the difference between the set of all integers and the set of all real numbers. One is inferior to the other for it is lacking in the way of many gaps that beg to be filled.

JSwing: To tie into what you''re saying, your points are very valid, and only time will tell which one of us is more right (if there even is such a thing), but I will contribute this as a counter-arguement:

In constructing a storyline for purposes of static, linear entertainment (such as a book or movie) it is indeed very true that a major thematic plot-arc should formulate the ''nodes'' of plot progression, however, this is (in as much as my personal experience has demonstrated) not how life works, and in creating this structure, our colleagues endeavor to move computer games more towards a reflection of what life and experience itself may offer us in terms of shaping our reality around our actions. The beauty of the system is that no-one (including the designers) really can be sure of the outcome, which, I believe, is how life progresses for all people.

What''s more, without a central theme, the players are left to form their own thoughts about what happened. To me this is paramount, because all experiences carry their own internal lesson, which varies on a per-person basis.

The only problem I percieve thus far is that the depth I speak of will be very hard to make feasible.

George D. Filiotis
Are you in support of the ban of Dihydrogen Monoxide? You should be!




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS