Skip to main content
GameDev.net gamedev.net
🔒 Locked

Did anyone ever make any progress with Interactive Storytelling ?

Started by Vanquish Oct 20, 2005 at 6:20 AM 122 replies 21.9k views
Original Post
Vanquish
Vanquish
We had to table that part of the design for awhile, and I was wondering if anyone had made any progress in the meantime.
Alfred Norris, VoodooFusion StudiosTeam Lead - CONFLICT: Omega A Post-Apocalyptic MMO ProjectJoin our team! Positions still available.CONFLICT:Omega
Trapper Zoid
Trapper Zoid
I'm afraid I haven't yet. I'm still really trying to get back into a development frame of mind.

My main interactive storytelling task over the last few months is to try and figure out a plan of the most sensible way to get there. I'm trying to determine a series of "baby steps" by figuring out a series of projects that gradually increase the level of interactive storytelling until I get the ultimate game that I want to create. Unfortunately with a team of just me and my present level of talent it's going to take me a long time to do [smile].

I'm interested in how everyone else is going as well.
hunterb
hunterb
http://www.gamestudies.org/0101/

This website has a lot of high-concept papers discussing various aspects of game design, interactivity, and narrative theory. They can get pretty dry but there are some interesting ideas.
sunandshadow
sunandshadow
I'm not working actively on the subject, although I continue in my quest to understand plot and how to generate it. Latest interesting and possibly useful bit of info:

Quote:
Sunandshadow Wrote:
A plot outline can easily be built out of the following building blocks:

Character A is in state J.
Character A is impacted by action X
Character A reacts, changing to state K.
Character A takes action Y.

Character B is in state P.
Character B is impacted by action Y.
Character B reacts, changing to state Q.
Character B takes action Z.

Character A is in state K.
Character A is impacted by action Z.
Etc.

Note:
- A character can be impacted by his/her own action or an outside action not performed by any of the characters such as a natural disaster.
- Taking an action might mean chosing to do nothing as well as actually doing somthing.
- A single action might affect more than one character.
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.
Kaze
Kaze
I’m still doubtful that interactive story telling can be implement in any practical way beyond
Go to [argen] and [find] my [chicken] for me
Iv read some articles but none at low enough level to actually says how it overcomes the problems like the amount of material and logical rules for it you would have to somehow glue together to get anything beyond a random quest generator that doesn’t give impossible tasks or developments that just don’t make any sense.
Drethon
Drethon
I would suspect that interactive story telling could be generated in a similar way to how computers play chess. If you have two computer driven sides, each can look at their ways to advance their position similar to advancing chess pieces. Instead of directly affecting events though, the side asks a player to do something for them. Of couse this is far more complicated than chess but the same basic rules can be applied.
My $0.02
Kevinator
Kevinator
The problem with interactive storytelling is that you either need to model the AI of a lot of NPCs (which is impractical because it has a quickly-growing time complexity as you add more NPCs), or you have to model the heuristics of an author, which also requires a sophisticated AI.

Anything else will be way too rigid and the player will pick up on the 'pattern' after only a few stories.
Beige
Beige
How detailed is this interactive storytelling supposed to get?
Vanquish
Vanquish
Numerous sets of NPC groups with numerous NPC's each that have their own needs and goals which change based on player's actions. Interaction can come through combat, environment(e.g. steal something or destroy something they need), or speech (natural language processing, contextual response choices, or mere keywords).

Thats what I want and Im not giving up till I get it :P
Alfred Norris, VoodooFusion StudiosTeam Lead - CONFLICT: Omega A Post-Apocalyptic MMO ProjectJoin our team! Positions still available.CONFLICT:Omega
Beige
Beige
This seems difficult to do without becoming boring and predictable.
justo
justo
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...).
Wombah
Wombah
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]
Trapper Zoid
Trapper Zoid
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...
Beige
Beige
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.
Wombah
Wombah
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]
sunandshadow
sunandshadow
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.
Beige
Beige
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.
Wombah
Wombah
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.
sunandshadow
sunandshadow
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.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.