Jump to content

  • Log In with Google      Sign In   
  • Create Account

Automated storytelling and interactive plot in games


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

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

#1 Trapper Zoid   Crossbones+   -  Reputation: 1370

Like
0Likes
Like

Posted 15 July 2005 - 10:21 PM

I've learned from sunandshadow that this topic has come up a few times in the history of these forums (and most of these threads tend not to go for very long anyway) but since my interest in game design is in methods of incorporating interactivity, flexibility and customisability into every aspect possible (this is the big different between the computer as an artistic medium than static things such as print and film, after all) I've decided to bring this topic up for discussion. I've seen interesting things been done with automatic quest generators and the automatic level builders that are already present in games. What I haven't seen yet is an automated story building system. And I certainly haven't seen one where the story that is built is modified in order to cope with the actions of the player; a truly interactive storyline. Now I'm sure the regulars to these forums must have seen many topics that go somewhat along these lines: "Wouldn't it be great if we could implement a digital dungeon master? It could manipulate the stories on the fly, catering for the different actions of the players, and making the story different every time?" or maybe something like: "Every RPG game seems the same these days. All the plotlines are the same, the characters are clones from the previous versions in the series. I bet we could get an A.I. to write the plots for us" Well, I've spent quite some time researching this topic, and really the main thing I've learnt so far is that it is hard to do. Very hard to do. However, I also believe that it is not impossible. What I think we need to do is find a way to represent plots and characters in such a way that they can be encoded in such a way that computers can easily deal with story elements. I actually attempted to try and solve this as part of my research masters thesis, but never really got as far as I wanted to (fortunately, enough to pass though). After a years break I'm ready to try again, although now with the flexibility of having no strict deadline. Actually the reason why I'm posting in these forums at all is to build up my interest to tackle this project as a hobby (that, and I like helping people with their problems in the beginners forum). Hopefully if I don't get discouraged I'll be working slowly in small steps towards achieving my goal of true interactive storytelling. Anyway, my question for discussion here is how do you think we can represent or simplify the elements of stories and plots in such a way that they can be used by a computer-based story building system? Or if that's a bit complex to solve yet (which it might be) then what approach do we need to take in order to solve that problem?
Resources For those who are interested in looking into this a bit deeper, here's a list of various relevant resources that I know about. I'll see if I can keep this updated if I find any new things for the list, or any other good resources are referenced in this thread (or PMed to me). All links are (hopefully!) current as of the time of they were entered into the post. Firstly, check out the links page at interactivestory.net, as it is quite comprehensive. Lots of good stuff is linked to from here! There's also some topics that have been covered here in the forums in the past (thanks to sunandshadow for pointing me to them!). Here's some of them (with original poster nickname and year included): Sunandshadow's theory of plot-based game design (sunandshadow, 2000); short essay by sunandshadow that covers transformational generative grammars as a method for modelling story generation Write paragraphs with start constraints and end states (bishop_pass, 2002); methods for building stories by chaining together paragraphs with logical pre- and post-conditions defined Situations and their structure (bishop_pass, 2002); bishop_pass's method for representing story situations as a structure New Concepts - dynamic game stories (llvllatrix, 2002); using neural networks to build story lines Dialogue from components (superpig, 2002); short thread on reusing dialog from snippets generating characters and modular non-linear stories (sunandshadow, 2002); the thread where I got most of this links from [smile] George Polti's 36 Dramatic Situations; an attempt at a categorisation of all possible dramatic situations. This a well-known list used as an aid for writers. This link shows a summary at GameDev.net; there's a further link there to Amazon if you want the book. Vladimir Propp's Morphology of the Folktale; a collection of the narrative units that make up Russian folktales, expressed in the form of a grammar of stories. The grammar-like notation of Propp has led more than a couple of computer scientists down the path of trying to design AI story writers! There's a summary of the grammar available here. Joseph Campbell's The Hero with a Thousand Faces; an analysis of all the parts that go towards the creation of the 'monomyth' (Wikipedia has a good summary of the monomyth here), the generic mythical structure of the journey of the hero (based on the theories of Jung and tarot, I believe). This is pretty heavy going; I found that Christopher Vogler's The Writer's Journey: Mythic Structure for Writers is a bit easier going and is presented more the format of a forumla that could be used as the basis of a plot engine. Chris Crawford on Interactive Storytelling; I haven't read this book yet, but Chris Crawford has been doing research in methods of interactive storytelling for ages. He lists some of his research, as well as interesting insights on various aspects of the game industry, at his website . Janet Murray's Hamlet on the Holodeck; an interesting perspective on the future of stories in electronic entertainment Façade; a one-act interactive drama which hopes to provide "a new genre of character and story-intensive interactive enterainment", made by Michael Mateas and Andrew Stern. I haven't tried this out yet; I've been waiting until I get broadband access to get a copy of this, but I've been following this project for a while. Scott R. Turner's MINSTREL (described in his book: The Creative Process: A Computer Model of Storytelling and Creativity); MINSTREL is my favourite storytelling system that I've seen to date; telling a story by manipulating story fragments with creativity heuristics. I haven't read his book; I've got a PDF copy of his original Ph.D. thesis (MINSTREL: A Computer Model of Creativity and Storytelling, Computer Science Department Technical Report, University of California, CA 90024-1596, December 1992), but I can't find a copy of it anywhere on the internet. There's a brief summary of the methods in my masters thesis, if you're interested. And if you want a more verbose summary of story ideas, there's always my masters thesis: Aspects of Interactive Storytelling Systems. There's a summary of a few of the AI approaches used in there. I could use a few citations! Oh, and I also like reading The Grand List of Console Role Playing Game Cliches for getting ideas of how a computer could build an RPG [grin].
Thanks to Vanquish for providing these links Chris Fairclough: Story Games and the OPIATE System: Ph.D. thesis on using case-based planning of skeletal plot scripts (modelled on Propp's morpholoogy); describes a working prototype of a story-telling system with applications to MMORPGs. Also has a more comprehensive review of existing systems than my masters-level thesis
Thanks to sunandshadow for these links to references on plot structure (this is cut-and-paste from her post later on in this thread) Books On Plot Structure: (About half of these are cited in my 2000 essay about plot-based game design, some more are covered in my developer journal, and some are new - several books on the subject have been published in the last few years. Also I'm skipping the classics: Aristotle, Polti, Freytag, and Propp.) Young Children's Dyadic Pretend Play: A Communication Analysis of Plot Structure and Plot Generative Strategies by Ursula Verena Schwartz - Spontaneous plot generation when children play pretend. Vector Theory and the Plot Structures of Literature and Drama by Cynthia Joyce Clay - Plot and vector physics. The Poetics of Plot: The Case of English Renaissance Drama: Theory and History of Literature, Volume Eighteen by Thomas G. Pavel - Plot and transformational generative grammar. Building Better Plots by Robert Kernan - Plot points, story arcs, the note card method. Plots Unlimited: For the Writer of Novels, Short Stories, Plays, Screenplays and Television Episodes: A Creative Source for Generating a Virtually Limitless Number And Variety Of Story Plots And Outlines - I prefer the software version, Storybase, but either way this is a list of a lot of generic situations which could be analyzed to make part of the structural vocabulary for a story generation engine. Dramatica: A New Theory Of Story (Online Edition) by Melanie Anne Phillips and Chris Huntley - This also is a book-software combo, but in this case I recommend the book because it has all the theory, and you need to read the book before the software makes any sense anyway. Topics are the Story Mind, throughlines, and some lists/charts of opposing thematic elements. Plot: Elements Of Fiction Writing by Ansen Dibell - I don't have this book on my shelf and don't remember exactly why it was useful, sorry. Plot and Structure: Techniques And Exercises For Crafting A Plot that Grips Readers From Start To Finish by James Scott Bell - Ditto. Scene And Structure by Jack M. Bickham - The concept of scene and sequel. Story: Substance, Structure, style and The Principles of Screenwriting by Robert McKee - Has a nice summary of various theories about plot. PmWiki StoryQuests; acollection of articles on story generation related topics that could be useful
[Edited by - Trapper Zoid on July 28, 2005 1:51:46 AM]

Sponsor:

#2 Trapper Zoid   Crossbones+   -  Reputation: 1370

Like
0Likes
Like

Posted 15 July 2005 - 10:22 PM

I decided to split this off into a separate post to keep it clear of the links.

This is my second attempt at writing this post. I tried vainly to summarise my entire theory of how plots should be structured into a short post, before realising:
a) the total futility of even vageuly making that both short andcomprehensible
b) there's quite a few fuzzy gaps that I'll have to go back through my notes (and see if I even had solutions for)
c) it was utter agony writing up my masters thesis for six months and I'm feeling the pain again
d) it's getting late, I've spent the whole mid-day researching up links, I'm getting tired (and starting to feel sick again), making it even harder to write coherently about something like this
e) the damn forums are down again!

So I'll just start off with some basic points as that's a good starting point for discussion. If you're really interested in more detail you can check out my masters thesis dissertation (link included above). I've got a few extra ideas not included in that, but at least I spent ages making what's in there readable!


Character-based versus Plot-Based Storytelling Systems

Now out of all the systems that I've seen proposed and implemented there are two philosophies about the design, which I call the 'character-based' and the 'plot-based' approaches (these closely mirror two related approaches that writers use as well).

The character-based approach was the first one that I tried to design around. The goal behind this approach is to design well-crafted, complex characters, and then simulate their reactions to each other. The theory is that if these characters are sufficiently well developed, their interactions will produce compelling drama. You can think of this as an advanced version of The Sims as an analogy. There have been a lot of approaches in academia to story generation that step from this approach too (such as UNIVERSE and TALE-SPIN for two famous examples).

However after playing around with designs based on this, I decided against a pure character based approach. I tend to find that the purely character-driven approach tends to lead to stories that feel like a chronicle of events; it's pretty analogous to watching an un-edited version of 'Big Brother'.

The plot-based approach is the one that I later came to favour from a deeper understanding of how stories work from a psychological point of view. With this approach, story structure is key. The theory behind this approach is that there is an inherent underlying structure to stories that goes deeper than the surface of intelligent character interaction. To use a fairy-tale (and RPG) analogy, if a young knight and princess are in love at the start of the story, it isn't expected the next bit of the story to be "and then they got married and lived happily ever after, the end". What is expected is conflict: say the princess is abducted by a dragon. Then the next bit of the story is unlikely to be "then the young knight decided to leave the country and try his luck wooing another princess", and so on.

The approaches to plot-based stories usually stem around a grammar of rules for how stories are constructed. Most often a researcher will start from one of the established set of rules such as that of Propp, Polti or Campbell (listed above in the links). From what I've seen I think that these are probably way too complex as a starting point for my attempt (perhaps something to aim for), but I'm yet to settle on a suitable simple set of story structures to work with yet.

Anyway, to keep things short, the challenge that is on for a plot-based grammar of interactive storytelling stems down to the following (in my view):
- boiling down the story structure to a simple reprsentation. I've considered a scenario based approach similar to that included in the topic started by bishop_pass back in 2002, since it's also similar to that used in many storytelling systems such as the Automatic Novel Writer and MINSTREL. However, I also think that there has to be a higher level of story structure; based on something a lot more abstract for interactivity to work; similar to that of Vogler's adaptation of Campbell as a guide for writing film scripts.
- somehow incorporating characters in this. I'm thinking the characters will be more like improvisational actors than independent A.I. agents, as their actions must be dictated by the constraints of the plot structure. But they also have to have enough depth to be likable as story characters. I'm thinking this might have to be done after the plot is working, however
- finally, trying to make the whole thing not seem like it's been created from a factory based off of templates. This is the real kicker, I've got no clue how this could be done. I'm thinking that possibly if the character A.I. was really sophisticated at improvising over the gaps in scenarios, or there was a really good conversation system, or some level of randomness involved, then it could possibly avoid that template feeling. But that's really pie-in-the-sky stuff that I'm just hoping is true; I'd appreciate any advice on how this could be acheived.

So, I'm interested in your views on the whole topic. Remember I'm in for the long haul on this; unfortantely I'm hooked on the problem and I have the feeling that unless I have a decent stab at implementing this it will bug me for the rest of my life.



#3 Balaam   Members   -  Reputation: 239

Like
0Likes
Like

Posted 15 July 2005 - 10:45 PM

This a great collection of resources! Thanks for posting. I've recently implemented a very simple reusable plot framework and am interested in seeing how far I can take it.

[Edited by - Balaam on July 29, 2005 7:45:26 AM]

I'm writing a book about How To Make An RPG, check it out! | Blog


#4 Trapper Zoid   Crossbones+   -  Reputation: 1370

Like
0Likes
Like

Posted 16 July 2005 - 12:35 PM

Quote:
Original post by Balaam
This a great collection of resources! Thanks for posting. I've recently implemented a very simple reusable plot framework and am interested in seeing how far I can take it.


Thanks! I thought there would be a few people on these forums who would be working on the same thing, and I didn't want all my research to go to waste.

Is there anyone else wanting to post their ideas on methods for plot generation? I know it's a lot to get through, you don't have to read through all the links first! [smile]

#5 sunandshadow   Moderators   -  Reputation: 5056

Like
0Likes
Like

Posted 16 July 2005 - 05:57 PM

This is the first time I've seen Trapper Zoid's thesis, so I'll comment on that first. :)

I largely agree with this paper and the preferability of the plot-based system in the driver's seat, supported by good NPC and NPC interaction simulation. There are only two nits I'd like to pick:

1) The paper analogizes an interactive story as an equal conversation between actors and the audience in an interactive play. I think this is misleading - whether the story of a game is interactive or not there is a fundamental difference in the job of the game and the job of the player. A much more accurate way to imagine things is Neoshaman's analogy that the game functions as the DM or GM in a tabletop roleplaying game, while the player functions as a player.

I believe that the job of the program is to create the world and establish the rules within which the player must struggle to accomplish goals, while the job of the player is NOT to create any of the world's content but instead to express opinions (by preferentially attempting to accomplish the goal by one of a variety of available actions) which in turn influences the game's selection of content to present to the player. So it's not by any means a conversation between equals.

2) The problem with using a plot structure such as that of Propp, Polti, or Campbell, is not that they are too complicate, but that they are over-specified. The same problem exists to a lesser degree with the terms 'key' and 'door' - using such concrete terms prevernts people from realizing that any character action can function as a key, and obstacle can function as a door, and in a non-linear game each door ought to have several alternative keys. It's important to define the objects a story-generation engine would need to understand in as few classes, as generically, simply, and clearly as possible like a logical programming language so that the program can truly understand them and accurately manipulate them. What we want is the storytelling equivalent of a GUI toolkit such as QT or GTK, so the storytelling engine can select a class from the library and instantiate a specific unique version of it for a particular game session.

Here's the example I PMed to Trapper Zoid yesterday:
Quote:
In an old post I said that the simplest possible plot consists of 3 objects: a PC who can take actions and has a motivation of wanting a goal, a 'goal object' (obtaining which is the climax of the plot) and an obstacle to keep the PC from just immediately obtaining the goal object. So in a sense you are choosing the conclusion (obtaining the goal object) and working backwards to create the starting game setup. You really do have to choose the 'victory condition' and work backwards to create the story. But that can work fine with interactivity. :)

It's not obvious in this simplest possible setup, since interactivity comes from making choices, so let's make it a little more complex: the obstacle between the PC and the goal is an NPC guard. The player can choose whether to talk to the guard in an attempt to persuade him to give them the goal, or to punch the guard in the nose in an attempt to force him to give them the goal. So the player makes a decision and takes action, the NPC responds appropriately, and the game state has changed depending on the players action so that the next step toward reaching the goal is different. Maybe the guard can be persuaded, but not once he's been punched. Maybe the first punch just makes him mad, but the second one knocks him unconscious. So either way the PC eventually gets the goal object, but meanwhile the player has lived one of two totally different stories: one about persuasion, or one about violence. Voila, interactivity! [smile]


Oh, one more thing: There may be only one overall goal in a game story, but in a game with levels, chapters, or episodes, each of these should have a subgoal. The subgoal essentially functions as an obstacle between sections of the game, with all the gameplay of the chapter adding up to unlock the door (and the door automatically locking once the player has passed through to control player progression, because the player should only ever be moving forward toward the climax, you lose dramatic tension and immersiveness if the player can go backwards.

EDIT: It might also be desireable to provide more than one goal and have the player's choice of which goal to persue influence the game in the same way the player's choice of which method to use to persue the goal influences the game. But the more goals there were the less unity your plot would have, and items and objects relevant to one goal might be confusing red herrings to a player not persuing that goal.

[Edited by - sunandshadow on July 17, 2005 12:57:04 AM]

#6 Trapper Zoid   Crossbones+   -  Reputation: 1370

Like
0Likes
Like

Posted 16 July 2005 - 09:42 PM

Wow, a critique of my thesis! I'm actually quite honoured that someone else on the planet besides my examiners has actually read it! [smile]

Quote:
Original post by sunandshadow
This is the first time I've seen Trapper Zoid's thesis, so I'll comment on that first. :)

I largely agree with this paper and the preferability of the plot-based system in the driver's seat, supported by good NPC and NPC interaction simulation. There are only two nits I'd like to pick:

1) The paper analogizes an interactive story as an equal conversation between actors and the audience in an interactive play. I think this is misleading - whether the story of a game is interactive or not there is a fundamental difference in the job of the game and the job of the player. A much more accurate way to imagine things is Neoshaman's analogy that the game functions as the DM or GM in a tabletop roleplaying game, while the player functions as a player.

I believe that the job of the program is to create the world and establish the rules within which the player must struggle to accomplish goals, while the job of the player is NOT to create any of the world's content but instead to express opinions (by preferentially attempting to accomplish the goal by one of a variety of available actions) which in turn influences the game's selection of content to present to the player. So it's not by any means a conversation between equals.


I actually agree with this; it's possible that I wasn't clear on this point in the thesis. The analogy I like best is that of the story-teller, or perhaps Lewis Carroll involving Alice and her sisters in an interactive adventure. Most of the power lies with the story-teller, however some of the power is invested in the audience (player) to shape the path of the story. Alice does not create any of the world content, but can influence which content is created for her.

Quote:

2) The problem with using a plot structure such as that of Propp, Polti, or Campbell, is not that they are too complicate, but that they are over-specified. The same problem exists to a lesser degree with the terms 'key' and 'door' - using such concrete terms prevernts people from realizing that any character action can function as a key, and obstacle can function as a door, and in a non-linear game each door ought to have several alternative keys. It's important to define the objects a story-generation engine would need to understand in as few classes, as generically, simply, and clearly as possible like a logical programming language so that the program can truly understand them and accurately manipulate them. What we want is the storytelling equivalent of a GUI toolkit such as QT or GTK, so the storytelling engine can select a class from the library and instantiate a specific unique version of it for a particular game session.


Unfortunately, I agree that Propp, Polti and Campbell are over-specified to define the entire domain of story-telling available. However, I feel that in order to implement interactive storytelling, we have to simplify the domain in order to make it implementable on a computer that doesn't have the background knowledge base of human existence that every writer has.

And unfortunately again, I'm thinking that the simple plot structures offered by those formalists is that they might be too vague to be directly implementable. I think that we will have to go even simpler for it to work, at least at first.

And when I'm referring to 'doors' and 'keys', I'm using those as abstract labels for story contructs. If our dashing young knight hero has to save the princess from the dragon, then the angry dragon is a story based obstacle or 'door'. And yes, there can be more than one 'key' that can be used to get past the 'door' of the dragon. A sword and the skill to use it can be one 'key', or the ability to sneak past a dragon could be a second 'key'. The argument is that whatever set of story obstacles required needs a corresponding set of keys to get past them (and preferably more than one copy).

Quote:

Oh, one more thing: There may be only one overall goal in a game story, but in a game with levels, chapters, or episodes, each of these should have a subgoal. The subgoal essentially functions as an obstacle between sections of the game, with all the gameplay of the chapter adding up to unlock the door (and the door automatically locking once the player has passed through to control player progression, because the player should only ever be moving forward toward the climax, you lose dramatic tension and immersiveness if the player can go backwards.


I don't think that this made it into the thesis as I had a hard time making my ideas legible (you wouldn't believe how many drafts I had to go through), but in a more complex storyworld I think breaking the system into a series of acts (or chapters, episodes etc.) is definitely required. This is partly because with the random interactive element of the player acting as an influence to change the path of the story means that some planning ahead is required, and partly because I feel that a deep storytelling system is going to require some level of hierarchical scenarios in order to work.

Quote:

EDIT: It might also be desireable to provide more than one goal and have the player's choice of which goal to persue influence the game in the same way the player's choice of which method to use to persue the goal influences the game. But the more goals there were the less unity your plot would have, and items and objects relevant to one goal might be confusing red herrings to a player not persuing that goal.


This is one approach; having multiple goals. However, another approach is to have only one goal but to leave it as uninstantiated as can be allowed until necessary. Say the system knows that there will be a big plot element at the end of Act I. As the story goes on more information will be provided through the choices of the player as to what that act will be, what sort of conflict will be provided or resolved, and which characters will be the cast members in this big scene. This is one of the areas that I was a bit fuzzy on, and need to figure out for myself.



#7 achilles_   Members   -  Reputation: 138

Like
0Likes
Like

Posted 17 July 2005 - 09:16 AM

Ah, interactive stories. My favourite topic of discussion. :)

I always wonder why it is that people like to make the distinction between plot-led and character-led games. It strikes me that they really are both incomplete methods of interactive storytelling, neither really capable of accomplishing much without the other.

You can see the results of story-based games everywhere. We get FPS-twitch games such as Half Life 2, which is really little more than a test of your reactions with a pretty slideshow story, and yet the industry heaps praise upon it as "advancing the state of the art". Advancing the state of the art for ATI and nVidia corporate accounts, maybe...

Character-based games are a little harder to come by, because it's a lot harder to code a convincing facsimile of a human personality. (Although possibly not quite as hard as the appalling AI in Daikatana made it look!) Interestingly, some games developers have capitalised on this problem, and have done away with coding characters in favour of simply bringing real people together and letting them interact. Whilst the possibilities for inane gossip are almost infinite, the current state of character-based gaming leaves all essence of story to the players, providing nothing more than a series of mediocre public challenges with some half-baked excuse of a plot that every single player must work their way through. Even Everquest 2 and World of Warcraft can do little to disguise what is no more than a gruelling social experiment in repetition and toil.

I've spent the last 6 months or so working on my own storytelling system. I was tempted down the story-based route at first, simply because it was so much easier to implement a rigidly-connected series of events than it was to develop a framework for social interaction with artifical entities. The route that I finally took is based more than a little on the discussions of interactive storytelling system in Crawford's book, and a lot of additional research into simplified natural language systems, I went down the route of creating the character framework first, and then introducing plot elements through agents.

Agents can be characters (adding a murderer to a village full of people), or "fate" (for manipulation of intangibles, such as disease or luck). I give characters a routine, a base personality, a volatile memory, and a couple of motivations, and let them go off and do their thing. I then introduce appropriate agents for a story into the system, and then allow the player to start interacting. The player has exactly the same freedoms as any character in the system, and I allow them to form their own goals based on their experiences in the game. This way, whilst all the ingredients are in place for a story to evolve, I avaoid confining the player to any specified series of events, and shattering the illusion of freedom.

So far, I've got a mostly-working prototype based on Agatha Christie's "Mousetrap", which has led to some rather interesting situations. It's obviously not as nuanced as the original, but it's recognisable as the same situation, and can lead to a number of reasonably convincing outcomes. (Though getting the murderer not to just shoot everyone immediately was an interesting exercise in tuning algorithms. :)

I'm fascinated to find out what practical approaches others are taking, and especially how they see the field developing. For example, trying to actually specifically model a plot and develop (or implement) a grammar seems like a pretty intense method to provide the player with a limiting system for interaction. It seems to me that the act of implementing a plot structure that the player must adhere to is going to grossly limit the level of interaction allowed to the player.

I like the idea of using an algorithmic approach to assembling a grammar of narrative into a dynamic story, and using that to direct events. It would certainly offer a great deal in terms of replay value. It would be interesting to see the result of synthesised story, I fear that it might feel slightly generic without the "art" that a human storyteller brings.


#8 Trapper Zoid   Crossbones+   -  Reputation: 1370

Like
0Likes
Like

Posted 17 July 2005 - 12:31 PM

Quote:
Original post by achilles_
Ah, interactive stories. My favourite topic of discussion. :)

I always wonder why it is that people like to make the distinction between plot-led and character-led games. It strikes me that they really are both incomplete methods of interactive storytelling, neither really capable of accomplishing much without the other.


Well, I'm not really sure about the specifics of the writing methods used, but with the A.I. approaches there's a fair difference (as you've probably noticed since you've done some work on this yourself). To be extremely brief: character-based approaches start from modelling the characters, and hope higher 'plot' constructs form from the interaction; plot-based approaches model the higher level plot brances and work down to try to fit the characters into the framework.

Quote:

You can see the results of story-based games everywhere. We get FPS-twitch games such as Half Life 2, which is really little more than a test of your reactions with a pretty slideshow story, and yet the industry heaps praise upon it as "advancing the state of the art". Advancing the state of the art for ATI and nVidia corporate accounts, maybe...


No comment really required [smile]. We're in agreement here (although I was impressed with the gameplay integration of the physics engine in Half-Life 2).

Quote:

Character-based games are a little harder to come by, because it's a lot harder to code a convincing facsimile of a human personality. (Although possibly not quite as hard as the appalling AI in Daikatana made it look!) Interestingly, some games developers have capitalised on this problem, and have done away with coding characters in favour of simply bringing real people together and letting them interact. Whilst the possibilities for inane gossip are almost infinite, the current state of character-based gaming leaves all essence of story to the players, providing nothing more than a series of mediocre public challenges with some half-baked excuse of a plot that every single player must work their way through. Even Everquest 2 and World of Warcraft can do little to disguise what is no more than a gruelling social experiment in repetition and toil.


I've seen the MMORPG approach as a 'solution' to the problem, but it's really just a way of deflecting it. It does nothing for the single-player RPG, and is reliant on everyone 'playing their part', which is not feasible for an open-to-the-public MMORPG. I guess you could model this with half a dozen human actors for every player, but that's not economically feasible.

Quote:

I've spent the last 6 months or so working on my own storytelling system. I was tempted down the story-based route at first, simply because it was so much easier to implement a rigidly-connected series of events than it was to develop a framework for social interaction with artifical entities. The route that I finally took is based more than a little on the discussions of interactive storytelling system in Crawford's book, and a lot of additional research into simplified natural language systems, I went down the route of creating the character framework first, and then introducing plot elements through agents.

Agents can be characters (adding a murderer to a village full of people), or "fate" (for manipulation of intangibles, such as disease or luck). I give characters a routine, a base personality, a volatile memory, and a couple of motivations, and let them go off and do their thing. I then introduce appropriate agents for a story into the system, and then allow the player to start interacting. The player has exactly the same freedoms as any character in the system, and I allow them to form their own goals based on their experiences in the game. This way, whilst all the ingredients are in place for a story to evolve, I avaoid confining the player to any specified series of events, and shattering the illusion of freedom.


Now this is interesting! I haven't read Crawford's book yet, although I plan to get a copy soon. This sounds similar to a system I planned earlier on based on a character-based model that I never really finished implementing properly. The base of it was detailed character models like yours, except I also had hidden 'agents' that acted as overseers to the characters that dictates the plot elements. So you might have an agent that overserves the players actions to decide on the next plot point; as a loose example, if the player was busy stealing things, the agent would create and direct detectives to try and apprehend them. The idea was that the character were not fully autonomous but actors under the direction of higher controllers.

Unfortunately I can't remember all the details of that system since it was a while ago and I decided to go with a more plot-based approach, so I might be a little unclear on how it all worked. But it sounds a little similar to your system. I'll be interested in how far you can take it.

Quote:

So far, I've got a mostly-working prototype based on Agatha Christie's "Mousetrap", which has led to some rather interesting situations. It's obviously not as nuanced as the original, but it's recognisable as the same situation, and can lead to a number of reasonably convincing outcomes. (Though getting the murderer not to just shoot everyone immediately was an interesting exercise in tuning algorithms. :)


That's what I find is the problem in the character based approaches; the characters are unpredicatable. This leads to 'unacceptable' stories, such as the murderer killing everyone in the first few minutes. Although the same is true of plot-based approaches; some of the system tend to generate stories such as "Once upon a time there was a princess and a hermit. The End.", because of a lack of detail in the system.

Quote:

I'm fascinated to find out what practical approaches others are taking, and especially how they see the field developing. For example, trying to actually specifically model a plot and develop (or implement) a grammar seems like a pretty intense method to provide the player with a limiting system for interaction. It seems to me that the act of implementing a plot structure that the player must adhere to is going to grossly limit the level of interaction allowed to the player.

I like the idea of using an algorithmic approach to assembling a grammar of narrative into a dynamic story, and using that to direct events. It would certainly offer a great deal in terms of replay value. It would be interesting to see the result of synthesised story, I fear that it might feel slightly generic without the "art" that a human storyteller brings.


That's pretty much the problem with the plot based approach; it can tend to be a little bit rigid. I'm thinking these days that a fusion of a character model (similar to yours) and a plot grammar might be the best approach, but I'll have to get up to date on all the material out there again to get a good idea on the best approach to integrate the two. I'd be happy to hear any suggestions you have!

And good luck with your storytelling system! If you get it working well, I'd love to see a prototype in action.



#9 HAM   Members   -  Reputation: 176

Like
0Likes
Like

Posted 17 July 2005 - 12:53 PM

Quote:
Original post by Trapper Zoid


I've seen the MMORPG approach as a 'solution' to the problem, but it's really just a way of deflecting it. It does nothing for the single-player RPG, and is reliant on everyone 'playing their part', which is not feasible for an open-to-the-public MMORPG. I guess you could model this with half a dozen human actors for every player, but that's not economically feasible.



ACtually I think you might be overlooking something. What could be very benificial to your goals would be to create a multiplayer game, were one of the key features of the game is story telling.

Provide the players with mechanisisms to tell stories. This way you could concentrate on root mechanics and completely ignore AI. The AI is more than likely the biggest challenge.

Seems to me what would be best is to have a very, very solid framework of mechanics and tools that the AI would use.

Make a constrained tool set for telling stories. Let humans use it. Look at the results, modify the toolset. Repeat. During the course of this you will no doubt find mechanics that can be automated (a few steps closer to teh AI).

And when you finally get something that is usable and workable, then try and tackle how the AI could mimic human choices made with that toolset.

Dunno, Just one approach on research and developement.




#10 Trapper Zoid   Crossbones+   -  Reputation: 1370

Like
0Likes
Like

Posted 17 July 2005 - 01:05 PM

Quote:
Original post by HAM
ACtually I think you might be overlooking something. What could be very benificial to your goals would be to create a multiplayer game, were one of the key features of the game is story telling.

Provide the players with mechanisisms to tell stories. This way you could concentrate on root mechanics and completely ignore AI. The AI is more than likely the biggest challenge.

Seems to me what would be best is to have a very, very solid framework of mechanics and tools that the AI would use.

Make a constrained tool set for telling stories. Let humans use it. Look at the results, modify the toolset. Repeat. During the course of this you will no doubt find mechanics that can be automated (a few steps closer to teh AI).

And when you finally get something that is usable and workable, then try and tackle how the AI could mimic human choices made with that toolset.

Dunno, Just one approach on research and developement.


Well, from my perspective this is really just avoiding the problem altogether. The A.I. is pretty much the entire challenge.

The storytelling framework for players is something that the game industry itself is moving towards. Neverwinter Nights has a good start towards allowing the human dungeon master modify the story for the players, although it could have been a lot more intuitive and powerful. Hence I expect there to be a better system in the sequel.

I'm really looking for a single player RPG solution, so that you don't require to have a talented storyteller to guide you. In this case you need that A.I.

But you are right in that the method for representing the stories is core to the problem. It's just that I'm not sure that a human understandable method for representing stories is the same as one that is ideal for computers to understand. There's a lot of subtextual or cultural understanding of stories that everyone has built into their thought patterns from their years of experience living as a human that needs no explaining. This means that it is hard for humans to explain how stories work because we just intuitively know how they work.


#11 HAM   Members   -  Reputation: 176

Like
0Likes
Like

Posted 17 July 2005 - 02:38 PM

Just curious.

What games/systems have you made to tell stories?

Have you ever created a simple story with branches and multiple endings?

Have you ever written a choose your own adventure book?


Seems the best approach would be to look at those systems you have previously made , and concretely isolate and describe thier short falls.


I don't think this subject is any different than the other topics on these forums?

You want to make a game? Don't start with a 3D MMORPG. Start with a text game first, then build up from there.

You want to make automatic story system? Start with what is simple.

I agree with you that the subject is difficult but possible. Like wise, there will be MANY ways to accomplish it. Starting with a base static system, and then attempting to add automation to it would seem to be a good approach.


#12 Vanquish   Members   -  Reputation: 216

Like
0Likes
Like

Posted 17 July 2005 - 02:50 PM

Ive skipped to the end to say that Ive started and spoke on this subject SEVERAL times and Im glad to see it come back up.

Ill try to dig up all my links to pertinent web pages.

That having been said...Ill go back and read the rest.
Alfred Norris, VoodooFusion StudiosTeam Lead - CONFLICT: Omega A Post-Apocalyptic MMO ProjectJoin our team! Positions still available.CONFLICT:Omega

#13 Trapper Zoid   Crossbones+   -  Reputation: 1370

Like
0Likes
Like

Posted 17 July 2005 - 03:04 PM

Quote:
Original post by HAM
Just curious.

What games/systems have you made to tell stories?

Have you ever created a simple story with branches and multiple endings?


Admittedly, I haven't finished a story-based game yet. All my previous attempts fell into the 'featuritis' creep where I tried to jam way too many features into it and made it fall apart. I'm hoping since I've recognised this as a problem I won't fall for it again (well, except for the bit where I'm planning a dynamic character art system and an dynamic automatic film scoring system for the music [grin]).

My main problem is that I want to be a sort of modern "Renaissance man" when it comes to games; I'm learning how to draw and teaching myself how to play the piano so I can deal more with the creative side. I'm also planning on some creative writing exercises to help build that level up. However, I'm suspecting that I'm more into learning things than actually implementing them!

Quote:

Have you ever written a choose your own adventure book?


Actually, yes I have [smile]. This was back when I was a kid and I used to love these books, in fact they were one of the models I studied when looking at interactive storytelling systems. It wasn't excellent, but it was quite long. Don't think I still have a copy of it, I'm afraid.

Quote:

Seems the best approach would be to look at those systems you have previously made , and concretely isolate and describe thier short falls.


Umm, I have. I had a project where I spent roughly two years doing that. I call it my "Master of Computer Science by Research", my thesis is up there in the links [smile].

Quote:

I don't think this subject is any different than the other topics on these forums?

You want to make a game? Don't start with a 3D MMORPG. Start with a text game first, then build up from there.

You want to make automatic story system? Start with what is simple.

I agree with you that the subject is difficult but possible. Like wise, there will be MANY ways to accomplish it. Starting with a base static system, and then attempting to add automation to it would seem to be a good approach.


I agree that you have to start simple. That's been the failing with all the approaches I've attempted so far. I've always attempted to include too many over-developed dramatic themes and the whole thing collapses in a mess. I've got a few text-based simulators running (they're all very dry and boring however), but I'm suspecting that a text based approach might actually be harder than a graphical based approach. There's a lot of subtext that can be implied in a graphical approach to story telling by showing the audience things that is hard to automate with text.

And I don't think this system can be bootstrapped to the existing storytelling systems out there today. This sort of system must be incorporated in the design from the ground up.




#14 Vanquish   Members   -  Reputation: 216

Like
0Likes
Like

Posted 17 July 2005 - 04:12 PM

Ok here are my favorite 2 links on this subject:

The OPIATE System has been created by Chris Fairclough. Ive spoken to him several times and he's interested in work with our MMO project to create a dynamic world that changes with players actions.


Tips For Random Story Generation

has an discussion by a gentelman building a "rogue-like" game (ASCII graphics only) and he has several interesting points. One of which is that, if given a set of plot points, players themselves can link the events without anyone generating text to make coherence.

I really do think that such a system can be successful if several things can be quantified and broken down:

a) the needs of large scale groups
b) the needs of individual NPCs
c) how the player can help or hinder these groups and individuals via interaction?

Another interesting theory I have is on plot generation. On the net you can find lists of different plot arcs. A system could be used to take these multiple plot arcs and link them with different groups/npcs to generate needs that bring the plot to an ending.

If you were to make over-arching plot arcs made up of a list of minor ones, changed by the needs of NPCs and advanced by players...that would be a cool system.

And one we're trying to create
Alfred Norris, VoodooFusion StudiosTeam Lead - CONFLICT: Omega A Post-Apocalyptic MMO ProjectJoin our team! Positions still available.CONFLICT:Omega

#15 sunandshadow   Moderators   -  Reputation: 5056

Like
0Likes
Like

Posted 17 July 2005 - 05:30 PM

Quote:
Original post by HAM
Just curious.

What games/systems have you made to tell stories?

Have you ever created a simple story with branches and multiple endings?

Have you ever written a choose your own adventure book?


Seems the best approach would be to look at those systems you have previously made , and concretely isolate and describe thier short falls.


I don't think this subject is any different than the other topics on these forums?

You want to make a game? Don't start with a 3D MMORPG. Start with a text game first, then build up from there.

You want to make automatic story system? Start with what is simple.

I agree with you that the subject is difficult but possible. Like wise, there will be MANY ways to accomplish it. Starting with a base static system, and then attempting to add automation to it would seem to be a good approach.


I'd like to answer this too. [wink] I have indeed written a choose your own adventure book/simple branching game: I made one on paper way back when I was in 5th or 6th grade, and one with HyperCard a few years later, featuring a cadet entering a space academy and trying to start a romance with a fellow student. My current game design is _Xenallure: A Tapestry of Hearts_, which is a single player dating sim/RPG/adventure with a branching (but not at all automatically generated) multi-ending story.

But studying these previous/current creations isn't terribly useful because it's an entirely different paradigm than a truly interactive game. It is much more useful to study what goes on in a writer's mind when they create a branching story, or a DM's mind when they run a tabletop roleplaying game. Like Trapper Zoid I learned in college that stories have a grammar just like language, and did a lot of research on plot structure. Being primarily a writer myself, I was interested in analyzing my own process of creating a story, since it seemed to me that if I can do it, and understand how I am doing it, I ought to be able to write a program which can do it too.

It probably would be easiest to attempt to implement a story generation engine as an entirely text-based game first. The question is who's going to program it (since my programming skills are pathetic at best, I can describe how a story generation engine should work but I can't implement it myself). And how should it be implemented? A logical programming language (e.g. SOAR) database of specific game-objects which can be instantiated as part of each class? A standard searchable database (e.g. SQL) of all the properties of all the objects instantiated for a game session? What character creation and story type preference questions should we ask the player during the 'start new game' phase?

#16 Trapper Zoid   Crossbones+   -  Reputation: 1370

Like
0Likes
Like

Posted 17 July 2005 - 07:29 PM

Quote:
Original post by Vanquish
Ok here are my favorite 2 links on this subject:


Thanks for these! I've added them to the start of the topic (it is okay to link to these, right?)

I'll have a look through Chris Fairclough's Ph.D thesis on OPIATE to see how his system works. I've seen a few approaches that have attempted to implement Propp's morphology but never seen one that has worked properly (myself included in this).

I haven't really given much thought to how this could be used in a MMORPG because I am unfamiliar with the area. I'll be interested in how well you can implement this, as I would suspect having many more players will increase the complexity significantly.

#17 Trapper Zoid   Crossbones+   -  Reputation: 1370

Like
0Likes
Like

Posted 17 July 2005 - 07:44 PM

Quote:
Original post by sunandshadow
I'd like to answer this too. [wink] I have indeed written a choose your own adventure book/simple branching game: I made one on paper way back when I was in 5th or 6th grade, and one with HyperCard a few years later, featuring a cadet entering a space academy and trying to start a romance with a fellow student. My current game design is _Xenallure: A Tapestry of Hearts_, which is a single player dating sim/RPG/adventure with a branching (but not at all automatically generated) multi-ending story.


Now I come to think about it, I think I did something kind of branching game in HyperCard as well, although nothing as advanced sounding as your one. And I did write a couple of text adventure games ages ago, although they were pretty linear.

Quote:

But studying these previous/current creations isn't terribly useful because it's an entirely different paradigm than a truly interactive game. It is much more useful to study what goes on in a writer's mind when they create a branching story, or a DM's mind when they run a tabletop roleplaying game. Like Trapper Zoid I learned in college that stories have a grammar just like language, and did a lot of research on plot structure. Being primarily a writer myself, I was interested in analyzing my own process of creating a story, since it seemed to me that if I can do it, and understand how I am doing it, I ought to be able to write a program which can do it too.


Exactly! The idea is not to understand how to represent a single story but how to represent the process of creating a story. And those from a computer science background such as myself get excited when we find that the analysts of writing stories have found structures and grammars, because that suggests that we can make the computer create literary works too. Unfornately, it is not as easy at it seems.

Quote:

It probably would be easiest to attempt to implement a story generation engine as an entirely text-based game first. The question is who's going to program it (since my programming skills are pathetic at best, I can describe how a story generation engine should work but I can't implement it myself). And how should it be implemented? A logical programming language (e.g. SOAR) database of specific game-objects which can be instantiated as part of each class? A standard searchable database (e.g. SQL) of all the properties of all the objects instantiated for a game session? What character creation and story type preference questions should we ask the player during the 'start new game' phase?


I'll have to read up a bit more on SOAR. I'm sure I've read something about it in one of the academic papers I've read on storytelling systems ages ago. But this kind of thing does lend itself to a logical framework.

You probably are right when you say a text-based approach is easier than a graphical one; I might be getting biased in my approach by skipping a few of the developmental stages to get closer to my ideal game in my mind. I've seen a few of the text-based story generators but most of them write stories that read like an automatic log dump of events; very formulaic and obviously computer generated. Ideally a system could help disguise the fact that this is computer generated and make it look more like the work of a human writer. I suppose this can be done, but my knowledge of natural language grammars is not advanced enough yet to know the best approach for this.

sunandshadow, since you come from a literary background, can you describe the basics of how you would design a story generation system?

#18 Vanquish   Members   -  Reputation: 216

Like
0Likes
Like

Posted 18 July 2005 - 12:12 AM

Not to interrupt, but some earlier posts caught my eye:

"Agents can be characters (adding a murderer to a village full of people), or "fate" (for manipulation of intangibles, such as disease or luck). I give characters a routine, a base personality, a volatile memory, and a couple of motivations, and let them go off and do their thing. I then introduce appropriate agents for a story into the system, and then allow the player to start interacting. The player has exactly the same freedoms as any character in the system, and I allow them to form their own goals based on their experiences in the game. This way, whilst all the ingredients are in place for a story to evolve, I avaoid confining the player to any specified series of events, and shattering the illusion of freedom."

That sounds amazing. Ive always thought that in an MMORPG setting what you really need is a civilization sim running (full city with npcs going about a schedule with needs) and maybe 25 special NPCs with a more detailed schedule and need structure, built for real interactivity.


"So far, I've got a mostly-working prototype based on Agatha Christie's 'Mousetrap', which has led to some rather interesting situations. It's obviously not as nuanced as the original, but it's recognisable as the same situation, and can lead to a number of reasonably convincing outcomes. (Though getting the murderer not to just shoot everyone immediately was an interesting exercise in tuning algorithms. :)"

Can I play? sounds great?
Alfred Norris, VoodooFusion StudiosTeam Lead - CONFLICT: Omega A Post-Apocalyptic MMO ProjectJoin our team! Positions still available.CONFLICT:Omega

#19 achilles_   Members   -  Reputation: 138

Like
0Likes
Like

Posted 18 July 2005 - 02:55 AM

Quote:
Original post by Trapper Zoid
The base of it was detailed character models like yours, except I also had hidden 'agents' that acted as overseers to the characters that dictates the plot elements. So you might have an agent that overserves the players actions to decide on the next plot point; as a loose example, if the player was busy stealing things, the agent would create and direct detectives to try and apprehend them. The idea was that the character were not fully autonomous but actors under the direction of higher controllers.


I did consider that for a while, but it seemed far too complicated to start writing agents to deal with the player. Instead, I simply write responsive behaviours as a framework, and generally that's enough to catch aberrant behaviour.

The large-scale project that I'm working on (and one day hope to make some real progress with ;-) will involve severe punishments for players who break certain in-game laws, of which stealing is one example. I could create agents to monitor the player's behaviour and adapt the game to deal with the player, but I figured a more natural approach would be to use the NPCs. When they need an item and discover that it's missing they try to relocate their items. As NPCs can ask each other about seeing a particular item (great for spreading gossip), they have a pretty good chance of finding more interesting items. Should a player be discovered stealing by an NPC, other NPCs will be told and eventually the player will be dealt with within the context of the game.

Hurrah for consequences in gaming!

Quote:
Original post by Vanquish
Not to interrupt, but some earlier posts caught my eye:

"Agents can be characters (adding a murderer to a village full of people), or "fate" (for manipulation of intangibles, such as disease or luck). I give characters a routine, a base personality, a volatile memory, and a couple of motivations, and let them go off and do their thing. I then introduce appropriate agents for a story into the system, and then allow the player to start interacting. The player has exactly the same freedoms as any character in the system, and I allow them to form their own goals based on their experiences in the game. This way, whilst all the ingredients are in place for a story to evolve, I avaoid confining the player to any specified series of events, and shattering the illusion of freedom."

That sounds amazing. Ive always thought that in an MMORPG setting what you really need is a civilization sim running (full city with npcs going about a schedule with needs) and maybe 25 special NPCs with a more detailed schedule and need structure, built for real interactivity.




Yep, that's exactly what I'm trying to accomplish. Create a feeling of actually being immersed in a real environment by using basic task lists to simulate the daily lives of all the actors in a scenario, and letting the user interact with them. One of the oldest patterns in storytelling is a boring existence punctuated by extraordinary events. Too many games just give you the extraordinary events.

In one scenario, I do actually have a little village setup, where a murderer has a couple of basic rules: only kill at night, when he isn't knowingly observed, and pick a victim whom he has spoken to in the last 2 days. The player starts as having just moved to the village after inheriting his father's business, and thus has a routine that he should follow. The characters gossip, spreading fear and rumours about the murders as they go on, and the player can get involved as he sees fit. Eventually the murderer is either caught or murders the player, and (when I finish development) the game ends with the player's performance based on his involvement in catching the murderer.

The nice thing about this kind of simulation is that it allows me to bring in some other concepts that I really would like to introduce to games, such as senesence and multi-generational stories. :-D

Quote:

"So far, I've got a mostly-working prototype based on Agatha Christie's 'Mousetrap', which has led to some rather interesting situations. It's obviously not as nuanced as the original, but it's recognisable as the same situation, and can lead to a number of reasonably convincing outcomes. (Though getting the murderer not to just shoot everyone immediately was an interesting exercise in tuning algorithms. :)"

Can I play? sounds great?


It's not ready for anyone other than me to play with yet, but when I've polished it I would like to release it. I might need to change the plot slightly, as there's a rule with watching the stage play of the Mousetrap where you're not really allowed to tell anyone whodunnit. :)


#20 Vanquish   Members   -  Reputation: 216

Like
0Likes
Like

Posted 18 July 2005 - 06:07 AM

Mousetrap...was that made into a movie with Christopher Reeves and Michael Caine?

I loved the backstabbing in that if its the one Im thinking of.
Alfred Norris, VoodooFusion StudiosTeam Lead - CONFLICT: Omega A Post-Apocalyptic MMO ProjectJoin our team! Positions still available.CONFLICT:Omega




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



PARTNERS