Advertisement

Did anyone ever make any progress with Interactive Storytelling ?

Started by October 20, 2005 06:20 AM
122 comments, last by Nytehauq 18 years, 11 months ago
This seems difficult to do without becoming boring and predictable.
hmm, hopefully i'm reading you guys correctly (theres a bit of group think here i'm not tapping into), but taken from the literal sense at least:

http://interactivestory.net/

i only tried out an alpha demo a long time ago, but it seemed very promising. i know when the full release happened the common interweb wisdom was that "that story wouldnt make a very fun game" and it was dismissed...which wasnt at all the point, it was supposed to be something very different than has been made before and as a test platform for their narrative scripting language (ABL) and for pseudo natural language processing.

ABL is also available for others to use and integrate, but it looks to be more suited to a few characters rather than dozens or whatever (though now that i think about it, modeling your opponent as a single entity that responds emotionally to the player's actions and building in routines for it to control its sub units...).
Advertisement
I didn't read all of the thread Trapper Zoid linked to, so sorry if this is covered in there somewhere. Also, I'll read Trapper's thesis as soon as I get the time, so the same applies there.

I toyed with the idea of making a character-driven story by simulating a memetic [wikipedia] system (somewhat simplified and adapted to computer simulation) in a population of agents/characters. I got to writing a theretical designdoc for the system, and since then I haven't had the time to actually test or implement any of it.

I still feel the general idea has potential though. Especially if combined with some form of external higher level script that could force certain events without regard to the memepool, and implant meme in agents accordingly. Seems that could (potentially) give control both for character- and plot-driven stories. Also, I like the general design of such a system. Characters gather information about the world through their senses and interaction with other characters, and this information shapes how they react to other bits of information and other characters. Feels like a life-like way to do it, much as the theory of neural networks. But 'most life-like' dosn't equate to 'best'...

It also comes with some hefty drawbacks. Especially if these meme are to be used in conversations, as was my hope (both between NPC/NPC and PC/NPC). Then some form of natural language translator *shiver* is needed for full effect.

Anyone else tried/considered this? Why did/didn't it work? Do you think it seems reasonable? Stupid?

[EDIT]
I've read the former thread (almost all of it at least) and from what I gather, my system - which I lovingly named MemBrain :) - is a character driven approach in the terms used there. Also, it aims both to be plot driving and a form of AI system. Or, rather, an EQ system. The utopian version of MemBrain handles everything from plot to rumor spreading to low level actor behaviour. I'm not quite there yet though... :)

There were some references to other systems that managed the knowledge of actors into account, and this is exactly that, but with a firmer rooting in memetics, for better or worse. I'm very interested in what approaches others have taken, and what the results were.
[/EDIT]

[Edited by - Wombah on October 21, 2005 7:52:10 PM]
That AP above was me; I know I was logged in (because I selected a cute smiley icon for the post), but for some reason it made me anonymous. Oh well...
It seems to me, that just because you can affect a story doesn't make it any good as the backbone for a game.

Most players are not writers. Most designers are not writers. Will the end result of this really be dramatically effective?

I suppose the root here is what makes some stories better than others. The current techniques being described would seem to create functional, derivative stories.

Guess it has to start somewhere, but the link between quality and interactivity seems tenuous at the moment.
I agree that one should start out small when designing complex systems like these, but most often I can't bring myself to do it. Most often this means I'm designing and adding features until I'm left with a lumbering monster of a design that regardless of whether the design would work, is too complex for me to implement singlehandedly. :/
But accepting that you have a problem is the first step towards solving it or so they say, so maybe there's hope. :)


The more I think about it (and read other ppls views) I feel MemBrain or similar character-driven systems should only be used to respond to a story or plot that some plot driven system created. At least as far as the main storylines go, since the tweaking of rules and initial memecomplexes would be maddening if you want to be certain of some given result of non-trivial complexity. MemBrain could probably manage a lot of interesting sideplots of varying complexity though. They'll just be hard to predict correctly.

The real beuty of using meme for describing a character is that as they become infected with new meme, they become slightly different persons, which I think goes a long way to simulate real human beings. Close enough for most any game I've played to date anyway. It is (in theory) a simple system that models complex entities. But because of that, it is very hard to predict what will happen when infecting an actor with a specific meme, since that all depends on the relative interaction between all other meme in the actors memecomplex.


***********************************

As for the story system, it seems there are two parts to that system with it's own problems, namely;

1) Create story/plot
This is where the system might be a bit too rigid, and not be able to make those storylines really dramatic/emotional or otherwise 'good'.

2a) Enforce story/plot
Here is where the system runs the risk of either having to skip the story entirely because the player did 'the wrong thing' or railroad the player into submission.

2b) Dynamically change the story
This is where the system might simply fail to find a suitable storline that fits the current state.


Focusing on problem 2a some form of top-down control system as discussed in the very end of the other thread could try to enforce the story by different means.
Assume for now that we have a fixed story set in stone, and that that story is linearly built up of certain events. Between those events the story is undefined though. Now, I'm making this up as I go, so it might not work (probably won't), but I'm thinking you could create a system that uses 'gentle railroading' to enforce a story:

1) Always limit the player to actions that do not totaly break the story. Such actions should be as few as possible, of course, but there will probably always be things you really don't want the player to do.

2) At all times, keep track of chains of smaller events that tranform the current state to the precondition state of the next main story event. To this end you have an expert system or similar, that has a bunch of smaller events with well defined pre- and post-states.

3) If neccessary, fudge the world so that some chain of smaller events can be enforced upon it. Say for example the story has come to a point where the only way to drive it forward in the right direction is to have the player betrayed. Then you make someone betray the player. In MemBrain e.g., I would imagine you search through those close to the player and pick the character for which the idea of betraying the player makes the most sense (contradicts the memecomplex the least).

4) In some clever way(tm) make informed desicions about when to force the story forward and when not to...


In this system, an author creates a story, and then describes it to the 'railroading-system'(tm) in a way it can understand. Most probably this will take the form of various state changes and pre/post conditions. And then the system enforces that story. The main parts of the story will of course be the same each time you play the story through, but the part in between are not.

Now, since that is most probably not good enough, this should probably be combined with another system that can dynamically update the story. That way you have two systems that both can alleviate any logical inconsistancies in the story, and both add a certain form of dynamic to the story. But if you get that far, you don't really need to make a system for writing the basic story as well, so problem 1) above is not a problem if you solve 2a) and 2b). I think it is only reasonable that some author writes down the main direction the story should go, and also marks any important events, that cannot be changed in any way. This would also ensure some level of quality for the story. Just as Beige I'm having doubts that a completely computer generated storyline will stand up to human writing. This way, we're doing comuter aided writing, but where an author has final say.

*****************************************************'

Longer post than I planned. Hope I made any sense whatsoever, I'm tired and not writing in my native language. Read some parts of it through now, and found it hard to follow my own train of thought. :)
I'll come back tomorrow after some sleep and fix it...

[Edited by - Wombah on October 21, 2005 11:48:22 PM]
Advertisement
IMO 'enforcing' a story is the wrong idea. The plot of a story can be analogized to an argument, where the climax is the conclusion. An interactive story generation engine ought to pick the subject of the argument, but not the conclusion - the player's actions ought to determine a conclusion which is appropriate to that particular player's desires and opinions. An interactive story is not a 'storyline' as much as it is a rat maze and the player is the rat, choosing whether to follow the smell of the cheese or some other desired goal, choosing whether left is better than right.

I want to help design a "sandpark" MMO. Optional interactive story with quests and deeply characterized NPCs, plus sandbox elements like player-craftable housing and lots of other crafting. If you are starting a design of this type, please PM me. I also love pet-breeding games.

I can't help but think that abstracting a story to such a degree is just going to give you the Diet Coke of narrative.

Quote:
An interactive story generation engine ought to pick the subject of the argument, but not the conclusion - the player's actions ought to determine a conclusion which is appropriate to that particular player's desires and opinions.


Won't engines like this inherently lack the specificity and details of story that knows where it's going, or am I way off base here? I'm just curious as to whether this is a limitation of the engine's concept or not.
I'm getting a bit confused by the terminology here, but

Quote:

An interactive story is not a 'storyline' as much as it is a rat maze and the player is the rat, choosing whether to follow the smell of the cheese or some other desired goal, choosing whether left is better than right.

by: sunandshadow


As I understand the non-enforcing system, with the rat maze analogy this would mean that the system should adapt the maze each time the player/rat turned either left or right, so that the goal is either still accessible, or by moving the goal to somewhere in front of the player.

Here's how I see it:
Either you do this without moving the frame of the maze. I.e. you have a maze that is fully contained in a square. Within that square, the maze is dynamic, but it never extends outside the square. This is a form of 'enforcing' the story, since there are some paths that simply are not accessible to the player. If you add the constraint that the goal stay in it's place, you more or less have the system I tried to describe earlier, where the overall story arc (from start to goal) stays the same, but the specifics of the path varies from one maze instace to another. One downside is that this kind of story is no more fully dynamic than any good multi-linear story of games that exist today. The upside is that you can automize the process of writing the multilinear story, and focus on the overall storyline. You alleviate the problem with exponential growth, in effect.

Another way to go about it is to make the system fully dynamic and let it adapt the maze as best it can to the players turns, but I have a hard time seeing how you decide when the player is finished/has reached the goal in this case. If the maze is updated all the time, I see no defined end to it? This might be a good thing, but then I'd say you do not have a dynamic storywriter, but rather a dynamic maze/story simulation, as simulations are not 'required' to have a beginning and an end in the same way I think of stories. It seems to me that this system runs the risk of an infinite loop. A bit like when you play five-in-a-row on an 'infinite' grid. There is no guarantee that the game ends.


I'm satisfied with a system that allows you to specify the basic storyline, something like
'The player is framed for murder'. After escaping, s/he must clear her name and find the real killer'.
Then the system automatically takes care of assigning consequences(spelling?) to the various actions the player can take. What you gain compared to mapping all possible paths from the escape to the resolution (conviction of the real murderer) is that you do not have to specify excplicitly what happens if the player decides to confront the murderer as opposed to secretly collecting evidence. The system searhes for other events that lead further towards the goal, and then chooses a consequence (the murderer flees e.g.) that does not mean the path towards the goal is completely blocked. If there are no such consequence, the player cannot take the action or looses the game. Either way, the system enforces that the player must go down a road that is dynamically created, but conforms to the overall story arc.

Not sure I'm being clear about what I mean, but the system I'm proposing/trying to create isn't one that produces shakespear-quality stories at the push of a button, but rather one that helps incorporating some degree of interactivity into an existing overall story arc. This might not be what you're after though.
Quote:
Original post by Wombah
As I understand the non-enforcing system, with the rat maze analogy this would mean that the system should adapt the maze each time the player/rat turned either left or right, so that the goal is either still accessible, or by moving the goal to somewhere in front of the player.

Here's how I see it:
Either you do this without moving the frame of the maze. I.e. you have a maze that is fully contained in a square. Within that square, the maze is dynamic, but it never extends outside the square. This is a form of 'enforcing' the story, since there are some paths that simply are not accessible to the player. If you add the constraint that the goal stay in it's place, you more or less have the system I tried to describe earlier, where the overall story arc (from start to goal) stays the same, but the specifics of the path varies from one maze instace to another. One downside is that this kind of story is no more fully dynamic than any good multi-linear story of games that exist today. The upside is that you can automize the process of writing the multilinear story, and focus on the overall storyline. You alleviate the problem with exponential growth, in effect.


What I was trying to describe is a system which does not have only one goal, but a range of two or more goals which are logically determined by the thematic argument. For example, say that the thematic argument is "self-interest vs. self-sacrifice". This is the choice we are presenting to the player. Logically, the player can only respond in one of three ways: by choosing self-interest, by choosing self-sacrifice, or by choosing a mixture of the two. So please picture our rat maze as being wedge-shaped. The player starts at the point. Every time they choose self-interest they move to the left, and every time they choose self-sacrifice they move to the right. There are 3 different goal points at which they can trigger the game to end in one of three different ways: the left corner delivers a premise about self-interest, the right corner delivers a premise about self-sacrifice, and anywhere in between delivers a premise about balancing the two.



Now, this assumes that you want to say that whatever the player chooses is the right answer. But you could also set it up so that some answers were predetermined to be considered right and others to be considered wrong, or even that all were predetermined to be chosen wrong. A player arriving at a 'wrong' answer would recieve a tragic ending, whereas a player arriving at a 'right' answer would recieve a happy ending. Pleas note that this is an example of a "what should we do?" thematic choice, but it would work just as well with a "how should we do it?" thematic choice, or you could combine the two to get a much more complicated array of possible goals.

Beige - do you still think that a story generated this way would lack specificity and details? I don't think it would, since the same details would be used to tell the story in every case, it is just the interpretation of the details which would be changed to match the selected conclusion. But of course it's hard to say without actually generating some examples of this type of story.

I want to help design a "sandpark" MMO. Optional interactive story with quests and deeply characterized NPCs, plus sandbox elements like player-craftable housing and lots of other crafting. If you are starting a design of this type, please PM me. I also love pet-breeding games.

This topic is closed to new replies.

Advertisement