[MUD-Dev] A footnote to Procedural Storytelling

Travis Nixon tnixon at avalanchesoftware.com
Sun May 14 01:21:35 CEST 2000


-----Original Message-----
From: Lee Sheldon <linearno at gte.net>
To: mud-dev at kanga.nu <mud-dev at kanga.nu>
Date: Friday, May 12, 2000 3:13 PM
Subject: RE: [MUD-Dev] A footnote to Procedural Storytelling


>I'm going to rein in here and say that automated systems need to play a
>strong supporting role, and I agree with several things you say below...
>however...
>
>Entertainment with tons of "interesting" stories, done on schedules far
more
>rigorous that a persistent world would EVER require, is produced now in
>television.  The difference is that sufficient resources are expended to
>produce that product.  In truth the writing costs are second only to the
>acting talent costs.  But unreasonable?  No.  Simply a recognized fact of
>life.  It's a matter of priorities.  You want to populate your world with
>interesting stories written by human beings?  There is nothing except the
>knowledge how, and the willingness to make the attempt, stopping you.


A typical TV show involves a handful of characters, and a single sequence of
events.  Take a thousand TV shows every week, and you still haven't involved
more than a small handful of the players.  That's a bad thing in my opinion.
:)  And we won't even get into the issue of a tv series being hopelessly
non-interactive.

>Again, see above.  I've played just about every "quest" I can for my class
>(ranger) and my level (46) in Everquest.  None would take longer than a few
>minutes to write.  I could create hundreds of stories per month for that
>game engine as is, stories that actually DO have some interest.  But you
>want to create a story per second?  Why?  Don't try to overwhelm them.  We
>have limited story-capacity in our brains before we get confused and start
>shouting on street corners.


Again, I've shown my superior ability to pick bad examples.  :)  I don't
want to create hundreds of quests for super-powerful magic items every day
or even every month.  Something along the lines of the fiery avenger would
be of a much broader scope.  But the scope of the fiery avenger quest as it
exists in Everquest is of a fairly limited scope, and "quests" or, more
broadly, "interesting things to do" of about that same complexity can, and
should, come from some sort of dynamic, automated generation process.

When I say a story per second, though, I'm not talking about giving all of
those stories to one player, or even one group of players.  But if you give
one group of players something interesting to do, then you really ought to
make it available to everyone else as well.  And since I want the stories to
originate from the state of the world, and have the stories affect the state
of the world as they progress, it's not really appropriate to give the same
"story" to two groups of players.  (what's that you say?  You rescued the
fair maiden from the dragon just yesterday?  er, well then what's she doing
there now?)

>Create enough GOOD stories to feed the player's own stories.  If they start
>from a solid foundation of good storytelling, their stories will be all the
>better, and more entertaining to them.  And THERE you have automation in
>story generation that is far easier in the long run than AI.


While it would be nice to think we could simply plant a few seeds and the
players would take it from there, I honestly think that's an unrealistic
goal when approaching the mass market.  As disturbing as it sounds (to me at
least), the majority of the populace doesn't want to be given ways to
entertain themselves.  They want to be entertained.

>Well really, then!  Massive COMMERCIAL games.  Then the money CAN and
SHOULD
>be spent, and you'll have nothing to worry about. ;-)


Ok, so just how much would a writing staff capable of generating a thousand
TV shows a week, or even a month, cost me?  And how much would the players
have to pay to play this game, assuming a conventional flat charge per
month?  Not to say that's the only financial model available, but for at
least a little while yet, it's going to be expected.

>> So, back to the original point.  What we need here is two
>> major things.  A
>> way to create large worlds, and a way to populate them with
>> interesting
>> things to do / see / hear about.  er...well, ok, there are
>> actually a lot of
>> other things we need too, but those are two of the largest
>> undertakings, and
>> where a lot of my idle thought has gone lately. :)
>
>Oh, and nothing I've said above should indicate I'm not in favor of doing
>this AS WELL.  It's essential.  I simply think it's death to rely on it
>alone.


Here I absolutely agree.  There has to be a human touch.  I'm not yet
deluded enough to think that any sort of story/event generating system is
going to be able to come up with the large, world-shattering types of
stories that players are going to expect, or if not expect, at least
strongly desire. :)  But I do strongly believe that it is not only possible,
but necessary, to have a system capable of generating "lesser"
events/stories/things to do.


Well, there's a mishmash of thoughts for the evening, and I'd like to finish
off with a copy of something I wrote a few months ago, sort of a template,
or maybe a demonstration, at least in concept, of how this system in my head
might begin to work.  This was written to my co-conspirators, and yes, I'm
fully aware that the "generation process" as proposed here is hopelessly
full of holes.  This is the beginnings of an idea, not an algorithm.
Patching the holes is where the actual work comes in. :)



Ok, here's hopefully a little more insight into what I'm talking about.

Think of the following process as something that happens either initially,
or when a player comes close enough to an unexplored area that the server
cares.

Server says:

Hey, look, I need a new area here.

Well, let's see...what's the nearby terrain of areas that I already know
about?  Based on this, I can determine the possible terrain types that I can
put here.  Well, there's a rainforest right over there, so that discounts
the possibility of putting a full-blown sand dune desert here.  Let's look
in my table of possible adjoining terrain types and percentages, and choose
one.

Ok.  I know this is going to be a thickly forested moutainside.  Well, lets
put lots and lots of trees.  Is there a road that goes through here?  Better
throw that in too.  A pass through the mountains? Lakes?  Rivers?  Ravines?
Cliffs?  Figure out what I need and where, and generate the landscape.

Ok, now we have a forested mountainside, but it's devoid of animal life.
What kinds of things are most likely to live here?  Where might they live?
Figure that out, put down some wildlife, some giant spiders here, a wolfpack
there.

Now we have a populated forested mountainside, but it's still fairly
uninteresting.  Well, ok, it's actually quite awe-inspiring, but once the
players get used to the high quality 3d graphics, they'll want to do
something other than just drop their jaws at the monitor.  So, what can we
do here...we need some points of interest here.

How about a wrecked village right there?  Ok, the village is in ruins, but
who lived there, that will determine the overall style of the buildings.
What, if anything, was left behind?  What destroyed the village, was is
fire, earthquake, famine, maybe an invading group of nasty beasties?  Yeah,
that's it, beasties.  Cool.  What kind of beasties?  Did they leave anything
behind?  Are some of them still lurking in the ruins?  Yep, gotta have
lurkers.  Is anybody from the original village left?  If so, what's their
disposition?  Wandering madness?  Cowering in fear, living the remainder of
their life in a nearby cave?  Are they studying the invaders, waiting for
the right time, or the right help, to strike at the lurkers?

Ok, done with the village, what else can we put here?  Well, our tables say
there's a very good chance for mountain goblins here, and they tend to
travel in packs, so lets add a pack of goblins and give them a home over
there.  Who are they, what are their motivations, what do they desire, what
do they fear?

Oh, look, our tables say we should put a pack of goblins here.  Add em and
give em a home.  Who are they, what are their motivations, what do they
desire, what do they fear?  How do they treat "outsiders"?  Do they try to
capture them for boiling in the pot, do they just try to kill them?  Do they
ask for help from anybody they see to get rid of something they fear or
attain something they desire?

Hey look, we have two goblin packs here, how do they relate to each other?
Do they like each other, ignore each other, hate each other?  Oh, hell,
they're goblins, of course they hate each other, the tables give a 99.9%
chance of it being so.  In fact, they're at war.  Well, wars don't last very
long if one side overpowers the other, so we'd better make them
approximately equal in strength, and put a little distance between them.
Better move this one a little further that way.  How often, if ever, do they
send warparties at each other?  What would happen if an outsider tried to
intervene?  Would each clan try to enlist the outsider's help?  Of course
they would.  They hate the other pack so much, they'd even submit to
enlisting the help of a human, if the human were powerful enough.

Ok, we've got two goblin packs and a ruined village.  Check for any more
interrelations between our "interesting" elements.  Oh, look, table says the
goblins were the source of the devastation at the village.  We already knew
it had been destroyed by some sort of invader, and had actually decided what
they were, but let's change that now to the goblins.  Was it just one pack,
or did the village get caught in the middle?  The lurkers that are there,
which pack do they belong to?  Do they even still consider themselves part
of the pack, or are they...oh my hell, I just rolled a 1 out of 1000 chance.
The lurkers in the village are actually NICE goblins.  Hmm...what could
happen to make a goblin go against its nature so?  Well, their packs are at
war, so maybe they've just become tired of war.  Wait a minute, these are
goblins!  Wow, another 1 in 1000 chance.  These goblins don't want to fight
anymore.  In fact, they're so pacifistic that they won't even fight back if
attacked.  What the hell kind of goblins are these anyway.  Well, the
numbers don't lie...

Ok, so we have this thing, we'll call it a third pack of goblins, that are
pacifists.  But, there's this wandering leftover villager or two who's
watching them.  He's much weaker than the goblins, and hasn't figured out
that their pacifists, and so he just stalks them relentlessly.  Nothing's
changed there.  If somebody comes along, he'll still ask for help in wiping
out the pacifist goblins that still have an admittedly sort of scary look to
them.  What happens if somebody talks to the goblins first, though, and
finds out they're pacifists without killing them?  What does the villager do
if he's told this, and that the goblins want to make reparations for their
crimes against the village?  Does he fly into a fury and go attack the
goblins, now knowing that they won't fight back?  Does he climb the cliff
near the ruins and leap to his death, having lost not only his friends and
family, but his sense of revenge as well?  Does he ask the outsiders if they
can lead him to somewhere where he might recover some semblance of a life?
Does he turn out to be an exceptional example of human compassion, and
forgive the goblin lurkers, and join them in the village, where they all
commence to rebuild the village?

So on and so forth.  Generate more things, check for interrelations,
determine the results of the relations, etc, etc.

Yes, I realize this is a very contrived example, but I really think that
doing something like this is not totally unreasonable.  The problem is
figuring out what kinds of questions to ask, but if you ask the right
questions, everything will flow from there.  And the impact would be
absolutely tremendous.  Imagine you're the first adventurers to reach this
particular mountainside.  You come across the two warring goblin packs,
decide to join forces with one and obliterate the other from the face of the
planet.  Then you turncoat and obliterate the goblins that you helped.

Now, I'm not talking about just a few hours to kill off these goblins.
There may be hundreds of them in each pack.  It may take you a few days or
even weeks to finish off the first clan.  Maybe you enlist help from friends
or even other players you don't know, I mean, after all, there's a lot of
nasty goblins out there.  And then it may take you even longer than that to
kill the second clan, because you're on your own now.  But while this is
happening, you are gaining experience, improving your skills, etc.

Now, later on, you come across this ruined village and find yet more of the
goblins you thought you wiped out last week.  So, you proceed to slaughter
them, but much to your surprise, the first goblin you attack doesn't even
fight back.  In fact, it just lies on the ground waiting for you to kill it.
Intrigued, you call off the attack and try to talk to it.  You've spent
enough time around goblins lately that you know their speech pretty well.
It turns out these goblins have for some reason turned away from their
spiteful past, and want only to die in peace in the village where the caused
so much destruction.  So you befriend them, and vow to leave them in peace.
Maybe you even think to check back periodically to see how they're doing.

Shortly after you leave the village, a human stops you and demands to know
what you were doing talking to the goblins, why you didn't just slaugher
them all.  When you tell him, he sobs for a long time over friends and
family he lost, but eventually the desire for revenge dries up, and he
thanks you wholeheartedly for freeing him from such evil emotions.  Maybe he
even gives you a valuable item that belonged to his father, and tells you
he's going to go spend the rest of his life living with the goblins if
they'll have him.

Maybe you come back a few weeks later and the village is mostly rebuild, and
provides a place for travelers to rest in this area.  Anybody that stops by
the village is told of your compassion in not killing the goblins, and when
you come back, you are treated like a hero.

THIS is exactlty the kind of experience I think most players want.  Hell, I
personally would love to be able to get this out of a game.  And the best
part of this whole scenario is that this is just one little section of a
mountainside in some out-of-the way place in the world, and the entire
situation came from not a clever human mind (ok, it came from a human mind
if not a clever one, but just bear with me a moment), but from a randomly
generated script.  Not everything that comes out of it will be this cool,
but I don't think I had to make any major leaps of logic to create this
scenario.  I basically just filled in the blanks with choices that a
computer can make just as easily as I can.  Probably better than I can, as
I'm slightly on the undecisive side of things. :)

Of course, there are some bits of this that could be quite complicated to
generate, most notably any dialogue that goes on.  It may very well require
somebody to step in and spice up the conversation a little, a little
tweaking here, a little tweaking there, but that's a lot easier than
creating everything by hand.

Have you truly grasped the scope of the game I want to make here?  If so,
think I'm completely, hopelessly insane yet?  Well, rest assured, I am quite
mad, but a little madness never hurt anybody, very much anyway.  I'm just
mad enough to think it's possible, but sane enough to think that it won't be
easy by any means, but that it's possible. :)




_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
http://www.kanga.nu/lists/listinfo/mud-dev



More information about the mud-dev-archive mailing list