Advertisement

A program to fabricate and articulate a plausible interlude

Started by October 11, 2003 09:49 PM
129 comments, last by bishop_pass 21 years, 2 months ago
I know! Lisp is the correct answer! Right??

James Simmons
MindEngine Development
http://medev.sourceforge.net
quote:
Original post by caffeineaddict
I think this idea could very well be used in the future, it''s a good idea, but the initial setting up and refining of the system to generate genre specific storylines seems like it would be extremely difficult.

In a game there are many variables to consider in the outcomes of all situations, and if you''re using prior events to drive the story forward, all of these variables (at least in my mind) would have to be taken into consideration to generate the next episode.

Take for example the stagecoach example. You may successfully rob the passengers without having to kill anyone, or you may have to kill someone and still get the money, either way could be considered a victory because you got what you were after. On the other hand, you could attempt to rob the stagecoach, not get the money, still kill someone in trying to rob them and still consider this as a victory depending if you''re a ruthless criminal/killer or something and weren''t necessarily there for the money.

The story engine would have to take into account all of these possible outcomes and label them as good or bad so that it may take your previous choices and put them into the story, which may not be that easy considering your prior experiences and whether you want to be good or bad.

[edited by - caffeineaddict on October 18, 2003 11:27:01 PM]


Not necessarily difficult. You could use a truth maintenance system to keep track of plot actions and results. Then use a system of rules to propagate those results. So, something like:

(if (action-taken rob-coach) propagate-fact(action (player steal money)))

Then in your tms, you''d have lists of things like:
(action (player steal money))
(requires-need (robber money))

With a rule to assert another fact based on these two.

(if (and (action (player ?x ?y)         (requires-need ?z ?y))    (propagate-fact (occupation (player ?z)))) 


That''s a pretty crude way to do it, and the rule would have to be more complex to be able to work for all situations (like satisfying other pre-conditions to the state), but you get the idea.

bishop, I''d love to work on something like this




President of the GDNCS - GameDev Non-Conformists'' Society.
Join by adding these lines in your sig and then refuse to conform to anything.

This copy of planet Earth has been unregistered for four billion years.
oh hai
Advertisement
quote:
Original post by neurokaotix
I know! Lisp is the correct answer! Right??
You''re not really paying attention, are you?

_______________________________
"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 Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
quote:
Original post by bishop_pass
quote:
Original post by neurokaotix
I know! Lisp is the correct answer! Right??

You''re not really paying attention, are you?



Yeah I am, and I like where you''re going with this idea.

James Simmons
MindEngine Development
http://medev.sourceforge.net
quote:
Original post by neurokaotix
Yeah I am, and I like where you''re going with this idea.
And how would you explore the idea further?

_______________________________
"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 Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Call these schemas, if you will:


went-hunting-in-the-wilderness
killed-a-guy-in-a-saloon
got-sick-and-sought-a-doctor
got-sick-and-died
got-sick-and-got-better
got-sick

got-chased-by-indians
found-a-dead-body
fell-off-a-cliff
got-thrown-from-your-horse
watched-a-herd-of-buffalo
watched-a-herd-of-wild-horses

came-upon-a-small-town
stayed-in-a-small-town

engaged-in-a-showdown

stole-a-horse
robbed-a-stagecoach

witnessed-a-bank-robbery
witnessed-a-showdown

got-shot-by-a-stray-bullet
narrowly-missed-getting-shot-by-a-stray-bullet

witnessed-a-man-get-hit-by-a-carriage

bought-a-horse
bought-a-gun

gambled-at-a-saloon

got-told-a-tale-of-treasure-by-an-old-codger

discovered-a-cave
discovered-an-abandanded-cabin

witnessed-a-hanging

ran-off-into-the-wilderness

sold-a-horse
sold-all-your-belongings

got-mugged-in-an-alley

knocked-a-guy-out-in-an-alley-and-took-all-his-stuff

got-captured-by-indians
got-captured-by-a-deputy
got-captured-by-a-sherrif

got-thrown-in-jail

got-captured-by-a-bounty-hunter

nearly-got-lynched-but-escaped

came-upon-a-loner-in-the-wilderness

met-a-businessman-and-offered-a-proposition

panned-for-gold

bought-a-mule

found-an-artifact

observed-a-shady-transaction

heard-whispered-about-a-robbery-thats-going-to-happen

caught-a-cardplayer-at-cheating

got-caught-cheating-at-cards

got-wrongly-accused-of-doing-something-illegal



Notice that some are obscure and specific, and some are general. Notice that if they are specific, they are specific to a genre. The point is, you need to be specific, because that is knowledge which is in your head, and you must impart that knowledge to the program.

The list is rough, and it is also incomplete. In other words, it isn''t comprehensive. That''s OK.

By building a knowledge base that knows the necessary preconditions for each schema, and likewise knows how to string together schemas, you begin to arrive at your solution.

The key is to not seek a general solution, as no program will figure out something interesting. The key is to take the interesting things in life, and give that knowledge to the program in a semi-general form.

_______________________________
"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 Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Advertisement
Moved from the Lounge to the AI Forum.
_______________________________
"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 Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Off-topic: When I started reading this post it reminded me of the Mind Game in Ender''s Game(A book by Orson Scott Card). It generates scenarios for the kids to try and get pass, then the I.F.(Which in this post''s case, the computer) studies how they do it. Then the Game creates another scenario and the process repeats.

Is this similiar to what you are trying to do? I''ll try and give you some idea''s, but I have almost no knowledge of AI so I don''t know how much help I can be.

i read all the 5 page (and english give headache as a french native)
i''m working on story orianted problem on game (specially generation and dinamics) but i''m not (yet) a computer programmer
it''s pretty like something i''m working on, but i think this could work for the specific problem of generate content but not enough to make interesting experiance because it lack a lot of story requirement (as i read through)
it doesnot take in account narratives and may fall under the same problem as simulation (lifeless)

for mys self i have focus more on dinamic story (the content and general conflict exist already) and i have end up to see that we need some trick to made an interesting experiance
mostly by an assymetric structure where the drama manager oriant general plot and keep the agent lead within an area while they are autonomous (and only using fms)
the most basic preference is that the drama blocks some goal and act from agent while in exposition mode of the story and go to the next state (developpement) when some general requirement are met (the story became emergent and crystalized around constrain)

the fact is there is already a kind of game which generate interesting dinamic story (after i build my sys i have discover them), there are mostly neglicted because of their content:
it was the jap dating sims and the kind (raising, and any social narrated orianted)
their still in infancy but they are incredibly simple and effective (only a little improvement are required to make them truly amazing)
they are evolution of visual novel (which use tree type narative structure) where we had simulation but in the story syntax (let the tree emerge rather than hard code it) where you obtain paralele net which cross themselve to create a higher structure

why only fms?? because it lead to something like cell automaton and a-life like and lead to emergent pattern of story in an area of possibility (strange attractor) build by the rule of the game
(well agent can be more or less complex depending of their importance trough the game or the experiance of the game itself, recurrent character will have more complex behaviour like an full emotion sys parralele to finite state to change dinamicly weight of switch condition )

oh!
for content generation learn from l-system they would be very useful (it''s something which work kinda like dna to create complex structure like fractal or tree, then...)
from a chain of element we can made an inferance of possibility tree and then find by an heuristic method the best suited experiance (rather using simple linear method)

well i use a lot of thought which come from science of complexity, theory of chaos and quantic physics and some phylosophic background hints from hindu phylosophy, kabbala, martial art, manga (! read hunterxhunter you will understand, it''s from an author which want to became gamedesigner and ended mangaka, he brings a lot of problematic of video game into his book, and even the hero come into a mmorpg like land create by the force of the spirit which the entrance is through the joystation a console!), and other fields

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



>>>>>>>>>>>>>>>be goodbe evilbut do it WELL>>>>>>>>>>>>>>>
quote:
Original post by Tron3k
Seriously that''s a cool idea though. Imagine you''re mountain climbing and you suddenly have to leave the game. You come back, and your character is hanging about to fall to his death! Fascinating. However, I''d be a little pissed if it said:

"Sorry, your character died while you were away. Have a nice day!"


Reminds me of Legend Of The Red Dragon


You play for 5 minutes in the forest, goto the bar, get laid, attack the red dragon and collect the reward.

Next day you log on and...
You have been killed by Zul
You have been killed by bishop_pass
You have been killed by caffeineaddict
You have been killed by Neoshaman
You have been killed by neurokaotix
You have been killed by Stick
You have been killed by sjelkjd
You have fallen pregnant with Lilwonder and you now have a child called Tron3k
You have been killed by Lilwonder


(yes - my character was a female as you get ALOT more bonus points when you have children)





Beer - the love catalyst
good ol'' homepage
Beer - the love catalystgood ol' homepage

This topic is closed to new replies.

Advertisement