#### Archived

This topic is now archived and is closed to further replies.

# Narrative interpolation

This topic is 5164 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Quick question:
Is the system designed to generate an interesting story for the player to participate in?
Or is the system designed to generate an interesting story about what the player has done?

Different posts seem to imply one or the other, and I''m not sure which.

Now, the main post.

quote:
Original post by Oluseyi
In a conventional game, you are faced with a series of tasks to complete in order to advance along the story. In this situation, however, we say that you can choose to be "disillusioned" are leave the Rebels. Heck, you could return to being some form of shepherd laboring away in insignificance under the oppression of the Empire.
...
Insignificant? Within the context of games, yes. Within the context of literature and interactive narrative (which is where this idea starts out), not by a long shot.

Hmm. If you take the broad definition of game (ie. something that people play) then interactive narrative is a game, no? Much like SimCity is considered a game, although some people like to say that it''s more accurate to term it a ''toy''. I would say that interactive narrative is essentially a game or toy, even if it had other applications. (Anyone familiar with the Fighting Fantasy or Lone Wolf books? I suppose they are interactive narrative, to a point.)

I''m going to ignore player motivation, and whether the product is a game or a toy, and whether the player lacks true goals or not. I''ll assume that the player does want to play with this system for some reason, and leave the "but is it fun?" aspect for another time.

quote:
Now where does the "generating a story" part come in? Since the objective is to create interactive narratives (ie, stories), we want the system to be able to extract pertinent information from user actions (serialized as "plot nodes", which encapsulate data about what happened where, when, how, why and to/by whom) and then compose textual paragraphs that would be entertaining for a human to read.

Of course, this is a 2 part process: firstly converting user actions (events, perhaps) to an internal representation, ie. your plot nodes, and secondly expressing that plot node in terms of entertaining narrative.

The second part is flexible. If I (now) understand it correctly, there''s no reason it has to be text; it could be any representation you like, such as seeding the world database with related ideas for the player to follow up.

It''s the first part that bothers me. How would you classify and represent these user actions or events? This would be hard in a game, and potentially impossible in a normal story. (Although, as with tabletop roleplaying, it is possible for the ingenious gamesmaster to classify any player action into one of several categories usually, so maybe human intervention would help there.)

Then you have these story nodes that pre-exist, but the player''s story is based upon which nodes they visit and the order they visit them in... the path, as it were. Any idea how this path will translate into the story, or are you hoping that is what this research will work out? Maybe this article would be one starting point: it gives some classification of different ''dramatic'' situations, including the actors and several variations on the theme. These (or something similar) could perhaps be used to categorise a user''s action into one of these nodes, thus determining the path?

Just yell if I am missing the point again here

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

##### Share on other sites
Kylotan:
"Is the system designed to generate an interesting story for the player to participate in?
Or is the system designed to generate an interesting story about what the player has done?"

There are two applications to the technology, Interactive narrative as in Oluseyi''s class and Video Games. Answering both questions at once for both games and narrative seems to be:
Participate based on what the player has done/feels... and record the story of the player, at least how I understand it. The participation in the narrative would be diminished of course, which leads me to a question I have for u Oluseyi, in the context of the interactive narrative how do u intend to pose options to the reader/user in terms of what they want to do/feel?
Another question one I have been thinking about is, to define the problem domain as u put it... How does it end, when to decide its over? (especially with the interactive narrative application) One, death the easy one. But with no definition of sucess or failure the hardest part would be to end the story. Especially if the player/reader shows no interest in "exciting" plots. Even though exciting is subjective the user and we track the users'' patterns, how do u know the player isn''t waiting for something? In your sheep herding example, how do u know that the player is happy? How long do wait till u say wow this reader is content being a sheep herder? Harder still is the fact that in a narative it would be much more difficult to stick a non-intrusive test in the narrative, to see whether or not the player felt a sense of plot climax or resolution.
-----------------------------------------------------------

I think Tetsuo''s heart was corrupted way before he attained any kind of power, the power just gave him the courage to act on his heart. Oh and those were quotes from the creator of Akira, he was saying how he made the animation like one issue of the comic book. Where as in the comic book he could build up over multiple issues. Seen Ghost in the Shell, but nothing compares to good ol'' Fist of the North Star.

-potential energy is easily made kinetic-

##### Share on other sites
quote:
Original post by Oluseyi
You are a genius! You have fully comprehended the objective, and you have also taken the words right out of my mouth to respond to JSwing (and probably phrased them better than I could have). Thank you!
Thank you, though I wish you hadn''t said that, it will affect my thinking.
quote:
Over the course of the next 3 months, we''ll be developing our ideas constantly, and I''ll probably be working on a text-based implementation that generates scenes in the form of screenplays. I think that''s the most reasonable and efficient way to pursue this ideal at this point in time, as graphics tends to clutter the objective. Hopefully this thread will remain a source of criticism, discussion, insight and analysis.
Is this reffering to the course your taking in school or to a personal project for which I might offer my meager thoughts and abilities?

To address a more important train of thought:
quote:
Original post by Kylotan
Is the system designed to generate an interesting story for the player to participate in?
Or is the system designed to generate an interesting story about what the player has done?
I am certain that the latter is true, as I said in my previous post the former is an equivalent to generating random maps
quote:
Of course, this is a 2 part process: firstly converting user actions (events, perhaps) to an internal representation, ie. your plot nodes, and secondly expressing that plot node in terms of entertaining narrative.

The second part is flexible. If I (now) understand it correctly, there''s no reason it has to be text; it could be any representation you like, such as seeding the world database with related ideas for the player to follow up.
agreed, and if it were to be done in a computer-game setting, it would be desireable for the story generator to generate scripting-language code for the game as it (the story-generator) interpreted the actions of the player.
quote:
It''s the first part that bothers me. How would you classify and represent these user actions or events? This would be hard in a game, and potentially impossible in a normal story. (Although, as with tabletop roleplaying, it is possible for the ingenious gamesmaster to classify any player action into one of several categories usually, so maybe human intervention would help there.)

Just yell if I am missing the point again here
Not missing the point at all, but I will defer this question to Oluseyi with the following contribution: I would most like to see an implementation in which what we choose to call nodes, are not predetermined by the game at world creation. So when maps are generated and creatures, NPCs, object annotations, etc. are created, the nodes that will at some point accompany them are not yet generated.

Instead, the story-generator should create nodes on the fly, linked to objects that it ''expects'' the player to attempt (at some point) to interact with.

Example: The game has just been initiated, and the game created a node at the weapon store of the local town of the PC which makes reference to the buying of a weapon.

Fred (PC) has just bought a sword at a local store. The game detects the triggering of the node and creates linked nodes for the following:
1) The townsfolk: if Fred kills one of them, the town will not be happy about it, unless he does it in such a way that no-one finds out.
2) The lord: if Fred communicates with him, he will offer the player a quest to go do, (accepting this quest will make a few new related nodes in the caverns near the town).
3) Out of town: if Fred runs off into the forest, the townsfolk will start talking about it, he may later hear that they thought he went off to kill a terrible monster that''s been plaquing the lands.

The predictable advantage of this system is that an object oriented implementation can be used, which links nodes in a heirarchical graph system. When a node is activated, the game system runs through the nodes it has to see if any removals or updates need to be made, and then it creates new ones that may be linked to the current development. This means that there will never be a large number of active nodes at any time, so there will not be a massive set of tables to run through every time the player does something (anything really).

It is important to me that the game ''makes up'' the greater scheme of the world beforehand, but still allows the player to take it on (or not) in any manner imaginable.

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

##### Share on other sites
quote:
Original post by Kylotan
...Is the system designed to generate an interesting story for the player to participate in?...
Sorry, I just realised this does not fall under my example, ignore what I said before, this is an applicable use of the system as I envision it.

##### Share on other sites
quote:
Original post by Kylotan
Is the system designed to generate an interesting story for the player to participate in?
Or is the system designed to generate an interesting story about what the player has done?

To a large extent, both. The consequences of actions can often give rise to new situations, which can provide new choices for the user.

Let me outline the objective as currently defined (and please keep in mind that my/our ideas from the class are not absolute; many in this thread have raised the level of discussion and made critical contributions): to provide the user with a context and basic premise, then to generate a consistent world based on the actions of the user as well as external events. Narrative becomes important because the player will need to learn of the actions of NPCs, and vice versa. So while the primary area of discussion (in the class) is the "narrative arts"/interactive fiction, the principles are directly applicable to games.

Furthermore, returning to an earlier example, if the player eschews saving the world in favor of shepherding, then the system will be able to generate events for the user to respond to (natural disasters, lions and bears attacking the flock, etc) as well as generate stories about how the user heroically fought that bear hand-to-hand, or died at the fangs of a skulking wolf.
quote:
Original post by Symphonic
Is this reffering to the course your taking in school or to a personal project for which I might offer my meager thoughts and abilities?

Primarily the course, though my class partner and I will be trying to make certain applications and extensions on our own time (between all the other things we do).

quote:
I would most like to see an implementation in which what we choose to call nodes, are not predetermined by the game at world creation. So when maps are generated and creatures, NPCs, object annotations, etc. are created, the nodes that will at some point accompany them are not yet generated.

As implied in my paragraph preceding, the game would create dramatic events - plot nodes - pertinent to the user''s current course of actions, as well as generate an "external" narrative about the user''s explots. For games, the first is by far the more interesting, but the second is useful as well.

quote:
The predictable advantage of this system is that an object oriented implementation can be used, which links nodes in a heirarchical graph system. When a node is activated, the game system runs through the nodes it has to see if any removals or updates need to be made, and then it creates new ones that may be linked to the current development. This means that there will never be a large number of active nodes at any time, so there will not be a massive set of tables to run through every time the player does something (anything really).

This is pretty much exactly how I visualize the system as it currently stands. If we go back to the first post, I spoke about hierarchical connections between nodes (which were spatially distributed in a graph that had both uni- and bidirectional links/vectors).

quote:
It is important to me that the game ''makes up'' the greater scheme of the world beforehand, but still allows the player to take it on (or not) in any manner imaginable.

This is a good point. We want the rules of the world to be specified independently of the game events (though perhaps modifiable by events in the game), and only the basic premise (and all necessary actors) to preexist. These characters will be simulated independently of whatever the user does, meaning the world will continue to advance in a consistent manner. Everything else will be dynamically created according to the user''s actions/choices. We may throw in specific locations/situations designed to lead to certain outcomes - in other words, a very flexible and dynamic system.

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

##### Share on other sites
I''ve been following this with a lot of interest but relatively little understanding. But I think I now get the picture. At the start:

The player (PC) creates a character. Can he choose skills etc ?

PC then goes to opening screen which would presumably have to be some sort of hall / school / vehicle etc..

Assume this is a school game. PC has four (say) choices:
Go to maths class
Go to gym
Go to yard
Play truant

Whichever choice is made then a first story node opens. Let''s say PC goes to the gym. He then has choices of playing a game of basketball, getting into a conversation with the gym teacher etc... Each of these in turn lead to different nodes.

Just looking at it like this it seems to me that a game like this would have to have literally hundreds of separate stories all pre-programmed to an extent. The only way out it seems is if the story nodes are circular. For example I go to the gym, have a game of basketball after which the gym teacher tells me to go to maths class so I play truant. After playing truant for a bit Dad catches me an I''m sent back to school to do the maths class (sigh )

My question is, what do you see as the limits here?

##### Share on other sites
superpig: Thank you for the better example.

Symphonic:
quote:

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.

I agree completely that dramatic stories and real life work differently. But if the goal is to produce dramatic stories, then I suggest the focus should be on modeling dramatic stories, not modeling real life.

Oluseyi:
Now I''m getting confused too. What it first sounded like is the user plays a game and the machine somehow picks up the highlights and translates that into a story.

But then the latest post seems to say you want a pre-existing major storyline which the player can choose to participate in or not (star wars). And if the player does not choose to participate, then the game will still generate some things to do (farming challenges).

This doesn''t seem to be able to generate dynamic story arcs. Or more likely, I''m missing something.

##### Share on other sites
quote:
Original post by JSwing
I''m getting confused too. What it first sounded like is the user plays a game and the machine somehow picks up the highlights and translates that into a story.

This is one level of application, and it can be implemented to feed back into the game. For example, say you''re a knight and you go off questing and finally kill a dragon. Well, the news will travel and bards and minstrels will begin to sing your praises (imagine walking into a tavern somewhere and hearing a bard sing (badly) about your feats of valor, greatly exaggerated). It would also serve as a neat way of providing a recap (I can''t think of a genre that requires this other than sports, but the technology is perfect for the interactive fiction genre).

quote:
But then the latest post seems to say you want a pre-existing major storyline which the player can choose to participate in or not (star wars). And if the player does not choose to participate, then the game will still generate some things to do (farming challenges).

This doesn''t seem to be able to generate dynamic story arcs. Or more likely, I''m missing something.

This is the more games-related application, I suppose. I mean, very few developers would want to expend numerous man-hours creating vast vistas of terrain for the user to explore - and then have the user go off and farm throughout on a tiny patch of land. So this would be a way for the user to be drawn into more exploration, more dramatic events and to provide a model of consistency. For example, if you''ve ever read The RPG Cliches Game, you will probably be aware of how much stuff in the game is dependent on the user. If there''s a burning house/village, it will never finish burning until the user is done with it; then, it will suddenly burn/explode/collapse with the user escaping in the nick of time (in an event to tack drama on rather than make it integral).

With this system, the user could be trapped inside (there would be another way), could be inside the house when it collapses (you''d "miraculously" be under a slab of concrete which protected you from the fire, and be rescued by fire fighters the next day) or could even be outside when the house burnt - without the requisite item. What then? Well, either the item was fire proof, so it would survive (but if you don''t get there in time it might be found by emergency services and you''d then have to figure out a way to get it from them ) or it would burn (say, an important document) and you''d have to find another means of obtaining the information it contained. All these alternate story paths would only be possible if the system could respond to event and plit nodes and create alternatives dynamically yet consistent with the existing narrative/storyline.

I hope that clears things up.

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

##### Share on other sites
quote:
Original post by Crydee
The player (PC) creates a character. Can he choose skills etc ?

These are game-specific questions that are left to each game''s design crew. We''re more about creating a generally applicable methodology irrespective of genre. For example, this system could be used in sports games (commentary), in RTS games (reports from the battlefront), etc.

quote:
Assume this is a school game. PC has four (say) choices:
Go to maths class
Go to gym
Go to yard
Play truant

Actually, the way I see it would be more like this:
You are a new student at City High; today is your first day. In your right hand is a schedule, and it says you have math in 5 minuts in room 309. The door to your left says "105, Principal". The next door down the hall reads "107". You spot the stairs further down the hall, on the right.

Now the player could choose to go to the stairs, climb upstairs and find room 309 for math, or they could ignore the stairs and decide to look around - maybe end up in the cafeteria. As you move into the caf, the system would spawn the people who should logically be there at that time. If you decide to interact with them, then you''ve opened up that particular story node for exploration. If you change your mind and go back to math class, well, now you''re late. The teacher may ask for an explanation (you could say "I''m new, had a little trouble finding my way around." Of course the class may laugh at that - especially if the building layout is simple - but it''ll get you off the hook), giving rise to a dramatic situation - another story node. Because you came late, the teacher may develop an idea that you''re not a serious student, and so on.

quote:
Just looking at it like this it seems to me that a game like this would have to have literally hundreds of separate stories all pre-programmed to an extent.

With the way I''ve outlined it above, you''d see that it wouldn''t necessarily be so. NPCs could have personalities, motives and specific pieces of information (which may or may not be useful), which will drive them to interact with you based on how you interact with them - which gives rise to the story.

quote:
My question is, what do you see as the limits here?

Hopefully, I''ve been able to clarify the situation for you so you can see that the system would actually remove limitations rather than impose them.

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

##### Share on other sites
I just thought this would be a useful reference (for those who haven''t read it); I plan to pass it on to my professor as well. Kylotan posted the link in a thread on the Game Writing forum:
I have no words & I must design

What I find most useful is the clarification that games are not stories - stories are inherently linear while games are not. Firmly embedding this notion in our minds will free us to think more creatively about narrative interpolation.

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

##### Share on other sites
Stories are not inherently linear...just the stories that we''ve been reading and writing for the past thousands of years. Or, perhaps I should say that stories while inherently linear in structure are not limited to being linear. Or at least, this is what I believe.

The oldest story in the English language (well, it''s in Old English but it still counts) is Beowulf. Beowulf comes to us from the Anglo-Saxons, who for the longest time had an oral storytelling tradition. The skop was the bard or poet in their society, prized for their ability to create elaborate stories expounding on the martial prowess of a tribe''s greatest warriors. Beowulf is a story that comes from this tradition, and centuries after it was told (and retold, and retold, and therefore changed in the process), it was committed to parchment and frozen forever. Still, even as late as a few years ago Seamus Heany (a famous poet) retranslated it, and therefore *reinterpreted* it. Retelling and reinterpretation are not beyond the medium of storytelling. In fact, this kind of reinterpretation is what gives us modern tales like those of King Arthur and Robin Hood, for example.

If a static medium like the written form can offer so much versatiity, certainly a computer game can offer some too? Surely we haven''t explored all the different ways in which stories can be told.

This is of course just my opinion, more of a belief actually, but so is what the author of ''I have no words and I must design'' is sharing with you in his article. There is no fundamental ''truth'' that says games are not stories. They''re just not stories in the very limited sense that most people consider them in.

R.

##### Share on other sites
I''m not comparing movies to books but movies tell stories. Even if they are in a different medium and can convey information to its ''audience'' in a variety of ways as compared to books, in the terms of linearity they are similar. Has anyone ever seen the movie "Go" or "Memento". In each pieces of the movie are linear but as a whole the movie is not linear but do tell one story. If I remember right in ''Go'' there were three linear stories, shown in a row and the three stories intertwined so at the end you had a big story which your mind put together. In ''Memento'' the whole movie is done backwards. Small linear patches in ''forward time'' that were presented backwards. (Don''t watch the movie unless u are in the mood to keep your brain in a thinking mode) Something I''m not sure of is are plot twists considered linear? Have you seen ''Wild Things'' or ''The Game''? They are both linear in time yes, but not in what you think is going on. Is linearity in a story only considered on the level of time? The reason i brought this up is because in the case of an interactive narrative or a game using an interactive plot system, you can easily be non-linear on a plot level.

-potential energy is easily made kinetic-

##### Share on other sites
quote:
Original post by Tacit
Stories are not inherently linear...just the stories that we''ve been reading and writing for the past thousands of years. Or, perhaps I should say that stories while inherently linear in structure are not limited to being linear. Or at least, this is what I believe.

I think we''d do well to distinguish between what I''d like to call "linear" and "static" media.

Static media cannot be changed. They are set in stone, and any attempt at significant reinterpretation would violate the fundamental "truth" or content that is in the medium. Examples include histories and works such as the Bible. Their inverse is, of course, dynamic media. Most media can be considered dynamic at some level, and I think your Beowulf example is an instance of media "dynamicism." Note, however, that in order to reinterpret the work (and therefore give us a dynamic variant), Heany first had to experience/absorb it in linear and relatively static fashion.

Linear media progress from one notion to another, independent of the user/audience. They may contain unexpected twists and turns, but those are built into the medium. Most of our media are linear - all recorded forms, at least. Live performance, on the other hand, is a non-linear medium because the performers can interact with and influence the audience, and vice versa. While some media may present occurences out of sequence - Memento, Go and other excellent examples given by Infinisearch - the final story is still linear in terms of user interaction.

When I use the term non-linear, I speak of the type of dynamicism introduced with games, where the user''s choices and preferences completely alter the outcome and thus the experience. Imagine if you could stimulate the main character in an action movie: make the right choices and you fulfill the objective; make the wrong ones and your movie ends significantly earlier than other people in the "theatre."

Not a great example ("Hey! I paid $7.50 for this!") There was a science fiction short story about dream theatres and personal dream machines, in which users experienced "dreams" (more like idyllic fantasies) concocted by people deemed to have natural skill (it was a direct neural interface). The key part was that since the interface was direct, the user''s tastes and preference would "color" the dream and customize it to have greater impact on the user. The full definition of this paradigm has not been agreed on; it is a continuing search to discover what works and what doesn''t, where interactivity adds to "non-linearity" and where it detracts from it. Even the vocabulary of discussion is not finalized. We merely compare, contrast and discuss the ideas and ideals of the many here. I do not presume to be some sort of authority, or even to have the final say within the limited scope of this thread. I aim simply to stimulate thought and creativity, and hopefully to get to play/experience some of your innovative products! [ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ] Thanks to Kylotan for the idea! #### Share this post ##### Link to post ##### Share on other sites Very good points Oluseyi and well said. What I meant to emphasize in my previous post was that in many cases the ''authoring'' process occurs through the experience of whoever is interpreting the events outlined in the story. This is an idea I think has potential with respect to interactive media. Also, approaching storytelling in games with what we''ve learned from traditional media (such as writing novels) won''t lead us where we need to go. We have to adapt our tools and knowledge to embrace the unique storytelling possibilities of the interactive medium potentially offered by games. #### Share this post ##### Link to post ##### Share on other sites quote: Original post by Tacit Very good points Oluseyi and well said. Thank you. quote: What I meant to emphasize in my previous post was that in many cases the ''authoring'' process occurs through the experience of whoever is interpreting the events outlined in the story. This is an idea I think has potential with respect to interactive media. Also, approaching storytelling in games with what we''ve learned from traditional media (such as writing novels) won''t lead us where we need to go. We have to adapt our tools and knowledge to embrace the unique storytelling possibilities of the interactive medium potentially offered by games. I couldn''t have put it better myself. While we can learn much from existing media, interactive storytelling/media are new forms of narrative and entertainment, and we will need to develop tools, techniques and language appropriate to them. [ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ] Thanks to Kylotan for the idea! #### Share this post ##### Link to post ##### Share on other sites Oluseyi, I thought u might find this article real interesting. Its not directly about narrative interpolation but the authors concept of a ''frame'' can be applied to both dynamic plots and making intelligent NPC''s. http://web.media.mit.edu/~minsky/papers/Frames/frames.html -potential energy is easily made kinetic- #### Share this post ##### Link to post ##### Share on other sites Thanks, Infinisearch. I''ve bookmarked it for future reference. [ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ] Thanks to Kylotan for the idea! #### Share this post ##### Link to post ##### Share on other sites I''ve followed this thread with some interest, since this is similar to what I''m attempting to do with my efforts. I have a couple thoughts that I''d like to throw out. The original impression I got from this discussion was a way to interpolate the story between fixed plot nodes. Is that accurate (at least as it applies to games)? The nodes themselves are fairly static, and built into the game. In my vision of how this would work, the game itself doesn''t generate nodes, it only seamlessly presents story elements to take the player from one node to the next. At each node, elements of the player''s "style" could be analyzed, and the next set of story elements presented in a way that appeals to the player. At each node, there would be multiple paths leading to other nodes. The game designer would build a huge web of nodes, covering most conceivable activities. If a player goes off and does something totally offbase, then the system would gently nudge them towards the nearest node. In this way, the player gets a great deal of freedom, but you don''t need a HAL9000 to run the game. Is this even close to what you guys are thinking? My other thought is on state. You''ve mentioned databases for relationships and other activities. The way that I''m approaching it is with a dictionary system. Each entity in the game has it''s own dictionary, and as events affect it, entries are added to it''s internal dictionary. Some of those events just get ignored (the entity doesn''t know how to handle them), while others modify the behaviour of the entity. The nice thing about a dictionary is that it frees you from defining (and thus limiting) the types of information you can hold at the beginning. Here''s an example: Say the hero slays a dragon. In addition to whatever story specific things happen as a result, a "Deed" entry is added to the dictionary of every wandering bard within a certain range. Within that entry are things like what the deed was, where it happened, if the deed doer was wounded, etc. The bard then goes on to compose his songs and poetry from the deed information that he has. Another example is a "Gossip" entry. Whenever a certain class of events happens, a "Gossip" entry is added to anyone who witnessed it. They in turn share that entry with everyone they meet. Gossip has a time limit though, after a while the person stops sharing it. So if the player goes into a village and tries to rob someone, that will get around and affect how other people view the player. The entire state (all of the dictionaries) can be written to or read from disk at any time. Whew! That''s getting pretty far afield. Tying the two thoughts above together, the story nodes would actually be able to manipulate the state of other entities, to build the story around the player. The player''s activities would be reflected in the state of everything around them, which the system could then analyze to present the player with more of what they appear to want. I''m not sure if this is really what you guys are discussing, but this is the way that I''m approaching it in my project, and thought it might be relevent. Thanks for such a compelling topic Oluseyi! Take care, Bill #### Share this post ##### Link to post ##### Share on other sites quote: Original post by Siebharinn I''ve followed this thread with some interest, since this is similar to what I''m attempting to do with my efforts. I have a couple thoughts that I''d like to throw out. It is always in "throwing out" such thoughts that some are inspired. quote: The original impression I got from this discussion was a way to interpolate the story between fixed plot nodes. This is a fairly accurate description of how the system I envisaged stands right now - at least theoretically. The key thing is, though, that I''m not trying to impose any specific intent upon it. I want this to be a melting pot, for different people to leave this discussion with different ideas and for those ideas to be implemented in different ways. Everything that adds to the interactivity, non-linearity and non-deterministic nature of electronic entertainment is a definite bonus for us all. In my current version, I don''t have the gentle nudges to get the user back into the story, but that would be a logical extension/modification/feature for videogames (you don''t want a user to think your game sucked because he never ventured in adventure''s direction, the ass!) quote: Is this even close to what you guys are thinking? Heck, i''d say it was spot on! quote: My other thought is on state. I like the "deed" and "gossip" systems, and briefly discussed something similar. Such background relationships are crucial to truly bringing environments to life with people that the user can enjoy interacting with. Being able to seek hospitality at a nobleman''s court only to find that your reputation has preceded you, and that the local bards have embellished your deeds so that you''ve now killed an entire brood of dragons rather than one - with no shield and only your trusty sword! Ah, I love this stuff! quote: I''m not sure if this is really what you guys are discussing, but this is the way that I''m approaching it in my project, and thought it might be relevent. I feel you''ve given us some very practical scenarios within which to consider the applications of the techniques we''re discussing. I''ll probably refer back to your examples frequently from now on. quote: Thanks for such a compelling topic Oluseyi! Thanks to all for being such a receptive and intelligent community! I''m just trying to give a little back... [ GDNet Start Here | GDNet Search Tool | GDNet FAQ | MS RTFM [MSDN] | SGI STL Docs | Google! ] Thanks to Kylotan for the idea! #### Share this post ##### Link to post ##### Share on other sites The chief problem I see with this approach is that the resulting story/narrative will have little to no life or pizazz whenever it veers away from the pregenerated content/storyline. Yes, it will be able to nudge you back towards one or more of the author's intended story arcs, and it might even generate believable dialog, given that the B characters are all on drugs, or had lobotomies, but I think it would be challenging to get the story to be truly dynamic. At best, this will be analogous to the expert system that listens to 100 Mozart pieces, builds itself a Hidden Markov network, and then spits out a million inferior pieces that sound like what Mozart would produce after he had a stroke. Yes, it will indeed capture his style, but it will not string it together in anything better than a probabilistic construction. The psychological heuristics that distinguish this from the real thing will be absent. In the end, the more human-generated content you feed this thing, the longer it will be able to improv on it before the player sees the man behind the curtain. The scary part is that I think you COULD use something like this generate the scripts for any Aaron Spelling television show or the more recent Star Trek series. I remember a madlib program from 20 years ago that didn't do a half-bad job generating plotlines for network television. Edited by - varelse on January 28, 2002 1:23:16 PM #### Share this post ##### Link to post ##### Share on other sites quote: Original post by varelse The chief problem I see with this approach is that the resulting story/narrative will have little to no life or pizazz whenever it veers away from the pregenerated content/storyline. I disagree. This is not a computer science experiment; the field of interactive narrative has professionals from literature, theatre and film, liberal arts academics and computer scientists collaborating and sharing information to build reasonable models. You're thinking purely in terms of existing technology rather than trying to find the limitations of such systems and solutions to those limitations. [Edit:] For propriety. [ GDNet Start Here | GDNet Search Tool | GDNet FAQ | MS RTFM [MSDN] | SGI STL Docs | Google! ] Thanks to Kylotan for the idea! Edited by - Oluseyi on January 29, 2002 5:28:57 PM #### Share this post ##### Link to post ##### Share on other sites quote: Well aren't we cynical? No, "we" plan to ship something in the next year or two. I looked into Author. Beyond its superior use of pronouns, it's not all that far beyond SIR from the Minsky lab. quote: I disagree. This is not a computer science experiment; the field of interactive narrative has professionals from literature, theatre and film, liberal arts academics and computer scientists collaborating and sharing information to build reasonable models. Your point? Does that mean if I put a digital watch and some nuclear material into a microwave oven and turn it on, then I can travel back in time? Putting a bunch of "experts" together achieves little on its own IMO. Exactly why is this going to make a difference other than to create a lot of sound and fury? quote: You're thinking purely in terms of existing technology rather than trying to find the limitations of such systems and solutions to those limitations. OK, here's the problem. Have you seen one of these contraptions tell a joke? Have you ever seen an original creation from one with more life in it that See Spot Run? I think there's quite a bit of use for this technology in bending an existing storyline to better fit the actions of a player (as in make the story come to him rather than vice versa), but call me a human-chauvinist, I've never seen an act of artistic creativity arise from a computer (yet). So I looked into the claims of "believable dialog." Let's see what the state of the art, Author, can put out: "Hello," greeted the wolf, who was a cunning looking creature. He asked, "Where are you going?" "I am going to my grandmother's house," she replied. This isn't real dialog IMO. This is an oral recitation of facts from a database. This is dialog (IMO of course): LEONARD Beg my forgiveness! Beg my wife's forgiveness before I blow your brains out! TEDDY Leonard, you don't have a clue what's going on. You don't even know my name. LEONARD (triumphant smile) Teddy! TEDDY You read it off your f*$k!n6 photo. You
don't know me, you don't even know who
you are.

Can you tell the difference? Because your audience sure can. If you use something like Author (or some sort of spinoff) to generate your dialog, you're going to end up with something with the life of an Ed Wood script, and people purposely imitating it in order to make fun of it:

LEONARD
I want you to apologize, then I will shoot you
with my gun.

TEDDY
Do you know what my name is?

LEONARD

TEDDY
Did you know my name is on the photograph?
You have amnesia.

Tell me the data structures and interface you'd create in order to allow a writer to imbue a script generator such that it could spit out the human-generated dialog fragment above without having every single element of each scene spelled out to it in more detail than writing the scene itself and you'll have a convert. Until then, yep, color me skeptical.

quote:
I'll stop before I say something truly unretractable.

Now this is truly puzzling. We both have the same goal here: creating a believable narrative. However, I think you're buying too hard into a dream that's just that for now. Small steps are important, and Author definitely constitutes a small step, but we are far, far away from generating a halfway interesting story by computer.

Edited by - varelse on January 28, 2002 3:31:53 PM

##### Share on other sites
quote:

Tell me the data structures and interface you''d create in order to allow a writer to imbue a script generator such that it could spit out the human-generated dialog fragment above without having every single element of each scene spelled out to it in more detail than writing the scene itself and you''ll have a convert. Until then, yep, color me skeptical.

Obviously we''re not there yet. But we won''t ever get there if someone isn''t willing to TRY and get there. You''re basically saying that it can''t be done, so don''t try. If the rest of the industry had that attitude, we''d still be playing pong.

In my project, I''m not attempting to auto-generate dialog. What I''m trying to do is to select the best pre-written dialog based on the actions of the player. The story is written in fragments, and those fragments are strung together in a way that''s (hopefully) more meaningful than forcing a simple linear story on the player.

Take care,
Bill

##### Share on other sites
quote:
Bad analogy. The point is that those individuals have certain knowledge that they can contribute, while individuals outside those disciplines can adapt and apply that in innovative ways.

From 10 years in academia, I can sadly assert that putting together individuals from disparate fields generates sound and fury, but little more. The artists have all sorts of crazy ideas, but no clue which ones are practical, and the techies won't understand a word of what the artists are getting at. It's like herding cats. You'll see: it's a valuable learning experience.

The people that step into catifghts like this and produce magic are the rare ones that are both artistic and technical. But there just aren't that many James Camerons or Orson Welles in this world.

quote:
I can't understand your fixation on Author either. I don't use Author; in fact, I've never even evaluated it, and I'm not in the least bit interested in it. Author was an example of primitive applications in a new field. The objective here is to test the limits of imagination, tethered by the reality of existing knowledge to come up with creative new models, tools and applications. It's not to help you ship your fucking title.

Actually, you brought it up in the initial post to this thread. It's less a fixation as it was an evaluation. I'm looking for cool tricks. It didn't impress, but the creator was definitely clever, and some of his tricks might make it into my own pet project.

quote:
If you actually read the posts, you might have noticed that we're not simply interested in text generation. We're interested in representing situations and events, and the relationships between them; in modeling interaction between non-central characters in such a way as to provide a believable context for the story. It is this context that will provide the additional information necessary to generate believable narratives.

And this is where we diverge and yet agree. The marines and the Covenant characters in Halo construct quite convincing narratives for themselves based on a combination of canned content and a great state machine implementation. In particular, the aliens charge you, they run from fire, they group attacks, and they wait until you're close and then lob a sticky grenade at you. Meanwhile, they have a huge pregenerated set of insults and taunts. The illusion is quite convincing for a few hours. Then it starts repeating itself and it breaks down to just really nice combat AI.

Any advance that reduces the combinatorial explosion in creating the above canned content or extends the life of it for NPCs is indeed an advance. Setting story nodes and then gently nudging the protagonist back to the story nodes whenever he strays for too long would also be an advance as it could cut down the aimless wandering that plagues so many RPGs. It's the same sort of thing a good Game Master would do. Generating events that will do this ought to not be so hard. Getting a sense of when and how to do this is the devil in the details that IMO will require human involvement for some time yet.

quote:
Factor in advances in AI - neural networks and learning systems capable of understanding/assimilating the tenets of human emotion as well as the methods of representing them textually to an audience, and we might have something worthwhile.

Neural nets are 40+ years old! Little has happened with them in this time other than a few refinements on experiments done 30 years ago. And if you create a system capable of understanding and representing human emotion, you'll be a legend. But there's a good reason it hasn't happened yet. Chris Crawford has spent over a decade on this and Will Wright neatly trumped him comparatively overnight with _The Sims_ IMO. Note that the latter had the pressure of actually producing something rather than whittling away his days eating lotus root. It's much like the space race: the right amount of pressure can really focus the mind.

quote:
We don't have the same goal. I don't, frankly, give a flying fuck about the next narrative. I'm interested in developing a technology that may take years to mature to any reasonable level, but one that has the potential to revolutionize the interactive entertainment experience. If every time an idea popped into someone's head they said "well, this is so far away from being useful - I'm buying too hard into a dream yadda yadda", where the fuck would you be? No car. No computer. No pencil. No electricity.

If every time an idea popped into your head, you spent 5 years chasing it, you'd be dead before you reinvented the wheel. And that's where the bullshit detector distinguishes a dreamer from an inventor. If Edison had spent his life trying to perfect a warp drive, we wouldn't have the light bulb, the phonograph, or motion pictures (well, we probably would have them, but not from him). Dreamers are all sound and fury. Inventors change the world.

quote:

False advertising at its best it would appear...

Edited by - varelse on January 28, 2002 5:29:42 PM

##### Share on other sites
quote:
Original post by varelse
And this is where we diverge and yet agree. The marines and the Covenant characters in Halo construct quite convincing narratives for themselves based on a combination of canned content and a great state machine implementation.

Consider this idea (which I have also proposed on these boards somewhere):
There exist rules-based text-to-speech (TTS) engines, but they provide rather poor voice quality. On the other hand lie concatenative speech synths, which "smush" prerecorded words together to construct sentences. I propose a middle road, where the rules-based approach is applied to prerecorded allophones (phoneme transitions) to generate coherent speech. Emotion can be applied through annotations (often implemented as waveform modulation), a practice that is already widespread in the TTS community. Coupling this speech synthesizer with a comprehensive dictionary, a "thesaurus" (to allow the AI generate similar-but-not-identical statements and a decent state machine, it would be possible to create in-simulation NPCs that converse in significantly more interesting fashion than the current crop of repetitive drones.

Fantasy? Not only is this idea very workable (one of my former employers had a rules-based engine that could switch language and voice parameters on the fly, for 13 languages at the time I was there - all within 4KB and in real-time), but it is applicable to the matter being discussed here.

quote:
[If] you create a system capable of understanding and representing human emotion, you'll be a legend. But there's a good reason it hasn't happened yet. Chris Crawford has spent over a decade on this and Will Wright neatly trumped him comparatively overnight with _The Sims_ IMO.

Perhaps the secret lies in following the Will Wright approach and approximating these ethereals rather than trying to completely represent them? Perhaps extending that approach to the topic of discussion will yield near-immediate, useful results?

quote:
If every time an idea popped into your head, you spent 5 years chasing it, you'd be dead before you reinvented the wheel. And that's where the bullshit detector distinguishes a dreamer from an inventor. If Edison had spent his life trying to perfect a warp drive, we wouldn't have the light bulb, the phonograph, or motion pictures (well, we probably would have them, but not from him). Dreamers are all sound and fury. Inventors change the world.

To be an inventor, one must dream. One must then attempt to concretize one's dreams by expressing them in logical terms, after which one attempts to implement them. Should initial attempts fail miserably, one may choose to persevere, postpone or just plain give up. Alexander Graham Bell never built the hearing device he promised his deaf wife, but in its pursuit he developed the telephone. And maybe we will not complete this, but it may inspire us (or even others) to build other tools and systems, and if that is the case I shall consider my life well spent.

Ideas are born to be shared, to be expressed and pondered and examined. We reject thousands of our ideas each year - well, at least I do. Spending time examining some is not a loss, but a gainful pastime.

[Edit:] For propriety.

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ | MS RTFM [MSDN] | SGI STL Docs | Google! ]
Thanks to Kylotan for the idea!

Edited by - Oluseyi on January 29, 2002 5:31:00 PM