Jump to content
  • Advertisement
Sign in to follow this  
Trapper Zoid

Automated storytelling and interactive plot in games

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

If you intended to correct an error in the post then please contact us.

Recommended Posts

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]

Share this post


Link to post
Share on other sites
Advertisement
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.

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.


Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!