On the other hand, interactive fiction games are entirely scripted.
They is no room for emergent effects, every outcome has been
deliberately built by the author. It seems to me that this is because
of the difficulties of language. It is easy to display a complex system
graphically so that the patterns are visible to the player. The
computer doesn't need to 'understand' the patterns in order to
represent them. This is not true of language. If I was to write a
complex physical system and then describe its output verbally, I would
have to be able to recognise the patterns in order to be able to
present them to the reader.
This is a tricky problem and puts IF at a serious disadvantage. Does
anyone have any insight into how we make progress with it?
You're mixing up two completely different things here. Emergence is
needed for games that have easy rules but are nonetheless fairly
complex and interesting. You now have two comparison options:
You can either
- compare playing a piece of IF to reading the rules of chess
- regard the usage of simple english sentences as the rules of IF and
the game itself as the emergence of IF.
And even then, comparing chess and IF is far away from making any
1. The player's options are limited to what is dramatically appropriate
for a given context.
2. The personality of the other characters are defined by numerical
variables such as Affection, Greed, Honesty, etc.
3. These personality attributes are used in inclination equations to
determine how the characters react to what's currently going on in the
story, i.e. If Brad.Emotional_State == Sad and Marsha.Affection.Brad >
20, Then Marsha.Cheer_Up.Brad.
4. The events in the story are not crafted by hand. Instead, they're
formed from 3 basic elements: a subject, a verb, and a direct object.
Crawford's system places a lot of emphasis on creating an extremely
large number of reusable verbs.
5. Crawford's system supports procedurally generated lying and
6. Crawford system tries to make the player's interactions with the
characters more immersive by giving each character a face that can
display a wide range of expressions.
The first iteration of Crawford's storytelling software, the
Erasmatron, was a spectacular failure. "Shattertown Sky", the game that
he commissioned to showcase his software, was universally panned and
derided. I've never played the game, as it's no longer available for
download anywhere, but its reviews and the transcripts of its gameplay
seem to fully justify its critical reception. Some of this can be
blamed on the writer, as Shattertown Sky has a bizarre premise and an
equally bizarre social environment to explore. However, I think a lot
of it had to do with insufficient pattern recognition, i.e. the story
didn't unfold in a sensible way, and the lack of narrative data, which
meant that the characters had a limited number of responses that the
player would see over and over again. The downright ugly face
technology didn't help either.
Crawford's newest effort, the Storytron, allows for a wider (though
still dramatically limited) number of player options. It also tries to
solve the limited response problem through a more abstract way of
telling the story. If Reginald learns about his wife's infidelities and
decides to swear, the player is not going to be presented with a string
of epithets. Instead he's going to see "Reginald swears." Likewise, if
Great-Aunt Majorie drops the sugar bowl, the output text will be "Great
Aunt Majorie swears" rather than "Oh fiddlesticks!". The face
technology is much, much better as well.
If you'd like to learn more about the Storytron, you can go to
www.storytron.com. If you'd like to see a working example of the
Storytron's abstract storytelling in action, you can go to Crawford's
site, www.erasmatazz.com and download Trust and Betrayal, a social
simulation game that Crawford made around 1987 or so that uses the same
My take on the Storytron? This isn't going to work either. My
definition of a successful story is one whose characters provoke a
strong emotional reaction in its readers. I've played Trust and
Betrayal, and it never managed to convince me that I was interacting
with anything more than a carefully built set of algorithms. All
storytelling mediums have different strengths and weaknesses in what
they can express, but the Storytron approach is too stripped down to be
My take on the concept of emergent stories? I would certainly like to
see i-f works with stories that could unfold in wildly divergent ways,
but I don't know if I agree with the idea that a work of i-f should
strive to be infinitely replayable. I think that's a good goal for
games, but not for literature. I would rather read 20 stories that are
told well than a zillion different stories of varying quality.
It would be interesting to see what would happen if an author (or a
team of authors) decided to create an interactive story with so much
branching content --1000+ pages of it, let's say-- that it managed to
approach the ideal of an emergent story. Incidentally, this is what I
think commercially successful i-f would look like.
I know what you mean, but I think it's useful to challenge the terms of
the argument. Consider this: the game-world simulation produces
emergent behavior by design. You can put stuff in spacial
configurations unanticipated by the writer. It's even possible to solve
puzzles in a way unintended by the writer. (Whether this is another
emergent behavior or a bug is moot.) IF games are not entirely
scripted, indeed most of the stuff is not scripted at all. (Compare the
number of default responses you get, to the number of custom
responses.) What bothers me is that the interesting behavior is almost
always the scripted, or exceptional behavior.
The way to more interesting emergent behavior is stronger AI.
Possibly. I tend to see emergent behavior in games as a by-product of
the need to defeat an adversary that is *actively* trying to defeat
you. I can't think of any IF where the game itself is programmed to
try and defeat you. IF games are mostly designed to be static, if
obscure, in their configurations and in the solutions to their puzzles
-- if you solve the puzzles in their basic configurations, you win.
I'm not sure that you actually need real "AI", however you care to
define it, to make the game more adversarial. You could develop
algorithms that compare the number of moves it takes a user to solve a
puzzle or reach a certain point in the game, then introduce something
-- a thief, an earthquake, whatever -- that changes the game state in
some fashion. Depending on whether the player is doing well or poorly,
these changes could be wildly different in effect. Emergent behavior
might be the strategies the user uncovers to either (a) avoid this
state change (b) accelerate it or (c) do something else with the
knowledge that a state change might happen.
It's also true that most people don't play individual IF games
repeatedly over a period of years, the way you play chess over years.
Since every game has similar but slightly different rules/conventions,
it's far less likely that you will see emergent behavior, because once
solved, most people stop playing the game seriously, except for the
occasional nostalgic return.
I think you would also see emergent behavior if there were more
two-player IF games where either cooperation or competion (or both)
were part of the object of the game. But, in that instance, you move
rapidly towards MUDs and RPGs and away from what most consider IF at
But even without an AI adversary, IF does have some low-level emergent
behaviors that experienced players have adopted and typically use on
any game, including:
-- repeatedly "taking all" just to make sure that you haven't missed
-- carrying even fairly obscure objects around just in case they are
the answer to a puzzle
-- turning light sources off obsessively just in case you might get
"Zorked" by a failing lantern
-- examining every object in every room description
-- using "save/restore" and "undo" to test every option at obvious
turning points in the game;
While we think of these and other similar practices as just what any
experienced player would do, I would argue that these are the core
"emergent" behaviors for IF in its current state of development. AI
might be the holy grail, as you suggest, but there are probably some
interim things that could be done to make the games more adversarial
along the way.
I would suggest that you play the Holodeck scene of _Stiffy Makane: The
Undiscovered Country_ for my criticism of the Erasmatron (and the
Storytron, it sounds like). My fundamental objection is that Aristotle
was *wrong*: *most* interesting story does not emerge dialectically from
characters and the conflict that results from the friction between their
No amount of refining the technology is going to magically produce
>It would be interesting to see what would happen if an author (or a
>team of authors) decided to create an interactive story with so much
>branching content --1000+ pages of it, let's say-- that it managed to
>approach the ideal of an emergent story. Incidentally, this is what I
>think commercially successful i-f would look like.
How could this be commercially successful?
1000 pages would be nowhere near enough for a wildly branching story of
any length. For 1000 pages, you'd get a sort-of-branching long piece of
IF; to get the degree of freedom you're imagining *I* think you'd need
about ten times that much.
Now: how could this be commercially successful? Most writers can't make
it work full-time when they're writing novels: everyone except the real
A-list authors either lives pretty hand-to-mouth, or has a day job, or
both. Novels already have a well-understood publishing and distribution
model. For this new form, you increase the amount of text required by
between one and two orders of magnitude, add the additional constraint
of "being able to program" to the author's job, and then present it as a
form for which there's no obvious current publication or distribution
model (not a book, and you probably don't want to market it as
Yeah, you probably *could* sell more of them than you can of current IF;
but if it's unable to provide its authors with a living wage, I don't
think you can treat it as "commercially successful."
> On the other hand, interactive fiction games are entirely scripted.
> They is no room for emergent effects, every outcome has been
> deliberately built by the author.
There's a perpetually recurring debate about what's important in a work
of interactive fiction. At its crudest, it boils down to "game" vs.
story. No offense, but many of us don't approach a work of IF as a game
qua game, in the sense that chess is; it's an experience, in the same
sense that a work of fiction is - a novel, say, or a film.
> It seems to me that this is because
> of the difficulties of language. It is easy to display a complex system
> graphically so that the patterns are visible to the player. The
> computer doesn't need to 'understand' the patterns in order to
> represent them. This is not true of language. If I was to write a
> complex physical system and then describe its output verbally, I would
> have to be able to recognise the patterns in order to be able to
> present them to the reader.
> This is a tricky problem and puts IF at a serious disadvantage. Does
> anyone have any insight into how we make progress with it?
...but I have trouble with the conclusions you draw. The tools you're
talking about are good for producing *certain types of works*, and
getting better. I regard those works as consituting a valid medium for
creatives to work in, and for players/readers to enjoy. I see no
"significant disadvantage" - and I think you perceive one because you're
trying to find an entirely different kind of finished product. So yes,
*necessarily*, you need different tools to create them.
I'm sure you don't intend to be dismissive of the existing body of IF,
and I don't intend to be dismissive of the sort of thing you want to
see, but I think the underlying differences between them are more than
superficial. Comparisons may be of limited (no?) utility.
I think, ultimately, your "emergent simulation IF" has to be considered
on its own, not as the evolutionary next step from a cruder technology -
and I think I'd be right in saying that for this newsgroup to accept it,
it will have to take the "fiction" in "interactive fiction" extremely
seriously, not disregard it to focus on games qua games.
Having said all that, I *am* interested; had you come up with any
concrete ideas so far?
In terms of Drama Management Theory, the game is in fact actively
trying to defeat the player. A typical chess-program type algorithm is
set up with a slightly different heuristic for "judgePosition()" -- the
idea being that the game "wins" if the narrative is good, and the
player "wins" if the narrative is crappy. It's a lot like rewriting a
chess program so that it maximizes the chance for a tactically elegant
checkmate by either side.
> I can't think of any IF where the game itself is programmed to
> try and defeat you.
You're right: Drama Management has not yet come into its own in IF.
> You could develop
> algorithms that compare the number of moves it takes a user to solve a
> puzzle or reach a certain point in the game, then introduce something
> -- a thief, an earthquake, whatever -- that changes the game state in
> some fashion. Depending on whether the player is doing well or poorly,
> these changes could be wildly different in effect. Emergent behavior
> might be the strategies the user uncovers to either (a) avoid this
> state change (b) accelerate it or (c) do something else with the
> knowledge that a state change might happen.
Yes, this is all part of Drama Management (DM), although the player
does not necessarily have control over the plot points or their
> It's also true that most people don't play individual IF games
> repeatedly over a period of years, the way you play chess over years.
> Since every game has similar but slightly different rules/conventions,
> it's far less likely that you will see emergent behavior, because once
> solved, most people stop playing the game seriously[.]
This reminds me very closely of my main beef with AI/DM. Whenever you
have a work that you have to play through several times to appreciate
properly, I get uneasy. I want the appreciation to be in my experience
of the text, rather than some external extrapolation.
Uh, in that case, wouldn't a hypertext clicky-tree work better than a
I first read this as "IF development language", but you mean the
human-read language that is used for game input and output, right?
I think this point has some validity, but it's also true that authors
have been able to describe some very complex systems in IF prose.
(Some situations will always be better described with pictures, of
course. But you're always going to have to decide what to put into
your game based on what works in the medium.)
I would also say this: an IF player will always *act* as if the world
is fully simulated. If the game is well-done, it will support him in
this. Some elements really are simulated, rather than scripted.
(Picking up and dropping objects, for example, really aren't
hand-written unless the author wants them to be.) Then there is a
(hopefully) rich space of interesting scripted outcomes. It doesn't
matter that there is no underlying super-physics engine, because the
player is (hopefully) going to try sensible things and get sensible
In other words, whether a system has "emergent properties" is really a
question for the designer. The player isn't in a position to tell the
difference, if the designer is doing his job.
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
9/11 did change everything. Since 9/12, the biggest threat to American
society has been the American president. I'd call that a change.
I initially thought that you could do this entirely through point and
click and even built a working prototype in Tads 3. As I tested my
system though, I discovered a problem: I had too many keywords to fit
in a single menu. I tried a number of classification schemes, but the
number of clicks needed to enter a sentence were often as high as five.
After switching to a new authoring tool called Ren'Py and with the
generous assistance of Ren'Py's author, I now have a parser that will
automatically complete your words as you type them. It won't allow you
to make typing errors either. I use it when I'm testing out my
material, and I think it's the most effective solution.
That's the quality of a good film or a good play, isn't it? You're
captured in the world the author has designed because of its quality --
not because you get to change the direction of the narrative.
> There's a perpetually recurring debate about what's important in a work
> of interactive fiction. At its crudest, it boils down to "game" vs.
> story. No offense, but many of us don't approach a work of IF as a game
> qua game, in the sense that chess is; it's an experience, in the same
> sense that a work of fiction is - a novel, say, or a film.
Well said. Is a poorly-written game very playable? Perhaps, but only if
you don't care about the writing, which begs the point if you're playing
>> It seems to me that this is because
>> of the difficulties of language. It is easy to display a complex system
>> graphically so that the patterns are visible to the player. The
>> computer doesn't need to 'understand' the patterns in order to
>> represent them. This is not true of language. If I was to write a
>> complex physical system and then describe its output verbally, I would
>> have to be able to recognise the patterns in order to be able to
>> present them to the reader.
> Undoubtedly true...
>> This is a tricky problem and puts IF at a serious disadvantage. Does
>> anyone have any insight into how we make progress with it?
> ....but I have trouble with the conclusions you draw. The tools you're
> talking about are good for producing *certain types of works*, and
> getting better. I regard those works as consituting a valid medium for
> creatives to work in, and for players/readers to enjoy. I see no
> "significant disadvantage" - and I think you perceive one because you're
> trying to find an entirely different kind of finished product. So yes,
> *necessarily*, you need different tools to create them.
> I'm sure you don't intend to be dismissive of the existing body of IF,
> and I don't intend to be dismissive of the sort of thing you want to
> see, but I think the underlying differences between them are more than
> superficial. Comparisons may be of limited (no?) utility.
> I think, ultimately, your "emergent simulation IF" has to be considered
> on its own, not as the evolutionary next step from a cruder technology -
> and I think I'd be right in saying that for this newsgroup to accept it,
> it will have to take the "fiction" in "interactive fiction" extremely
> seriously, not disregard it to focus on games qua games.
At this point, it sounds like the original author wants to create more
of a sim model than even a game -- I'm seeing something like Sims: Text.
This has been explored in the form of text chat rooms. People can say
(and do, if you count emotes) whatever they want and whole plots,
histories, and so forth develop. Maybe you could adapt that to a game
(say in the blue room the agents could only have set of actions X, but
in the white room, they could do set of actions Y).
I'm just not sure how interesting sim-based IF would be, though.
www.intaligo.com Building, INFORM, doom metal
You may be interested in an article called "IF, AI, and the
confabulating-arranger model of interactive fiction" by Jorn Barger (1994):
... in particular, the section called "Reverse-engineering
emergent-behavior". Here is a quote:
While the artificial-life theorists have been hoping to discover
a few simple laws that will result in a vast payoff of interesting
stories, via the principle of 'emergent behavior', the meta-story
approach might be thought of as an attempt to outdo them by
'cheating'-- first you spell out the stories you want to see
'emerge', and only then do you analyse them and try to 'reverse
engineer' the set of simpler laws that will produce them.
There have also been some past posts about the related topic of simulation &
IF; here is an interesting one:
For some more threads on this topic (if you feel like reading !), have a
Let me be clear. I was not offering a criticism of existing IF. There's
nothing "wrong" with scripted stories. It's just that I want to build
something else. I am an avid MOO builder/programmer and I try to make
my worlds as richly modelled as possible. But every event that occurs
in my world must be an event that I have explicitly scripted. There's
little room for unexpected patterns to arise out of the superposition
of two separate events. The whole is NOT more than the sum of its
I'm an AI academic and I've studied "interactive narrative" in detail.
I know all about drama management and so forth. Personally, I think
drama management is reaching too far. We don't even have the ability to
recognise and represent drama, let alone to generate it.
For my own research, I'm trying something much simpler (and still
enormously difficult). I have written a simple physical simulation of a
pool table, and I am trying to use it to generate a text-based pool
game. The challenge will be to recognise the important/interesting
patterns on the table, and in the outcomes of a shot, and describe them
to the player. There's no attempt at managing the drama, just
In any case, I am only raising the issue in order to explore where it
may lead. I think the development of natural language tools capable of
this kind of description would be useful for building all kinds of
interactive text, be they stories, games, toys or other more 'serious'
I think there are two possible issues here, one of which is descriptive
issue and the other of which is a simulation issue.
Re. description: I'm not sure this makes it all the way to
"unexpected", but one of the things that became clear to me after a
little experimentation with the Reactive Agent Planner NPC library was
that I needed some way of collating and evaluating events before
reporting them. If you have one NPC allowed to do one thing per turn,
then reports such as
Durbin closes the door.
are fine; as soon as you have multiple actions in a turn, like
Durbin opens the door. Durbin goes through the door.
or multiple characters acting, as in
Durbin goes through the door. Louis goes through the door.
the output looks clumsy. So the thing to do is to calculate what
happens in a turn; then do some processing to match particularly
interesting ones and group the rest together mechanically; then run the
actual report phase.
This is what I did with NPC movement in "Mystery House Possessed",
which (despite an assortment of other flaws) does reasonably well at
reporting multiple characters entering or leaving rooms together,
crossing paths, reacting to one another's presence, and so on. I know
some other people have been thinking about related issues -- Nick
Montfort as a general problem in defining description rules separately
from the world model, and Steve Breslin as an outgrowth of NPC action
in general. But I think the main thing that needs to happen, for this
to work, is a separation of the simulation phase (where actions are
worked out) from the description phase (where actions are described to
And then, yes, you do have the challenge of writing a description
generator; it's at that point that you make decisions about what kinds
of patterns you want to match and describe to the player. Most of the
kinds of work I've done myself so far have been concerned with trying
to make the reports sound like natural English output, so combining
Durbin and Louis go through the door.
...but there is no intrinsic reason why these routines shouldn't a)
produce more lyrical output or b) take more complicated factors into
account. Conceivably, a game with some notion of Durbin and Louis as
people with emotions might concoct
Humiliated, Durbin and Louis slink out.
Louis walks out angrily. Durbin gives you an exasperated look that
plainly asks why you couldn't hold your tongue; then he follows.
I can see the argument that this much is no more than dressing, laid
over what is still a model comprising lots of uninteresting small
events, and that is perhaps where something more dramatically ambitious
comes into play. "Mystery House Possessed" (which became sort of a
dumping ground for all the ideas I had about this at the time I wrote
it) also tries to find excuses to trigger specific kinds of scene --
I'm not sure it deserves a term as glorified as "drama management", but
it has scripts for kinds of conversation that can occur, which require
participants fitting certain descriptions (e.g., two people who dislike
one another; or three people discovering a corpse; or a couple in love
and a jealous third party; etc.) Whenever it finds the starting
conditions fulfilled, it triggers the scene, using some specific
information about the characters to fill in the details of the script.
But it is still the small-scale simulation of people moving around,
combined with the player's intervention, that determines which scenes
will trigger when.
> I'm an AI academic and I've studied "interactive narrative" in detail.
> I know all about drama management and so forth. Personally, I think
> drama management is reaching too far. We don't even have the ability to
> recognise and represent drama, let alone to generate it.
Being that you're an AI academic, I'm sure you're aware of a lot of the
groundbreaking work in DM that people are doing in sister genres to IF.
But I'm surprised you know all about DM, but still think it's reaching
too far. You've said a couple things that seem really iffy to me.
You should know that it is a framework for warping the narrative to
guide it towards a satisfying sequence, according to a narrative
heuristic provided by the programmer. The machine itself "recognises"
drama in an even more limited sense than a chess program recognizes a
winning position -- that is, only by evaluating it through and by a
simple criterion provided by the programmer. And even state-of-the-art
programs do nothing to "generate" drama, but only modify what is
already generated by warping the situation in ways also predefined by
> For my own research, I'm trying something much simpler (and still
> enormously difficult). I have written a simple physical simulation of a
> pool table, and I am trying to use it to generate a text-based pool
> game. The challenge will be to recognise the important/interesting
> patterns on the table, and in the outcomes of a shot, and describe them
> to the player. There's no attempt at managing the drama, just
> describing it.
Interesting. You might want to check out the Battle for Walcot Keep,
similar in some ways, availible via:
That is indeed an interesting problem.
From a game-design standpoint, I think I wouldn't *want* a physical
simulation down underneath. IF works when both the game and the player
(output and input language) can comfortably describe all the important
distinctions of the world state. The "important distinctions" in a
physical simulation of ball movement[*] go down to tiny details of
position and angle. Recognizing all of these without resorting to a
picture is, as you say, enormously difficult. It would be much easier
to build a high-level model and work with it directly.
This is not to say you shouldn't do what you're doing. I'm just saying
that, if I wanted a pool game in text IF, I wouldn't do that. :)
[* no comments from the Thornton gallery, please.]
There's actually an interesting comparison between this and CRPG-style
combat (as in Graham's recent _Reliques of Tolti-Aph_). The kind of
combat in that game is also a numerical simulation. It happens to be
very *easy* to describe in text: you have twelve hit points, the
goblin has four, you hit for three points of damage. Boff! Bam! Pow!
However, my reaction is exactly the same: I'd rather scrap the
simulation and build a high-level model of the scene instead. Map out
a network of interesting ("scripted"!) actions and reactions, rather
than rolling dice.
So perhaps the difficulty of the pool problem is something of a red
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
If the Bush administration hasn't thrown you in military prison
without trial, it's for one reason: they don't feel like it. Not
because of the Fifth Amendment.
I was getting ready to write pretty much this same thing, so, what he said.
There's one part I want to amplify. You've framed the problem as though it
were an AI problem: to recognize the interesting patterns in a pool game and
describe those to the player. The more I've thought about this, though, the
less convinced I am that this is really the nature of the problem you're
tackling. The fact is, I think a *human* narrator would have a hard time
effectively describing the state of a pool game verbally. Assuming the pool
game is interactive and not just something going on among NPCs, it seems
equally hard for a player to describe their *input* verbally. I mean, you
could phrase input in terms of your intention ("hit the 7 ball into the
northeast corner pocket"), but pool is a game of physics, not intentions.
It seems to me that the real problem here isn't the AI problem of rendering
pool verbally, but in coming up with a verbal pool notation in the first
You raised chess as another similar example earlier. Chess actually does
have a couple of established verbal rendering systems (the "knight to king's
bishop 3" notation, for example, or the algebraic systems), and it's
interesting to note that they operate purely at the component level -
there's no pattern recognition involved, and no AI problem to solve, in
generating descriptions in those systems. I'm at best a recreational chess
player, so for all I know, chess experts might use more advanced notation
systems that operate at a pattern level ("a knight-modified Kurnikov
formation in the third rank" or some such); if such a language exists, it
would indeed be an AI problem to render descriptions with it. But attacking
this problem in an IF context seems almost counterproductive, since most
players wouldn't have any idea what to make of the result; for most players,
you'd be better off just using a straightforward component-level description
of the board.
Or better still, showing it graphically. Even literary (static) fiction
authors occasionally resort to in-line illustrations, when that's the most
efficient way to convey some detail that requires geometrical precision to
be properly understood.
If emergent effects are your real interest, I think you'd be a lot better
off decoupling that problem from what I see as the completely separate
problem of verbally rendering a game of positions and velocities and spins.
Have you looked at the Infocom game "Suspended"? I think it arguably has
some emergent effects, and it works within the kind of physical simulation
framework where the IF rendering is already understood.
mjr underscore at hotmail dot com
Yes, I agree with this also.
My favorite simple thought-experiment/test case for the
object-description problem is a card game. The player's hand consists
of specific cards, and it is not hard to model this in IF and to create
instructions to handle the interaction (DISCARD QUEEN OF CLUBS, DRAW
TWO CARDS, PLAY TEN OF DIAMONDS, etc). At the same time, there are
specific patterns one would want to describe specially: flushes and
straights, say, if we're doing poker. The solution is basically to run
down a series of cases, from most specific to least specific, until we
find one that applies, and use that template for the description: check
for the royal flush first, then the straight flush, then... (etc.)
The advantage here is that there's already a well-developed terminology
for describing all the patterns that arise, so one can focus on the
programming, which in that case turns out to be relatively easy. But
it's really not *that* different a problem from a number of others that
arise in IF:
-- describing the liquid created when the player mixes different
amounts of different components, or the color created by multiple
-- describing your basic rope in terms of where it's attached or free;
-- describing the machinery that results when several separable
components are plugged into one another or glued together;
-- describing sets of things from which singlets are unusual or missing
(a travel guide set lacking volume Paris-Prague; three men, of whom one
is wearing a hat).
Some of these are harder than others; the liquid-mixture problem
probably gets closest to the complexity of the pool-table problem,
because though we can think of ways to describe most kinds of mixture
(dirt, water --> mud), a system that tracks quantities will allow for a
pinch of dirt in a gallon of water, or a drop in the Sahara, and by
rights those should be named differently. I believe this is actually a
linear algebra problem -- one might define a bunch of vectors that
represent specific named mixtures (1 water by 1 dirt is called "mud"),
then finding the vector which our actual mixture most closely
approximates and using the resulting information about how much it
varies to add nuance (2 water by 1 dirt is closest to being "mud", but
it exceeds in the wateriness dimension, so we call it "watery mud").
This will be most interesting if we have a bunch of named intermediate
vectors as well as the bases ("sludge", "salad dressing",
"Bordeaux-style blend"): these correspond to our more specialized
Still, in most of these cases I find the challenge lies more in the
subsequent parsing than in generating the description. If I write the
output to distinguish men by whether they're wearing hats, then I would
also like the player to be able to distinguish in the same way: ie, I
want to be able to parse "the man in the hat".
The problem of collating and describing NPC actions is a bit trickier,
because there are so many more things to consider: do we group together
the same action performed by multiple people (Larry and Moe fall down),
or different actions performed by one person (Moe slips and falls), or
different actions performed on the same object (Moe and Larry slip on
the banana)? How do we track relative time within a turn when each of
these things occurs? Differentiate between simultaneous and sequential
effects? Express or suppress incidental information with, say,
adverbial phrases describing the manner in which the action was
undertaken? And so on.
Grandmasters and woodpushers alike use the same notation in recording a
game. In describing a game one can speak of patterns and themes, and
computer games such as Chessmaster do a fairly good job of translating the
results of a move or a series of moves into text. For instance the game
might say something like, "You move the knight to f3. Black moves his pawn
on h7 to h6. You move your Bishop to g5 pinning black's knight. Black takes
your bishop with the pawn at h6, gaining a piece and a clear material
advantage." All the while you're simply communicating with the game via the
standard notation, or more likely mouse clicks.
Yes, and my argument is that we have very poor tools for expressing
those heuristics so that the results actually line up with what we
think of as real drama. Sure we can build search algorithms which
maximise a heuristic, but calling that 'Drama Management' is begging
the question if you cannot actually write the heurisitc.
Like I said, we need to build tools to recognise and represent drama so
that we can write decent heuristics to guide our search. The search is
the easy bit. I know Michael Young's group at NSCU are working on
trying to build models of "suspense" and "conflict", although I haven't
seen any publcications yet. I can't say I have seen much other work
like this. Do you kniow of any?
I don't think it would be too hard. If you were playing a live pool
game and were commentating it shot by shot to an blind friend, I think
you could pick out the important features of what happened.
Maybe not quite in exquisite detail, but enough to get a feel for
what's going on. Providing enough exact detail to _play_ the game, is
admittedly more difficult. I envisage it as a series of directed
observations, taking into account intention. Like:
> LOOK AT TABLE
The cue ball is at the top of the table, near the left hand pocket. At
the bottom of the table there is a pair of balls, the eight and the
five, near the right hand pocket, and the seven in the open near the
> CONSIDER FIVE
The five ball is near the bottom right pocket, but the eight ball is
blocking a straight shot. You cannot see any easy way to sink it.
> CONSIDER SEVEN
The seven ball is in the middle of the table near the bottom. You could
probably sink it in the bottom left pocket with a kick shot off the
bottom left rail, or with a straight shot into the right pocket.
> Assuming the pool
> game is interactive and not just something going on among NPCs, it seems
> equally hard for a player to describe their *input* verbally. I mean, you
> could phrase input in terms of your intention ("hit the 7 ball into the
> northeast corner pocket"), but pool is a game of physics, not intentions.
> It seems to me that the real problem here isn't the AI problem of rendering
> pool verbally, but in coming up with a verbal pool notation in the first
Well, pool is game of both physics and intentions. You plan a shot and
then you execute it. For my game, you will express your intention to
the engine and it will compute the necessary physics. I can already do
this for some quite sophiticated shots. But you're right, coming up
with a parsable language for expressing your desires is difficult.
Describing a shot to sink a ball is not so hard. But there are subtler
plays as well, like positioning a ball near a certain pocket. Or
knocking an opponents ball away.
> SINK SEVEN IN BOTTOM LEFT POCKET
You kick the cue ball off the bottom left rail and it collides solidly
with the brown. The seven rolls straight into the bottom left pocket
with a satisfying clunk. Meanwhile the cue ball stops near the middle
of the table, leaving you a nice straight shot on the five.
> If emergent effects are your real interest, I think you'd be a lot better
> off decoupling that problem from what I see as the completely separate
> problem of verbally rendering a game of positions and velocities and spins.
> Have you looked at the Infocom game "Suspended"? I think it arguably has
> some emergent effects, and it works within the kind of physical simulation
> framework where the IF rendering is already understood.
I'm familiar with the game. Where do you see emergence in it?
That's precisely what Andrew was getting at when he said that a deep
simulation might not be the way to go here. If you're not describing the
deep simulation in detail, and you're not allowing the player to make inputs
that relate to the deep simulation, then what's the point of having the deep
simulation? If all you need is to give the player a feel for what's going
on, I expect you could create a convincing enough effect with a lot less
mechanism than a complete pool table simulator.
> For my game, you will express your intention to the engine and
> it will compute the necessary physics.
And presumably this is adjusted by random factors for the player's skill,
and presumably those factors are somewhat opaque to the player, so from the
player's perspective the outcome is somewhat randomized. If that's the
case, it also decreases the value to the player of a deep simulation - once
you have random numbers involved, it doesn't really matter to the player how
complicated the math behind the scenes is, since everything will look more
or less like a probability distribution.
I don't mean to knock the project, by the way. I mean, it sounds like an
interesting enough challenge. I'm just saying that there might be easier
ways of getting more or less the same player-visible effect that fit better
into the IF interaction model.
>> Have you looked at the Infocom game "Suspended"? I think
>> it arguably has some emergent effects, and it works within the kind
>> of physical simulation framework where the IF rendering is already
> I'm familiar with the game. Where do you see emergence in it?
It's been a while since I looked at it, but doesn't it have a fair amount of
interaction among the capabilities of the robots? It seems like it was
uncharacteristically simulationist for an Infocom game and had some behavior
that was more rule-based than scripted.
Another one to look at is "Four in One" (http://wurb.com/if/game/476), which
I also think exhibits some rule-based emergent behavior (in this case, in
the interactions among the NPCs).
Quite. There should logically be a correspondence between the granularity of
the user interface and the "black box" of the parser/world model.
Btw, a person born blind is certainly not playing with the same model of the
world that a sighted person would. Many persons born blind would, for
example, describe an intersection as a point where 4 roads connect, rather
than where 2 are crossing. Blindness is not the same thing as closing one's
How about Savoir-Faire? I think Emily Short wrote on her website that
she aimed to make the game-world fairly simulationist, in that puzzle
solutions depended on interactions between properties rather than
specific objects. That means sometimes players come up with answers
that work even though she hasn't anticipated them.
I can't picture it! As far as I can tell, a cue ball coming from the
bottom-left direction (having bounced off two cushions) hits the seven,
but instead of travelling in the same direction (so towards top-right),
the seven goes into the bottom-left pocket. What's going on?
As others have said, language doesn't lend itself to descriptions of
this kind. I suppose you do get radio commentary of snooker, but I
find that abominably hard to follow. Normally, a person describing a
pool game to someone else would unthinkingly adopt a bimodal way of
communicating - he'd start sketching diagrams with his finger on the
tabletop. I realise this is only an exercise and that your work could
have useful non-pool-related applications, but is there really no
domain that serves as a better test-bed?
Interestingly that sort of result (unanticipated) used to be called a
No, rather what she's done is abstract the solution to puzzles, and the
interaction of objects up a level. Rather than say that you need object X to
solve in the process of resolving a certain situation, you need property X.
That makes it appear as though magical things are happening, but you still
need to code the interactions, they're simply moved into a more abstract
layer. So she's had to anticipate them, and the properties involved are now
as critically important as the objects once were.
This is exactly the direction I was hoping to generalize the
discussion. Putting the pool-table simulation aside, is there anything
this little thought-experiment teaches us about IF modeling in general,
and particularly of interest to me, NPC modeling and drama management?
It's my feeling that NPC-AI systems to this point (from Erasmatron to
Facade, and in my own meager efforts, I myself am probably the *most*
guilty of this), where they fall short, make the mistake of describing
what they model, rather than modeling what they want to describe. So
this would corroborate Mike's point.
But on the other hand, I believe the obvious point that the model is
not the output leads immediately to the less obvious point that it's
impossible to model the right level, and that this kind of problem (the
disjoint between model and output) is inevitable.
Emily writes of a report system she and I have been discussion since
Walcot, which takes the particularities of the simulation (basically
what Mike means by "deep simulation") and translates it into more
presentable language, in part by cutting out some of the detail. Some
such mechanism is necessary no matter what level you model. This does
not mean that the cut-detail was too deep to begin with.
The main distinction is this: of course it's pointless to model what is
absolutely irrelevant to the output, but it is necessary to model what
is translated into output, what is indirectly reflected in output.
Consider a NPC psychological model, where there's a number of axes of
emotion (happy<->sad, friendly<->hostile), which it's convenient to
keep on a graduated scale. (So the NPC might be happy=4, friendly=9 for
instance.) We're never going to see these scalars in the output -- and
maybe the output is not even generated directly from these scalars at
all, but from which of the three or four states the NPC can be in
(determined by some function we've written which takes the
emotion-scalars as parameters, and returns a simple state) -- in other
words, maybe there's more than one level of translation. The model
seems to me perfectly sound, even though the level of detail is deeper
than is reflected in the output.
This is because we're expecting the player to draw conclusions about
the underlying model (that Bob gets angrily gradually or so), to infer
that depth which is *not* represented in the output.
(But this brings me back to my major preoccupation these days, and
which is only tangentially related to this discussion: how far we can
legitimately expect the player to appreciate a dynamic model, without
making the (to me, suspicious and anti-aesthetical) move of saying (to
quote Facade's instructions) "re-play the drama to find out how your
interaction could make things turn out differently the next time."
Doesn't there have to be a more direct way of giving the player a sense
That would depend, I think, on the person doing the describing. Going back
to the chess analogy... if I describe the game "blow-by-blow" so to speak,
using the algebraic notation, let's say, then your audience would quickly
become lost... and begin scrabbling to set up their chessboards (even I
can't follow a game in my head described like that these days, though I
played a few blindfolded when I was young by having the opponents moves told
to me, and issuing my moves verbally). If someone asked, how did the game
go? I'd hardly respond with "1. e4 e5 2. Nf3 Nc6 3. Bb5...", except for
comic effect. However... you could describe the "bigger picture" by
discussing the well-known patterns involved as the game progressed. For
instance, you might say that the white player opened the game with a Fischer
variation of the Ruy Lopez, etc. In certain circumstances the sequences of
the moves would be unimportant, and you'd simply mention the point at which
they transitioned into the recognized pattern. You'd then go on to
generalize the game: "weakened the pawn structure of black's kingside",
"promoted the a-pawn to a rook." "executed a back row mate in 7".
The drama in retelling the story is thus encapsulated, not in the details of
the game, but in the same kind of information chunking that is conveyed by
the phrase "potted the eight-ball". You see? Unless you're interested in
producing a kind of low-level language that would be akin to the "assembler
of pool". But such a language would be devoid of dramatic power (drowned in
the details, so to speak). Drama, of necessity requires a chunking of
information into larger archetypal patterns that convey meaning to the
broader audience. One could argue that conveying the minutiae in text,
translating the precise details of every step of the game would be a less
And isn't this exactly the definition of emergence? It's a pattern
formed from a series of lower-level interactions. Even though the
*program* might analyze stuff at the property level, the *player* is
interacting at the object level, and any puzzle solutions have to get
created indirectly by the manipulation of those objects.
Dan Shiovitz :: d...@cs.wisc.edu :: http://www.drizzle.com/~dans
"He settled down to dictate a letter to the Consolidated Nailfile and
Eyebrow Tweezer Corporation of Scranton, Pa., which would make them
realize that life is stern and earnest and Nailfile and Eyebrow Tweezer
Corporations are not put in this world for pleasure alone." -PGW
You may have a point, but I was inspired to do this after playing a
pool game on a MUD which clearly had no "deep simulation" behind it. It
felt unreal. Now, possibly the solution to this is just to build a more
convincing top-down version, but I'm not so sure. In any case, I
thought that this would make an interesting research project. It's a
small example of what I perceive to be a much larger problem. If we
can't recognise the interesting emergent events in a simple physical
system, how do we expect to do the same in a complex social scenario
(like, say, Facade)?
> >> Have you looked at the Infocom game "Suspended"? I think
> >> it arguably has some emergent effects, and it works within the kind
> >> of physical simulation framework where the IF rendering is already
> >> understood.
> > I'm familiar with the game. Where do you see emergence in it?
> It's been a while since I looked at it, but doesn't it have a fair amount of
> interaction among the capabilities of the robots? It seems like it was
> uncharacteristically simulationist for an Infocom game and had some behavior
> that was more rule-based than scripted.
I wish to distinguish between interaction and emergence. Interaction
can be scripted. Emergence is when a certain pattern of interaction
arises which wasn't pre-arranged by the author. I don't recall any such
behaviour in suspended .Which is not to disparage the game. It was a
favorite of mine.