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

Dynamic plotting

Started by bishop_pass Oct 18, 2000 at 11:09 AM 19 replies 3.4k views
Original Post
bishop_pass
bishop_pass
About seven years ago, I became fascinated with an AI project called ''Cyc'' (www.cyc.com) and I began to learn about meta-level knowledge bases, frame based AI, scripts, etc. It got me thinking about the ultimate future of games, and I arrived at this: Just as a storyteller narrates a story and improvises when appropriate, imagine an AI ''gamemaster'' which dynamically plots the role of your game persona. In other words, the AI sets the stage for you, and lets you engage in play. As gameplay unfolds, the AI draws upon its vast knowledge of plot techniques and the gameplayer''s tastes to make a unique and custom tailored experience for the player. Each player would have a unique experience, and each time the player begins anew, gameplay would unfold differently. Essentially, what would be required in addition to advances in AI, is an AI which has knowledge about plots, schemes, roles, writing, etc. Looking from this hypothetical future backwards, what would be the first step to initiate gameplay like this? Taking into account that we don''t have this advanced AI technology, what would be possible now? It seems possible that we could develop a ''lite'' knowledge base of mini-plots with fill in the blank slots. I know that someone else mentioned this concept on another thread. The key is to program the AI with enough panache and knowledge of context so that it can make all these plots gel effectively. I also propose that the AI should be able to build a model of the player and their tastes and desires. The AI should keep notes on the average duration that the player plays, the situations in which the player is most responsive and active, and which activities the player appears to enjoy engaging in. Any thoughts on the ''future'' of AI gamemastering?
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in
capn_midnight
capn_midnight
dude, making a game that taylors itself to the player. Would it be event driven? Like, you kill this guy and the story branches from there? This has been done before, but not very well and with not enough divergance. But to make the game change based on gameplay style, wow! I can''t even imagine it. Argh, my brain hurts. Okay, how about different values that represent a persons virtuosity. This could be done by measuring how often players kill instead of sneak or threaten instead of ask nicely. I don''t know...man, this sounds tough.

Bowowow yipeeyo yipeeyay
bishop_pass
bishop_pass
quote:
Original post by capn_midnight

This could be done by measuring how often players kill instead of sneak or threaten instead of ask nicely.



This is along the lines of what I am saying. So if the player spend a great deal of time skulking around dark alleyways and hiding behind doorways, then the AI draws upon its knowledge of plots, settings, etc. to generate situations incorporating aspects like this.

However, the AI would also be experimenting with the player, giving him new scenarios to feel out how the player responds, and thus building an even more accurate model of the player.

_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in
Run_The_Shadows
Run_The_Shadows
Yeah....how to make an AI that works as a *good* GM. Hmm. I suppose you could force-feed a genetic algorithm program entire PnPRPG campaigns/missions. But then again, it''d probly just kill itself when it got to the AD&D 3rd Ed. Rules....
On second thought, thats a bad idea.....
OOOH! Stick some electrodes REALLY far into your ears and think about good storylines....mebbe the computer will pick something up....*grin*

This RtS-caffeine-babble has been brought to you by:
-Run_The_Shadows
-Run_The_Shadows@excite.com
bishop_pass
bishop_pass
OK, lets look at this in more detail. Envision several layers to a game program:

First layer:
The graphics engine, responsible for rendering and physics simulation.

Second layer:
The simulation engine, divided into several modules, each responsible for simulating either the economy, characters, weather, etc. This layer calls upon the graphics engine.

Third layer:
The AI GM, responsible for learning about the player, observing the whole process, and making sure gameplay unfolds in an interesting way. The AI GM may allow the first two layers to operate uninterrupted until it believes it is appropriate to interject something.

Here''s an example:
Visualize the Sonoran Desert, complete with cacti, mining towns, gunslingers, outlaws, saloons, etc. Your character enters a saloon and joins a poker game with some rough looking characters.
Everything is running under the first and second layers right now. The second layer simulator is handling the cards and providing a perfect simulation of a deck of cards, the NPC betting, etc. The AI is observing, but letting things run their course.

A few hands are played and the cards are reshuffled. The AI is evaluating the situation for possible ''interesting'' plot twists. At this point, the AI overrides the simulation and calls upon a poker game scenario. The AI notifies the simulator to stack the deck. Your character is dealt four aces, and the mean looking guy across from you is dealt a full house. Betting ensues. The AI has decided that if you don''t fold, the mean looking guy will snap, threaten you, and draw his gun, possibly creating a very dangerous situation.

Now, the above scenario cannot and should not just be randomly applied. Rather, the AI has noted its application, and knows that it should not apply this type of scenario again for a long time. On the other hand, if the player plays poker again tomorrow and the simulator creates a similar situation on its own, then that is just the luck of the draw.

_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in
DarkFerrett
DarkFerrett
I love the idea of having that kind of plans. But the question is do you have the time and the funding to achieve that project? This idea would have been great for Deus Ex!

DarkFerrett

btw, check out my post about my halflife modificatioN!

www.shogunmod.com
Its your time to choose.
www.shogunmod.comIts your time to choose.
dog135
dog135
I think the first step for a game like that would be to create a game scenario that the AI could manipulate. How many variables would have to be manipulated to create the situation with the cards? And how would you procede in a situation like that? Draw your gun and have a 50% chance of survival? Doesn''t sound very fun.

Think of how you would make a game, where if a human were to be the GM, all he''d have to do is click a few buttons to manipulate the game play. Then from there, you can write an AI to replace the human GM.

E:cb woof!
E:cb woof!
Nice Coder
Nice Coder
I think a GA would blend into this task sutibly(sp? )
get it do determine the events its watching for, and the scripts that it will execute if it finds that event, (within paramaters).
It could also change the script- but that will be hard(er)

Or maybe Minimax, you''d have to get the values right (GA to the rescue!), but if you get it to see which moves the AI looks for (in context. Eg. Tough guy comes in, other guy cheating), and possible reactions (Leaving bar, picking fight).

If you have a small databace of possible actions/reactions (per context, but a lot total). (possibly another set of atributes to ''kick in'' different contexts, possibly by objects- eg. There is a piano, the algarithm would add the relevent contextual actions to the pool, and remove them once something happens (you move too far away, it gets smashed, ect). You could get the Algarithm to get a good plot going. Though it will take some time. (it is a GA- it takes a Looong time to do things like this).
Click here to patch the mozilla IDN exploit, or click Here then type in Network.enableidn and set its value to false. Restart the browser for the patches to work.
Veovis
Veovis
Nice Coder. Look at the Dates. You''re really bringing back alot of OLD threads that died a long time ago.
firewindshadow
firewindshadow
I''ve heard next generation of The Sim has something a little similiar to this awhile back but with user selectable content instead of full AI GM.

Players would upload a saved file of their little character''s behavior onto a Maxis website where there is some kind of AI script that would automatically profile all the data from players around the world and tries to match them in different situtations. Players could then define a scenrio of events on the website that they would like to see occur and the webserver would offer them in return another player''s profile for download and plays out the whole scenrio event in game.


>>I also propose that the AI should be able to build a model of the player and their tastes and desires.

Agrees with most of it but which user feedback but "tastes" is not a very efficent way to build a model on, or at the very least, hard to measure a user''s feedback; you can''t have all the npc in a town goes up to the player and asks "do you like my <style> cloth?"
Woodsman
Woodsman
quote:
Original post by Veovis
Nice Coder. Look at the Dates. You're really bringing back alot of OLD threads that died a long time ago.

But he's responding earnestly. I know that it's a taboo thing to "necro" here but I think that a genuinely intellectual topic like this could stand on its own feet even a few years later.

Anyway, Nice Coder, you should look into some of his and others' threads along these lines. Of interest:

  • Using Lisp (or another language) to generate fictional characters
  • Clean slate
  • A program to fabricate and articulate a plausible interlude


    Cheers.

    [edited by - woodsman on April 19, 2004 7:16:51 PM]
  • If a plant cannot live according to its nature, it dies; so a man.
    Woodsman
    Woodsman
    quote:
    Original post by firewindshadow
    Agrees with most of it but which user feedback but "tastes" is not a very efficent way to build a model on, or at the very least, hard to measure a user''s feedback; you can''t have all the npc in a town goes up to the player and asks "do you like my <style> cloth?"

    But you can work up some time of associative property between any and all possible choices open to the player. If a player speeds through dialogue, making speech choices quickly and tends to choose the most violent solution to a problem I think you could easily set it up so that the game realizes this and adjusts the gameplay accordingly. The same goes for someone who explores every inch of a level, talks to every npc and so forth. Certain assumptions can be made, though the determining of those is obviously very dependent on the game itself.
    If a plant cannot live according to its nature, it dies; so a man.
    dgaf
    dgaf
    I wouldn''t be surprised to see the next generation of consoles come complete with controller built-in heartrate monitors.

    You wanna know when people feel the most emotion in your games? Use the SDK''s built-in heartrate monitor API and let your imagination do the walking
    __________The title of "Maxis Game Designer" is an oxymoron.Electronic Arts: High Production Values, Low Content Values.EA makes high-definition crap.
    LessBread
    LessBread
    A classic bishop_pass thread...
    "I thought what I'd do was, I'd pretend I was one of those deaf-mutes." - the Laughing Man
    Neoshaman
    Neoshaman
    what does bishop pass do actually? he doesn''t show anymore on gamedev??? however i would be able sooner (in mouth scale)to show something that adress his problem (generation of all sort around dramatic interest)

    >>>>>>>>>>>>>>>
    be good
    be evil
    but do it WELL
    >>>>>>>>>>>>>>>
    >>>>>>>>>>>>>>>be goodbe evilbut do it WELL>>>>>>>>>>>>>>>
    Iron Chef Carnage
    Iron Chef Carnage
    I spent a few months last year interacting with Bishop. He''s pretty annoying most of the time, but he does make contributions that are at least fairly articulate. The problem is that in threads like this one he tends to lecture more than he discusses. Ah, well.

    On topic, what are some good examples of real implementations of this idea? Is it ever worth the investment?
    Woodsman
    Woodsman
    quote:
    Original post by Neoshaman
    what does bishop pass do actually? he doesn''t show anymore on gamedev??? however i would be able sooner (in mouth scale)to show something that adress his problem (generation of all sort around dramatic interest)

    He doesn''t post here anymore, or at least hasn''t in some time for reasons beyond this thread. Anyway, I''d definitely be interested in what you have to say as this fascinates me.
    quote:
    Original post by Iron Chef Carnage
    I spent a few months last year interacting with Bishop. He''s pretty annoying most of the time, but he does make contributions that are at least fairly articulate. The problem is that in threads like this one he tends to lecture more than he discusses. Ah, well.

    ...
    quote:
    Original post by Iron Chef Carnage
    On topic, what are some good examples of real implementations of this idea? Is it ever worth the investment?

    I''m not sure about real world examples though I''d like to see what''s been done. I wish I had more free time for investigation into this area.

    Hmm.
    If a plant cannot live according to its nature, it dies; so a man.
    J37IB
    J37IB
    I''ve toyed alot with ideas on how to make dynamic gameplay. In fact, it''s one of my favorite ideas. So far as I know, however, it''s never been done to any great effect with a story-based game.

    Nethack is a classic example of a game which is different each time and, in fact, its gameplay could be made to adapt to the player instead of the random number generator. Just keep track of certain player actions and adjust the probabilities of generation accordingly. Players who aren''t searching for hidden doors could end up in a dungeon of more obvious and immediate challenges, instead of stumbling around frustrated because a hidden door bars them from continuing.

    This would be against the original ''idea'' of Nethack as a game; having the dungeon adapt to the player''s playstyle would make it a different experience entirely, but it could still be fun.

    The problem with doing this to a story as opposed to with level designs or monster placement is that people have a much stronger grasp of what makes sense in a story. Dungeons can be hollowed out in random directions, and who knows what motivates monsters to place hidden doors. But the human mind is so attached to the concept of cause and effect that one slip up in a story will ruin it.

    Stories are actually how people learn and remember. If you talk to someone who can memorize the order of a deck of cards by looking at each for 3 seconds, they''ll probably tell you that they make a story about how each card leads to the next. We do it all the time, and we know immediately when it breaks down.

    To make a working story on the fly you would need to be extremenly careful and you''d need to imbue the ''computer GM'' with a very keen sense of what makes sense for a story, not to mention give it a way to keep things interesting and exciting. It''s bordering on the realm of AI programming, something I personally have never been good at comprehending ^^;;.
    Neoshaman
    Neoshaman
    quote:
    Original post by Woodsman
    quote:
    Original post by Neoshaman
    what does bishop pass do actually? he doesn't show anymore on gamedev??? however i would be able sooner (in mouth scale)to show something that adress his problem (generation of all sort around dramatic interest)

    He doesn't post here anymore, or at least hasn't in some time for reasons beyond this thread. Anyway, I'd definitely be interested in what you have to say as this fascinates me.
    quote:
    Original post by Iron Chef Carnage
    I spent a few months last year interacting with Bishop. He's pretty annoying most of the time, but he does make contributions that are at least fairly articulate. The problem is that in threads like this one he tends to lecture more than he discusses. Ah, well.

    ...
    quote:
    Original post by Iron Chef Carnage
    On topic, what are some good examples of real implementations of this idea? Is it ever worth the investment?

    I'm not sure about real world examples though I'd like to see what's been done. I wish I had more free time for investigation into this area.

    Hmm.


  • a topic about both advance ai and low structure of my analysis on the subject

    actually i have find dinamic story fairly easy to achieve once you document yourself OBJECTVILY on story (mean also what other field say about it, linguistic, narrativist, writer, psychologist, cognitivist)

    the major flaw i have find from those you study story generation is ideology, this lead to subjectivity and you would midd the point, because you don't want to see story for what you don't want it could be and then discard possiblity that could lead more close to their actual desire, the seek the house in the room of the house, the second things is that they want the last step before the first and put the roof before the floor, which more difficult to build the house

    i have aim low and build complexity around the core

    first what is a story?? a story is a succession of event which are relate by someone with a structure that help the information being understandable for the audiance
    actually ALL game ARE dinamic story, best, game SHARE THE SAME STRUCTURE as story (and not game only, but it's out of topic), this make easy the analysis of the two
    the two focus around a goal to be acheive and then all the cast get his role around their fct toward the goal (protagonist, antagonist, etc...), it's a good deal to analyze game as themselves two

    but we are not satidfy aren't we??
    it's seems that story is much more...
    actually that's all story is, succession of event
    once a game end it became a story which can be told
    game are story in potential
    but what are the MORE that miss the definition, isn't something special to story???

    look at the thread
  • a game that make you cry
    if you look carefully you see that people talk more about DRAMA
    yes, drama is that which make story interesting, but what is drama?? isn't drama the telling of the human nature?
    story actually has millenium experiance about telling drama, but all story is not about drama

    what about game? did game could provide drama?? let's see at actual game, most focus on activity (doing) and external problem, rather than being (psychology) and internal problem which is the core of drama, in game we shift into traditional form of story to tell them

    then back to game, what the main problem with story in game??
    the problem come that game stress choice (base on question in a kind) while traditional story give you the answer directly without choice, the problem is that we had been raise to see drama in one way only...

    problem is that we have focus more in WHAT and HOW rather than WHY, a lack on analysis and insight drive by ideology and desire which mask us the purpose of technics use in traditional story
    as said before game is more about choice, all the drama then takes place here, the player by giving the answer (reacting) change the state of the problem which then produce another question (interaction), then the whole evolve dinamically.
    actually it's the process that a writer face when writing, each scene is a case and the writer is a king of god player which provide the answer but also decide the next question and update the world (both the game and the player), the more close of game as dramatic generation is GMing (or DMing)
    in traditional story we have a vocabulary that adress problem of dramatic content, using this vocabulary we shape and provide this content, the problem is now how to we do this in term of gameply mechanism (rather than using cut scene and the kind which belongs to traditionnal story tellings)
    but since we accept this as given (how and what) and forget that they actually exist for a purpose (the why) we have trouble creating vocabulary for game (without knowing what problem resolve a particular technic we could translate/find him into new media)

    drama are possible in game, and dinamic pltting is still writing

    (to be continued if you want)

    any comment?

    i apologize for my POOR english
  • a lot of link on the subject


    >>>>>>>>>>>>>>>
    be good
    be evil
    but do it WELL
    >>>>>>>>>>>>>>>

    [edited by - neoshaman on April 20, 2004 12:49:39 AM]

    [edited by - neoshaman on April 20, 2004 12:59:33 AM]
  • >>>>>>>>>>>>>>>be goodbe evilbut do it WELL>>>>>>>>>>>>>>>
    Jotaf
    Jotaf
    Ok... this is a really good topic and we could be all developing the next-generation titles in no time if we get something out of this

    Here's my view on the subject: if you try to develop an AI that understands the world in order to keep consistency, you'll see that this task is REALLY hard. There is however another way to keep consistency - simulation. Soooo, to make a game like this, you would first have to simulate an interesting world, you can't ask an AI agent to figure it all out. This could be achieved with some simple systems like demographics, economics, some simple physics (I'm not talking about rocket science here, some of them are really easy to implement if you do some research), and planning AI entities with basic goals, which is in my opinion the easiest way to make them look alive, busy and intelligent. For this to work the world must be truly dynamic - by this I mean that you shouldn't be lazy when you're scripting what everything depends on. If there's no food because the evil player decided to burn down the crops, NPCs will die, and some of them will use the planning system to solve the problem probably by stealing - stuff like that. Just try to see how you can break down these situations into little pieces that work together to get some effect. Sorry I kinda let myself ramble on too much Here's a link, read this page and I'm sure you'll immediately fall in love with it (there's a series of articles on that subject there if you're interested)

    http://www.skotos.net/articles/dawnof27.shtml

    Ok... assuming you have this interesting dynamic world, like all games should have. Then you can have an AI entity that looks at stuff and tries to throw interesting situations to the player. It should have some knowledge of cause and consequence, like this: how can I make the player happy? (looks up some list of actions that may achieve this) -> he likes dueling with rude humans, so I'll let him do that. how? (the conditions are: an NPC is angry and he's near the player; again look for actions that make this happen) -> by chosing some NPC that looks like this, making him angry and ordering it to go to a place near the player. This uses the same planning system, just with different sets of actions - which means less work for you

    The AI would only influence stuff that should be random and the AI of the NPCs, to make it believable. It can't just decide that a portal should open out of nowhere and monsters pop out. Or something that in the context of the game world would look even less believable.

    [edited by - Jotaf on April 21, 2004 3:35:38 PM]

    [edited by - Jotaf on April 21, 2004 3:38:34 PM]

    Topic Locked

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

    Sign in to reply to this topic.