Archived

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

Oluseyi

Narrative interpolation

71 posts in this topic

quote:
From 20 years living with 2 academics in a residential academic community, I can tell you that you ar asbolutely right - provided the academics in question are narrow minded and myopic.


We are all narrow-minded and myopic about some things: it''s just a question of realizing where we''re not that makes the difference. I confess upfront that the techie side of me tends to express stories in terms of objects and events, which is the first problem that needs to be solved with automated story generation. However, this outlook served me well when designing games without storylines: I have a great instinct for building worlds with a high fun-factor (something easily expressed by objects and events).

However, I''m putting much more effort into understanding character now that I''ve decided the next project will tell a great story. How that turns out is an incomplete experiment at this time, but I have plenty of artsy friends smacking me around at the moment because I''m finally stumbling around on their home turf. And I even have a backup plan should I fail: several of them offered to write it for me, but where''s the journey in that?

quote:
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.


That''s a great idea, I''d only question what the transitions between segments sound like when one tries to express a character under duress with such a tool. Since one of your former employers has implemented this, how did it sound? The remaining problem is giving them something interesting to say, and there you run into the barrier between reciting facts like a glorified database ala Author and acting human.

quote:
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?


I''d insist that you need to approximate these ethereals in a way that leads to good gameplay, lest you wind up like Chris Crawford did when he didn''t see the value in the _Balance of The Planet_ review that called it a "work of art" that just wasn''t any fun. There has been a disturbing trend in the past few years to forget F U N as the primary element of games in an attempt to elevate them to art. Once the fun is gone, it''s no longer a game IMO. Interactive, sure, a game, nope.

quote:
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.


I''m ravenously filtering ideas at the moment myself. I change my mind at a moment''s notice. Then after all the factions in my head have battled it out, I put the aluminum foil helmet back on and write something.

quote:
"Those who can''t do/don''t know shit, bitch." - Dwight Yorke, Manchester United (paraphrased).


Alas poor me, never finished anything
0

Share this post


Link to post
Share on other sites
A mud called PhysMud does remarkable event -> text translation. The resulting descriptions are detailed enough to be immersive, and don''t appear to be computer generated. So I believe this can be done satisfactorily, providing the underlying structure is available.

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

Share this post


Link to post
Share on other sites
varelse:

Now that you seem to have capitulated to a more constructive criticism approach, fire at will!

(Oh, and don''t take the Dwight Yorke dib personally; I always have to respond to verbal challenges. You''ll get to know this about me if you hang around here a bit.)

My former employer''s TTS, while very intelligent in ways that the competition wasn''t (correctly interpreting dates, measurements, acronyms etc) sounded flat and devoid of emotion. The voice also sounded very robotic (the actual waveform generation was implemented using certain libraries whose author I can''t recall, which simulated the motion of air through human vocal and nasal cavities). One of my primary modifications is to use the pre-recorded allophones to achieve more "human" sounding. The limitation to that is that you will need to have a person record all the allophones for the given language, but that''s much better than recording an entire dictionary!

I''m looking into making it possible to have an "accent dictionary" in addition to the lexical dictionary, to allow us programmatically simulate interesting combinations like a French person speaking German. What do you think?

My pet project "showcase" for this technology is a commentary system for sports games (starting with basketball). Since this is very limited context, it will be easier to provide enough content and context for the commentary not to be repetitive (using a grammar-based text generation and a spoken words state machine, so we don''t use the same phrases several times in a row except as emphasis). It''s still in the conceptualization stage, but I expect to make significant progress over the next month.

As a final tidbit, a classmate and I are exploring the possibility of writing a paper on all of these ideas collected into a coherent whole. I''ll let y''all know how that goes.

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

Share this post


Link to post
Share on other sites

It amazes me how people who program study abstraction but don''t apply it to general life. All knowlege interrelates, and people who concentrate in only one thing can never go beyond a certain point because they lack the creativity to create. I don''t know about anyone else but varelse leave your credentials at the door. The furthering of any field can happen gradually, suddenly, or even accidentally. It can occur from a person who has never even studied that field before. Why?because that person approaches the problem with no preconceptions and will bend there mind to the fit the problem and not the other way around. If u only use what u learn in the context of what u learned it in, u will not innovate.

Lets bring up a fundamental rule taught to people of a engineering background, feedback. So far in this thread we have only covered abstract data structures, and relationships. We haven''t got to the UI abstaction yet, more specifically user feedback. IMO it is as important if not more important than the underlying data structures. Have u ever read a story to a child? The difference between a ''good'' performance and a bad one could be as simple as the way u speak, or changing the main character name to the childs name. The feedback loop between two human''s in a vocal narration is complete. It involves the intrinsic nature of our existence, our five senses. It involves the communicative nature of each of those senses. If I took a professional narrarator and have them ICQ me a story, wouldn''t that take away from the narrative.

For a computer to fully be able to evoke emotion, it must be able to both understand them, have the abililty to properly convey that emotion, and have the feedback to interpret the users emotional reaction. When I say understand them I don''t mean feel them. I know i''ll catch alot of flack for this but, emotions are logical . Given enough information you can predict what a person will feel given a certain situation.

-potential energy is easily made kinetic-

0

Share this post


Link to post
Share on other sites
quote:
It amazes me how people who program study abstraction but don''t apply it to general life. All knowlege interrelates, and people who concentrate in only one thing can never go beyond a certain point because they lack the creativity to create. I don''t know about anyone else but varelse leave your credentials at the door. The furthering of any field can happen gradually, suddenly, or even accidentally. It can occur from a person who has never even studied that field before. Why?because that person approaches the problem with no preconceptions and will bend there mind to the fit the problem and not the other way around. If u only use what u learn in the context of what u learned it in, u will not innovate.


I rather prefer the adage "In the fields of observation, chance favors only the prepared mind", which of course came from a techie, so it must be suspect, eh?

For example, no one is going to walk off the street with zero musical background and write the successor to a Mozart concerto: that just doesn''t happen. What can happen is that a prodigy can pick up the rules an order of magnitude or more faster than the best in the field and do so within a decade wherein most of the best would need to spend a lifetime on it. I''m married to such a prodigy: I have firsthand experience watching this process and I''m in awe of it. But even she spent most of her childhood playing many musical instruments before a 10-year diversion into the hard sciences.

There are patterns and rules for any field that require a great degree of study before inspiration is of any use whatsoever. People can and do come in from the outside, look around, find an analogy to something they''ve already studied, and turn a field upside down. And that rocks when it happens because they''ve exercised our greatest advantage over computers: non-linear pattern matching. Capture that in a computer, scale it with Moore''s Law, and we''ll be on our way out of the solar system in under a decade. Vernor Vinge has termed this sudden burst in intellectual power the singularity. But that''s a tangent, just like your observation, and this reply.

I''ve made my living jumping from field to field back to the very beginning. I have no formal training in Computer Science or Engineering whatsoever. I am flattered that you have concluded that I must have majored in such a field. And you''re right, all knowledge can interrelate, but the domain-specific knowledge required for greatness is usually too esoteric to do so. Interrelated knowledge will at best make you "good" at something, not great.

And if you have the counterexample wherein a rube walked out of the country, took one look at a great unsolved problem, and spat out the answer, I''m all ears.
















0

Share this post


Link to post
Share on other sites
quote:
(Oh, and don''t take the Dwight Yorke dib personally; I always have to respond to verbal challenges. You''ll get to know this about me if you hang around here a bit.)


No offense taken, it was such an absurd statement to apply to me that I was mostly amused, and merely presented one of my more recent counterexamples. If you find out more about me, you''ll find I''m all over the map.

quote:
My former employer''s TTS, while very intelligent in ways that the competition wasn''t (correctly interpreting dates, measurements, acronyms etc) sounded flat and devoid of emotion. The voice also sounded very robotic (the actual waveform generation was implemented using certain libraries whose author I can''t recall, which simulated the motion of air through human vocal and nasal cavities). One of my primary modifications is to use the pre-recorded allophones to achieve more "human" sounding. The limitation to that is that you will need to have a person record all the allophones for the given language, but that''s much better than recording an entire dictionary!


That seems like quite a reasonable approach, but probably a bear for the voice actor to get perfect. Do you have any samples of this thing in action out there? I worry that this approach has been around for a while (I remember the cheesy JFK speech made from samples of all his other speeches), and if there weren''t subtle (or perhaps obvious) obstacles, I would think it would be in wider use by now, so I would look deeper into its implementation before concluding it''s anything more than promising.

quote:
I''m looking into making it possible to have an "accent dictionary" in addition to the lexical dictionary, to allow us programmatically simulate interesting combinations like a French person speaking German. What do you think?


If the former approach works, the latter seems reasonable as well, though there might be some weird succession problems for phonemes not present in French, but they''re supposed to sound wrong, right?

quote:
My pet project "showcase" for this technology is a commentary system for sports games (starting with basketball). Since this is very limited context, it will be easier to provide enough content and context for the commentary not to be repetitive (using a grammar-based text generation and a spoken words state machine, so we don''t use the same phrases several times in a row except as emphasis). It''s still in the conceptualization stage, but I expect to make significant progress over the next month.


Have you ever played NFL2K ot NFL2K1? One of the two strongest features of these games was the running commentary. Top that, and you have best-seller. I believe it strings together sentences, more or less flawlessly. The effect is quite convincing: it''ll drone on for hours without seeming to repeat itself.

quote:
As a final tidbit, a classmate and I are exploring the possibility of writing a paper on all of these ideas collected into a coherent whole. I''ll let y''all know how that goes.


I would definitely be interested in a review paper that summarizes the state of the art. Good luck!

0

Share this post


Link to post
Share on other sites

I neither concluded or was suggesting that u had any kind of CS or engineering education, I was refering to your '10 years in academia'. There is no doubt observation and preparedness is important, but without creativity innovation is stifled. Would you agree that if you were to enter in a conversation about space-time, some people will speak on abstract levels, while others will immediately start talking about einstien's or someone else's theory as if they are fact? Others still might balance the two.

The point I was trying to make is, systems of knowlege is like playing with blocks. Every layer above the foundation is dependent on the layers below it, and if one of the lower block is found to be false or doesn't work the whole system comes tumbling down. In respect to this topic we are modeling one system to mimic another, and since as even u stated the current technologies failed in that respect don't u think it is that innovation that is necessary at the moment. 'Neural Networks are 40+ years old' and yet we are nowhere near the point of understanding or mimicing the human mind, again I ask don't u believe a shake up might be in order?

My observation was not tangent nor was yours. We are speaking of thought, creativity, and patterns, that is what this thread is essentially about. It seems to me you seperate creativity and intellectuality in your mind. Yet it is that creativity that we are trying to reproduce, and it is that creativity that will produce a system of such capability. You spoke of Edison, what about Tesla? His creative genius and ferver was that of true genius, at least IMHO. He pictured things in his head and worked from there, and he knew his invention would work. That was due to forethought and imagination, not one or the other.

quote:
There are patterns and rules for any field that require a great degree of study before inspiration is of any use whatsoever.

I must say i'm really suprised u say that and then use the word analogy in the next sentence. Patterns occur between fields more often than people care to admit or see. Domain specific knowlege can be learned at any time, the ability to see beyond and between them can be applied anywhere.

EDIT - HTML

-potential energy is easily made kinetic-

Edited by - Infinisearch on January 28, 2002 12:39:11 AM

0

Share this post


Link to post
Share on other sites
quote:
My former employer''s TTS, while very intelligent in ways that the competition wasn''t (correctly interpreting dates, measurements, acronyms etc) sounded flat and devoid of emotion. The voice also sounded very robotic (the actual waveform generation was implemented using certain libraries whose author I can''t recall, which simulated the motion of air through human vocal and nasal cavities). One of my primary modifications is to use the pre-recorded allophones to achieve more "human" sounding. The limitation to that is that you will need to have a person record all the allophones for the given language, but that''s much better than recording an entire dictionary!


Made curious by you enthusiasm, I went looking for the state of the art in TTS tonight. I was disappointed in what I found, but I suspect that means there are significant obstacles to getting this right. Unless you have evidence to the contrary, I''m fairly skeptical that this is practical right now for anything but a computer character in a game.

There were two main disappointments in this search: one, at least half the projects I found didn''t bother to put examples of their synthesis on their web pages, and two, many of them didn''t sound much better, if at all, than what I used to coerce out of S.A.M. on my Atari 800 20 years ago.

But there were a couple bright spots: AT&T''s Natural Voices web site has some of the best (and worst) synthesis I''ve heard. The highlight is a web page allowing you to submit 30 word sequences for immediate synthesis: instant juvenile fun. I wouldn''t use any of these voices in a game, but I''d definitely make crank calls and ransom notes with them (jk), and that''s gotta be good for something.

And here''s a nice list of speech synthesis projects so you can make your own mind up.

I needed to look into this anyway. I think you''ll need to use larger fragments than allophones for your task. But since RAM is so incredibly cheap these days, this ought not to be much of a hardship, especially if you''re limited to a specific domain such as sports commentary. Good luck!





0

Share this post


Link to post
Share on other sites
quote:
I neither concluded or was suggesting that u had any kind of CS or engineering education, I was refering to your ''10 years in academia''.


Ah, the problem there being I don''t consider ''10 years in academia'' to be a credential of any sort, but more a raging sign that I didn''t know what to do with my life for the longest time. I cited it in order to convey the idea that I''ve been around a lot of academics, and besides heavy drinking and arguing over esoterica, I didn''t see them do much else than write grants to keep the band playing. I''ve heard the situation is a bit better in Europe.

quote:
There is no doubt observation and preparedness is important, but without creativity innovation is stifled.


Who''s stifling creativity? Quoting Chris Crawford:

"A fantasy universe can be fragmented or inconsistent, because human desire is often fragmented and inconsistent, but a dream universe cannot be so self-indulgent. A good dream universe is a complete image, not a partial sketch. Every detail of the ideal is clearly specified, every consequence worked out. Only when we know precisely where we''re going can we begin planning how to get there."

I think this summarizes what I''ve been trying to express in this thread nicely.

quote:
Would you agree that if you were to enter in a conversation about space-time, some people will speak on abstract levels, while others will immediately start talking about einstien''s or someone else''s theory as if they are fact? Others still might balance the two.

The point I was trying to make is, systems of knowlege is like playing with blocks. Every layer above the foundation is dependent on the layers below it, and if one of the lower block is found to be false or doesn''t work the whole system comes tumbling down.




Yes and no. Here are two simple examples: the central dogma of molecular biology for decades was DNA->RNA->Protein, a one-way street. Then along came retroviruses, and it turned out they could pull a U-turn at RNA. There was a lot of bickering, aome wounded egos, and then they called in the interior decorators to fix up the house and the field continued onward. More recently, Stanley Prusiner was dismissed as a crank for a decade for insisting prions were effectively genetic material encoded as protein. It turned out he was risht, but it took a bit of a mindshift to figure out how and why he was right. In both cases, the remainder of molecular biology kept right on chugging even though these exceptions were both staggering.

You seem to see everything as a dichotomy: it''s either status quo, or Martin Luther nailing 95 theses to the door of the Wittenburg Church. The reality is more a continuum: Legos as opposed to building blocks. You can pick at the foundation quite a bit without bringing the house down.

quote:
In respect to this topic we are modeling one system to mimic another, and since as even u stated the current technologies failed in that respect don''t u think it is that innovation that is necessary at the moment. ''Neural Networks are 40+ years old'' and yet we are nowhere near the point of understanding or mimicing the human mind, again I ask don''t u believe a shake up might be in order?


The shakeup could happen at any time, but I''m not expecting it any time soon. Why? Because a lot of smart people have spent entire careers on this without solving it. And that''s in an age where there are vastly more smart people with the opportunity to apply themselves to such a problem, as opposed to the days when only the privileged class ever had time to consider such things.

quote:
You spoke of Edison, what about Tesla? His creative genius and ferver was that of true genius, at least IMHO. He pictured things in his head and worked from there, and he knew his invention would work. That was due to forethought and imagination, not one or the other.


Why not take this to its logical extreme, and simply bring up Edward Leedskalnin as the ultimate counterexample? But even his work took decades: plenty of preparation there.

quote:
I must say i''m really suprised u say that and then use the word analogy in the next sentence. Patterns occur between fields more often than people care to admit or see. Domain specific knowlege can be learned at any time, the ability to see beyond and between them can be applied anywhere.


Sure, my wife the prodigy was once a mathematician specializing in group theory. One Summer, she did a stint in an X-Ray crystallography lab. She saw a pattern between her own work and how protein crystals form. Within a couple months, she had reduced 20 years of the research of others into a simple 3-term equation. She published, and turned the field upside down. But even she would concede her mind was prepared for it. It was the chance encounter of an analogy that allowed this to transpire. She also got lucky that literate and creative mathematicians were a rarety in crystallography.

I did something on a lesser scale a decade ago wherein I reduced an O(n^3) calculation performed by biologists down to O(n). But that was by seeing an analogy between how computers work and what the calculation was actually measuring as opposed to slavishly following the mechanics of the calculation itself. And it was in an age where computer-literate people in biology were quite rare. These days, it''s a completely different story with the rise of bioinformatics. But I got there first.

The overarching problem is stuff like this doesn''t happen every day. These are highly unlikely events and the only way to encounter them is go looking for them. Lots of really smart and creative people have gone fishing around trying to model the human mind. They got their nibbles, a few bites, and then nothing ever since. The odds are staggeringly stacked against us truly figuring this out at this point IMO.

An aside: Mathematicians as a group bemoan the difficulty in finding things to prove that haven''t already been proven. All that''s left these days are the Goldbach conjectures and the Riemann hypotheses. And that''s enough to drive someone nuts.

Blatant opinion: I suspect it will all come down to _The Halting Problem_ mentioned in other threads: we simply are not intelligent enough to understand our own intelligence. And some day, something highly unlikely will happen on a machine and it will bootstrap its own consciousness into being much like we likely did 200 million years ago or so. And the irony will be that the machine will not be able to know itself either, but it will build a bigger machine, and so on, and so on.

0

Share this post


Link to post
Share on other sites
I intend for this thread to last at least the entire semester, being updated as ideas come and discoveries occur, so please take all tiffs somewhere else.

In fact, if things get any more counterproductive, I''ll start deleting/editing incitive posts (starting with mine). I know it''s abuse of my priviledges, which is why I''m appealing to everyone to show some restraint. Thanks.

And now, I''ll go set an example by deleting all my outbursts.

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

Share this post


Link to post
Share on other sites
quote:
Original post by Oluseyi
And now, I'll go set an example by deleting all my outbursts.
That really threw me off, I just read through the last nineteen posts and couldn't find half of the quotes people had of you. Your outbursts are quite plentiful

On a more related note, I have been doing extensive work on graph structures lately (in computer science), and I really think that the process of narative interpolation could be implemented quite smoothly using graphs. The trick lies in storing information in the Links .

To use a basic example, let us imagine a game world of four rooms. From every room, you can move to any other room in the world.

each room contains a StoryNode:
    
// FlagSet struct is just a large binary string

struct FlagSet
{
/*
Implementation specific, but this should take the form of event scripts in binary, or references
to files that contain them.
*/
};

// StoryNode class defines a location and settings which are linked to it (flags and the like)
class StoryNode
{
private:
StoryLink linkages[3]; // explained later
FlagSet NodeState;

/* OTHER STUFF, implementation specific */

};

The room where the player character starts may contain some enemies or some NPCs of a friendly sort. Interactions cannot affect StoryNodes that are outside of the room (the NPC's influence space), but the NPCs can affect any connected StoryLink:
  
// StoryLink class has a list of information to travel to the StoryNode it points to

class StoryLink
{
private:
StoryNode * Target;
FlagSet Contents;

/* implementation specific */
};

So lets say the PC is in room one, there is a townsman in the room with him, in room 2 is a bard, in room 3 is a beast and in room 4 is the inn.

The PC speaks to the townsman and tells him that he is going to kill the beast. The townsman is impressed and gossips about it. the gossip takes the form of a change in the flagset in the StoryLinks to rooms 2, 3 and 4 (however, the beast is the only game entity in room 3, so it's effects there are minimal).

The PC then goes to room 3 and kills the beast, and subsequently goes to the tavern in room 4 to rest.

If the PC took long enough to fight the beast, the bard would travel to room 3 and see it, and then go to room 4 and embelish on the tale. Then the PC would get free housing and food, otherwise, the bard would get there late, and the PC would have to pay the normal amount.
This is a menial example, but what's important is the implication of events.

An Event would be described in the FlagSet for any particular StoryNode in the game, and it's repercussions would not affect other nodes directly, but rather any connections that exist. The completion of a connection must be conditional, in order for the bard to embelish on the PC's feat enough, he must have travelled to room 4 first, and also have been there for a certain amount of time. It might be wise for the PC to visit (hitherto unmentioned) room 5 which contains a blacksmith who will spend time repairing the PC's equipment. The blacksmith may have previously heard about the PC's intent, and will ask how the fight went.

If the PC never told anyone, and a passerby saw the whole thing, then maybe he would have a similar (but delayed) effect as the original townsman. Or perhaps, if the PC is already famous, people would actually come to watch.

This is all trivial however, the real reason this implementation is useful is that the game only checks through currently active StoryLinks (those connections which contain a non-empty FlagSet). This could be accomplished by having another object contain a list of all non-empty StoryLinks. I don't expect that the game would process this information for every iteration of the game loop, but it may well be done quite often.

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

[Edit: Just made sure source doesn't extend wider that page.]

Edited by - Oluseyi on January 30, 2002 7:56:54 PM
0

Share this post


Link to post
Share on other sites
quote:
Original post by Symphonic
Your outbursts are quite plentiful

*BG*

quote:
On a more related note, I have been doing extensive work on graph structures lately (in computer science), and I really think that the process of narative interpolation could be implemented quite smoothly using graphs. The trick lies in storing information in the Links .

Precisely! Just yesterday I was discussing methods of representing relationships between NPCs. My contemporary was saying that there would be very complex networks of interrelationships from NPC-to-NPC. I pointed out to him that if the relationships were stored externally, in either directed or undirected graphs, not only would less information need to be stored but fewer tests/searches/updates would need to be done. Currently, I see it as having each link contain data about the relationship as well as two identifiers specifying which "nodes" are at each of its ends.

I like your description of Events; it parallels my idea of how to represent relationships. In other words, be should be able to abstract such representations into a base case. As for processing only non-empty nodes, not only do I agree but I took it a step further to not even having empty nodes in memory (I''d like them to be asynchronously loaded/unloaded, with important changes being aggregated and then iteratively applied.

Good job. (I''ve got to go - Magic are playing Lakers in Orlando!)
0

Share this post


Link to post
Share on other sites
This inspired me:
quote:
The difference between fighting someone in a boxing match and fighting someone who doesn''t expect or "deserve" it is that the second action is cruel. Boxing is violent; bullying is cruel.

Basically, I feel that the idea has to come across that when you''re killing or causing harm to something in a game, that it''s for a justifiable reason (i.e. the person/creature has done something to deserve it). This is how most people define the difference between a police officer or a soldier killing someone and a regular civilian doing the same thing.

Another aspect is the amount of force used. Example: killing someone who attacks you is justifiable; capturing them and torturing them is cruel. I think a lot of people would consider it inappropriate for the second to appear in a game.
With this thought:

[Entity] := [Person] | [Person][Entity]

[Person] := {member of a Sentient race}

Each entity in a world has a mapping of links to other entities. Each link carries relevant information: What do I think of this entity? I am more/less powerful than this entity.

A Society is a set of directorates, defining rules of engagement between entities which follow that Society.

An Entity which conforms to a certain Society will judge the actions of another Entity, by comparing the actions to the rules.

An Entity which conforms to a Society will try not to break the rules of that Society when making decisions about its actions. Unless pressed by more powerful internal forces, which can be mapped from the 36 basic storylines (jealousy, threat on one''s life, threat on a child).

QCS?

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

Share this post


Link to post
Share on other sites
Whoa, Greensboro, I live in Charlotte, would you know
if that class is taught here.

Pardon me, I haven''t read all the posts yet, so perhaps
someone has made the correction.
Waaaayyy back on the first page of this highly interesting
thread was an anonymous poster,

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.


Here''s my problem, our dear and wonderful mod was talking
about plot. The ap was talking about story. They are different.
The mod is right about plot; the ap is right about story.
There most certainly is a structure to a story.
One of those elements is a plot. In support of my argument,
we call plot twists the unexpected events. Please notice I
say events.
Shrek is a good example. The story is one that we''ve seen
before. The plot twist(an event or you could say a condition)
was that the princess was cursed to look like a human. There''s
another problem, the curse was a condition but was revealed
in an event so to me it still fits my definition of plot twist.
Even if such a plot twist can only be defined as a condition
and has no chance to be defined in any way as an event it
would most likely then be called a premise, which is part of a
story and affects a plot. By a strange coincidence I actually
know what the two relationships are called-being a part and
affecting something, I''d have to look it up though. Find
WordNet, read the documentation and you''ll know what I mean.

Also, I think that MMORPGs seem to be very much like the
''millieu'' stories the ap also mentioned.

I believe I actually have a pertinent question though, what
would be easier to implement in a game, the original idea of the
post or something close to it as has been suggested, or
something akin to a massive a-life exercise. I suppose the
posted idea would be good for RPG''s and the second for
MMORPG''s or perhaps simulated MMORPG''s(where the characters
are all NPC''s instead of avatars and you don''t go online).
0

Share this post


Link to post
Share on other sites
Sorry I haven''t responded to this in a while; I''m up to my eyelids in work. I just want y''all to know that I''m paying close attention (good distinction between "story" and "plot"), and have some updates to share as soon as I can find a few spare hours to marshall my thoughts. For example, we had a guy from some film school last Friday at the Ashy Dialogues and we discussed a lot of interesting thematic elements - some pertinent, some irrelevant, all interesting.

Hopefully, I''ll be able to provide details soon (maybe this weekend).

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

Share this post


Link to post
Share on other sites
Time to ressurect this thread.

To summarise:
  1. The grand objective is to create a theoretically sound and complete system whereby plot elements and choices can be coherently presented to the player/user so as to form a consistent and entertaining narrative. Other than the overarching use of directing the user''s experience in the virtual world, this could find application in spreading the user''s fame within the world, in conveying information (with appropriate hyperbole, exaggeration and inaccuracies) from one part of the virtual world to another, or from one character/group of characters to another.


  2. There are the two approaches of "aggressive" and "passive" furtherance of the user narrative. The aggressive school of thought contends that the story should be "brought to" the user if the user does not seek out the story. In the context of games this is highly logical because story-driven games usually have some form of definite objective. The passive camp holds the alternative opinion that the users should be free to simply explore vast vistas and the environmental interactivity, and ignore the "quest" if they so desired. Both approaches are valid, and I borrow from both in constructing my viewpoint.


At this point it becomes necessary to introduce at least one example scenario to concretize discussion.
Assuming the oh-too-familiar medieval setting, our hero is a rustic woodsman. There is a broad threat of impending doom, hereinafter referred to as the Menace. By some "twist of fate" (aka designer technique to draw user into quest), the user is given motivation to pursue a course of events that will lead, eventually, to the Menace, with the obvious objective being to destroy said Menace. A nice, familiar example is the brutal butchering of the hero''s family and a desire to see justice done (not revenge!)

At this point the narrative splits into the aggressive path of seeking out the perpetrators of said ghastly act, and the passive path of retreating into the countryside, healing emotional wounds, remarrying and building a new family. Since we desire flexibility and non-linearity, we also encompass the option of remaining in the same location and taking on any job for sustenace as part of the passive path.

Proponents of the aggressive approach will then encourage that the Menace be brought close to home - say, pillaging a nearby village or having a straggled visitor appear with news of sighting the murderers nearby. The villagers would then rally and encourage the user to seek them out: "Sven, you hafta do what''s right by Myrna" (Myrna being murdered wife). However, the user would still have the option to ignore the threat, though it would gradually increase until the user''s very village was occupied.

Eventually, in the aggressive approach, the user will be forced to take action (and reluctant heroes make for such compelling characters because they are so much more like the rest of us).

The passive approach would allow the user to simply remain as-is and experience the virtual world. While this approach has its merits, it doesn''t provide much "game" and therefore will not be pursued in this discussion on this forum.

Obviously, in order to motivate the player towards the designer-intended path (without resorting to "force") there needs to be a method of notification - receiving news from other places. For consistency, NPCs and locations also need to be able to react to events, and maintain a sense of history. Since actually modelling the chronological memory of every object is ridiculous (and redundant for areas never visited), I proposed the notion of an event node.

  1. Event nodes signify what happened, when, where and who was involved. The reasoning was that, and I quote
    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.


The introduction of this concept spawned a bit of discussion on the necessity of there being a "story" to drive the user back towards the goal, and the instrinsic necessity of the goal. While I at the time advocated the position that the "ultimate objective" could potentially be dispensed with, subsequent discussion led me to realize the decline in entertainment value were such to happen. Thus the modified principles of the aggressive path articulated above.

The advent of events and the concept of notification/communication then led, in other discussions, to the realization of the necessity of a means of representing relationships. Information does not randomly disperse. Elimintation means of public information such as newspapers, television and radio, information is passed person-to-person between friends, colleagues, acquaintances and the chance person next to you at the bus stop, for example.

  1. Relationships between two entities are defined as a pair of "links" where each link has properties that represent level of friendliness, respect, trust and other such qualities. Note that the values are not bi-directional! Peter liking Jane does not mean Jane doesn''t think Peter is a slut! Placing these paired links as edges in a directed graph (in which the entities are the nodes) allows secondary knowledge (Jane will talk to Billy because he is Peter''s friend, but since she doesn''t trust Peter she is also careful with Billy). A further emergent property is that the lowest-cost edge is the determinant of behavior (such that even though we would assume Jane wouldn''t like John because he''s friends with Peter and Billy, he and Jane know each other directly and independently of Peter and Billy, and as such have a great relationship). This would allow for the modeling of complex relationships and behaviors at no additional overhead. An example behavior would be hearing bad things about a close friend, and taking them with doubt since the relationship link between the primary and friend is stronger than the primary and the news source. If, however, the news turned out to be true, the loss of trust would be more severe...


These are the four core elements identified so far. Please feel free to critique this list, as always. This is an organic "document" and a product of the genius of the individuals who frequent this forum and have contributed to this discussion.

In class we will start discussing AI methods of planning and organization this coming week. As usual, I''ll keep this thread updated. A fellow participant and I are planning to write a paper based on research, analysis and discussion carried out for this class, and to attempt implementation. I''ll keep you posted.

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

Share this post


Link to post
Share on other sites
This is Symphonic''s fault; he linked to this thread from another one and I jus read through all four pages. Here''s a major update:

The course was an effective disaster. Tons of potential, completely squandered by the conceptual myopia and intellectual laziness of the professor. She would invite speakers about whom she knew nothing other than a blurb that they were involved in "interactive art" - the last lady had us sitting through a mind-numbing, parallax-scrolling Quicktime presentation of some sort that had me asleep within five minutes (and drooling on myself too!)

Then we studied the various works of her friends (the overemphasis on the works of others rather than on investigation of unique definitions and technologies is very infuriating) as well as ancillary, non-critical material such as dance, film techniques and so forth. The lady is graphics-obsessed (I fought my way out of using Alice, but I can tell she''s not pleased) and never sees "narrative" in contextually rich material presented in non-3D form (she, however, sees narrative in badly modeled and animated multicolor snowmen dancing in a circle on a red stage...)

After this week I''ll be largely free, and will start writing up my thoughts on the matter. I''ll also be implementing some of them over the summer.

[ GDNet Start Here | GDNet Search Tool | GDNet FAQ ]
[ MS RTFM [MSDN] | SGI STL Docs | Boost ]
[ Google! | Asking Smart Questions | Jargon File ]
Thanks to Kylotan for the idea!
0

Share this post


Link to post
Share on other sites
quote:
Original post by Anonymous Poster
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.




Those who teach writing are the damned.


/* what matters most is
how well you
walk through the
fire. */
0

Share this post


Link to post
Share on other sites
hello why i haven't seen this before (ok i was not here in 2002)
this what i have post on the ai forum i would like if there is some feedback from those whic have participated to this thread
it's a sum of what i have done so far


quote:
Original post by Neoshaman
i'm come back
i have extract meaningful things from my work to be post
it's a little beyond the scope of simple interlude and come to full generation of story as far as i can go with it (subjectivity and creation is my prime target)

here is the analysis
actually story generation rely on random content make coherent with a set of rule to acheive story, but if random is good for the sake of diversity and rule for the sake of coherent it's not complete enough to make interesting story (objectively), well as far computer has made thing the same complain emerge, the flatness of the content but if thinks it's due to the mechanical aproach of the problem since it's the major problem to overcome first and what we have to focus the major time
then as a art student i will add that most artist atteimpt in their world >>> conjuring of meaning
so far as humanity made art it was to express something, then art must have a meaning, meaning would be define as the relation between us and the world and between element of this world.
story then is a language to say something, this mean a syntax, the syntax is what encode the message, but analysis of the syntax doesnot help about the message, it's the message which give form to the syntax

then from actual story generation i have use one more layer >> theme (there is a higher level i would call idea which come from the experiance and lead to the message then the theme but it's not the actual focus)
what is a theme?? the theme is what a story is about, the message, the content, the experiance to share aka the SUBJECT, whithout subject the story as no focus aka no interest, a story is tied to a set of value to express, even simple one
what the theme does for the story?? it tells its problematic and then induce the dramatic tension, the problematic as to be respond and every element of the story is choose to underlign every aspect of the problematic, the theme create the discursive of the story and by the thesis antithesis create the conflict which would ended up in the conclusion (the response of the problematic), the theme create the balance of force and is responsible of all the story
the theme is express by a single question or sentence (easy> good and evil, another one could be are we important in the universe scale? or else freedom)

from the theme everythings fold, the way we choose the character, the shape of the setting, action which could be take, events which would happen and place where we would have to go...
thethings we have to understand is that all these things are symbol and sign (they convey meaning)to tell the theme and them as an articulation of the message in a syntax which the story structure
hitchcock says "remove all the mundane and you will have a great story" or something like that, what is the mundane?? i would define the mundane as everything which is out of the topic (theme), then if the story is about mundane thing we have to remove all the heroic out of place (send into the background) the theme direct the focus, it emphazise thing about the topic while inhibit other things (well they are still here but in background or else it would not be beleivable if things act out their nature and could add a kind of depth like things is living out of the focus)
theme layer is responsible for general direction and must always deal with abstract content (love, humanity, poverty, war etc... general and universal,we would know why later) and also choose the tone and the genre

under the theme i have design three object which use the ouput of the theme processor as input (note: that the theme processor has not to be absolutly code, if the designer can do the job, everything is not to forget the importance of the theme layer)
the first object is the character processor, i would discuss it in the proper thread
the second object is the setting processor
and the third is the dna (dinamic narration automaton) which is in charge of the telling

the two first share the same layer and are build together
let's talk of the setting builder
once he theme is generate, the theme builder take the output and process the abstract theme into concrete theme
what is a concrete theme??
concrete theme is the actualisation of the abstract theme in the specificity of the settings, the settings which is the time, the place , the situation etc... (ex citizen kane a abstract theme is the seek of power and the concrete theme is becoming THE first man of press, ok there is another abstract theme among this one in the movie related to his young time, but, heh, i guess you pick the point, another one would be love (abstract) in the conquest of the farwest)
in one word >> it shape the environnement where the action would take place in order to kept the focus by using basic unit in a meaningful syntax, basic unit would be choose according to their value in a context (context and syntax is important a < b is not the same as b < a even with the same element)

then now we have the narration engine (dna stupid but it's just me)
once the setting is choose and the agent set, the story can begin
all story has a basic structure in 3 part (but we can have also the hoolywood 9part, which expand a little but 3 is really the basic)
the first part is the exposition
give an idea of the situation and presentation of important thing (the theme, preparation of the drama, presentation of the balance of force, the pov,the ambiant, etc...)

after that came the main story itself
the story begin with a crisis (a)which lauch the main action and finish with the paroxysme (b), can be define as the path from (a)to (b)
here is all the work, the dna must keep track of all action, have to kept the coherence of the story, and keep it all with the theme, he is responsible of the generation of content and scene and the organisation in a meaningful sequence, has to maintain action and manage agent through general direction (mostly by inhibit reinforce decision and objective, or by changing their state/fct), manage the tone of each sequence as well, and manage the information gathering to the player (by playing with the focus) all root with the player action and the theme restriction
everything must be the expression of the theme, all action is a related to the message and drive to the response gradually, at each step the tension must increase the unstability of the force state must increase to a dead end (paroxysme) where the conflict is at his maximum point and fill all the story space and could no more be avoided, he is the absolute expression of the message as a question, and then has to be respond in the final conflict where there is no certainty until the end of the conflict which would be the answer (or one of the possible answer) to the conflict,
the dna work the a schema of action and balance of the world which represent the state of the story (actually this schema is use with a hierachy, with the general force shema to the end character schema in each force in the balance and sub force as well which help manage the whole and retreive information, he kept also a profile of the player to plan next action to take, and work like something like an RTS for planning and a chatterbot for semantics )
the 3rd part is the conclusion and is built with the outcome of conflict as a answer to the problematic
actually their is one main goal define from the beginning set with theme, and which is scatter to sub goal in order to acheive the main goal, these are sequence and have a unity of action and semantics, they has the same 3part structure as the main goal but are smaller, they must be semantics unit and are compose with scene (unity of place and time, well mostly) they are also place to sub theme within the main theme and help deepen the action, meaning, character, setting, etc..
they have also internal conflict and obstacle

well the whole system is based HEAVILY on database, lisp freak would like it
i have try to make it the most general possible, we have just to find the basic unit of each part and system and give them a semantic value unit as well

any comments?? what do you think about it??
hell it was hard because there is a lot of specific term i could'nt translate, then it can seem a little confuse (on my book , i have write it with far more detail...)

check the other thread for fictionnal character (sooner i'm tired)
oh, i will come also with a post to concretly respond on the main question of bishop >>> interlude in the simplest way

oh i will drop for a while with this (after posting) i have to focus on other matter >_< i will restart a try to find simple way to do the same in less detail fashion but still enjoyable (dinamic story using hierarchical fms only)
and i have to try to implement as well, speaking is good but making is better

>>>>>>>>>>>>>>>
be good
be evil
but do it WELL
>>>>>>>>>>>>>>>


actually i like the caracterisation into passive and agressive of approach (i was refered before on simulation vs narration)

i'm techie+artist without being any of them i'm a gamedesigner (ok soon if i made a game to validate it)
but as far i have seen lot of analogy with programmation, complex system, cellular automaton to make it (using also writer advice)

EDIT: oh! i have forget, this system is ending driven but could be turn to be never ending just like series, with the matter which remain unsolve, and is narrate with endless subplot
actually there is two kind of series i know:
those i have label complex, where the subplot add to themselves in each episode and the world grow in complexity
and those label simple , which end a subplot and restart from initial state
a complexe one could be like the anime INUYASHA while the simple one could be like the anime KIM POSSIBLE (ok i haven't better ex right now)

>>>>>>>>>>>>>>>
be good
be evil
but do it WELL
>>>>>>>>>>>>>>>

[edited by - Neoshaman on December 3, 2003 2:55:13 PM]

[edited by - Neoshaman on December 3, 2003 3:03:42 PM]
0

Share this post


Link to post
Share on other sites
Going back to the topic of top-down plot construction (take an overarching structure and derive the events of the story from the central idea rather than just going along and seeing what happens - analytic rather than constructive approach)

My feeling is that, while "great" stories have a high-level structure of this type, and all the individual threads and characters tie together into a whole, if it''s done properly, the individual components inevitably lead to the high-level structure at least as much as the high-level structure implies the low-level entities. This means that you can start equally well from the high-level structure and derive the low level events or from the low level events and extrapolate the (unique?) high-level structure that ties them all together. Of course, neither problem is easy, but that doesn''t mean that either approach is invalid.
0

Share this post


Link to post
Share on other sites