Automated storytelling and interactive plot in games

Started by
121 comments, last by Trapper Zoid 18 years, 7 months ago
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.
Advertisement
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
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.


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

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.

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.
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?
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
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. :)
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

This topic is closed to new replies.

Advertisement