Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Goal/Obstacle Puzzle Theory

13 views
Skip to first unread message

Mark W

unread,
Jan 11, 2002, 11:21:02 PM1/11/02
to
I just read the Locational Puzzle Theory by Roger Carbol and found
it's premises interesting, but thought it missed an essential point.
Most notably obstacles to changing game states. As an abstract,
theoretical concept the Locational Puzzle Theory is interesting. I
agree with the comment that "at a sufficiently general level of
abstraction, all games are Space Invaders" by Adam Thornton.

At a significant level of abstraction, everything is Space Invaders.
I'm more interested in goal/obstacle pairs. In Space Invaders (if I'm
remembering correctly, it has been nearly 2 decades) your goal is to
destroy a number of plummeting white dots. Obstacles include the
difficulty of the controls, the speed of the dots, etc. In Hamlet the
goal is to take revenge on his father's death. Obstacles include
psychological, sociological, and physical barriers. Just how do you
kill a king and get away with it?

While there are many goal/obtacle (solution/puzzle) pairs, puzzles
differ from other goal/obstacle pairs in significant ways.

My Websters defines puzzle as "a toy or other contrivance designed to
amuse by presenting difficulties to be solved by ingenuity or patient
effort" and later on "_archaic_ to make intricate or complicated." It
lists synonyms include "riddle, enigma" and goes on to say "A puzzle
is a question or problem, intricate enough to be perplexing to th
emind; it is sometimes a contrivance made purposely perplexing to test
one's ingenuity.

I will state then that a puzzle is a goal/obstacle pair whose
existance is contrived for the sole purpose of entertaining or
frustrating someone (the line can be very fine). I wouldn't call "my
home stereo/my locked door" a puzzle, though to a theif they may be a
goal/obstacle pair because I did not put my door or my stereo where
they are simply to entertain the theif.

I'm guessing Websters meant that a puzzle can be solved by "patient
effort" in the absence of "ingenuity." Ingenuity should be the default
mode of how puzzles are solved. Let's examine Ingenuity.

Ingenuity involves a reframing of concepts and objects. A concept is
an action/reaction pair. "If this happens then this happens." Objects
are the things that are being acted upon, the subjects and objects of
the logical sentance.

By reframing a concept or object, I mean that it's true nature isn't
immediately aparrent, but can be inferred from other somewhere else.
Either the world outside the game, another object or action witnessed
in the game, or various hints to it's true nature from it's
description, other ways it is used, etc.

Here's an example:

Substitution.

Standing on a certain tile in the floor will open a door. (concept)
Step off the tile and the door immediately closes. (concept)
The objects are the tile, the door, and the person.

Substituting a heavy object for himself he may keep the door open. The
player has to make the leap from himself to the heavy object. In
effect, he must learn to re-categorize himself as a heavy object.

Another example might be the Rubik's Cube. This is a puzzle with many
objects (the faces, or tiles) and many concepts (the ways those tiles
can move).

The first time you see a Rubik's Cube you understand only one concept
- twisting various faces. Other concepts are made up of patterns of
twisting. If you've ever gotten into the Rubiks Cube, you learn that
solving it really involves learning a number of patterns and applying
them. Something like "left left right right up up down down."

The Rubik's Cube is a good puzzle. While many people give up because
of the depth of it's complexity, it's obvious from the beginning that
it is solvable. People think "I'm having trouble with this puzzle" not
"The design is flawed."

Comments? Feedback? This theory is far from complete, it's just off
the top of my head.

Mark

Grant D. Watson

unread,
Jan 12, 2002, 12:26:25 AM1/12/02
to
Good points; I'm still processing your post.

I do wonder, however, how you would categorize multiple, related obstacles to
the same goal, which may or may not have a single solution. Are they one
puzzle or many?

Grant D. Watson
grwa...@georgefox.edu
VBas...@aol.com

Mark W

unread,
Jan 12, 2002, 12:35:27 PM1/12/02
to
vbas...@aol.com (Grant D. Watson) wrote in message news:<20020112002625...@mb-ce.aol.com>...

I would say this is multiple puzzles to the same goal. If the player
could solve (a) or (b) or (c) to get to (d), then (a) and (b) and (c)
would be puzzles.

There is also the possibility of:

1. reframing multiple concepts or objects towards a solution
e.g. in a rubik's cube, you have to learn a lot of different patterns
(or concepts) to solve it, or a puzzle in which any number of
solutions can be deemed as "correct."
2. taking a single set of objects or concepts and using them to
multiple solutions.
e.g. A lot of games are like this, for example, lemmings has few
objects and concepts that you must continually re-use.

Mark

Roger Carbol

unread,
Jan 14, 2002, 12:10:43 PM1/14/02
to
Mark wrote:

> I just read the Locational Puzzle Theory by Roger Carbol and found
> it's premises interesting, but thought it missed an essential point.

Thanks!


> Most notably obstacles to changing game states. As an abstract,
> theoretical concept the Locational Puzzle Theory is interesting. I
> agree with the comment that "at a sufficiently general level of
> abstraction, all games are Space Invaders" by Adam Thornton.

Yes... I'm in the process of reworking this, mostly to make it
less abstract and more concrete (and, in the process, hopefully
more useful.)

I'll probably defer entirely on more vexing questions like the
underlying definitions of things like 'puzzles' and 'IF'. Your
approach, based on 'ingenuity', is an interesting one, although
I'm not sure that brute-force puzzles should be dismissed as
puzzles entirely, even if they're often not very entertaining.

.. Roger Carbol .. rca...@home.com

Mark W

unread,
Jan 14, 2002, 6:26:00 PM1/14/02
to
rca...@home.com (Roger Carbol) wrote in message news:<82675075.02011...@posting.google.com>...

>
> I'll probably defer entirely on more vexing questions like the
> underlying definitions of things like 'puzzles' and 'IF'. Your
> approach, based on 'ingenuity', is an interesting one, although
> I'm not sure that brute-force puzzles should be dismissed as
> puzzles entirely, even if they're often not very entertaining.

I guess if the definition of a puzzle is something that is made to
entertain you, and brute force puzzles are not very entertaining
(though it's all a matter of taste), then they're "not very puzzles."
Twisted grammer, but you get the idea.

I've recently run across another sort of puzzle (I've seen similar
stuff before, but I ran across this one _after_ my goal/obstacle
theory). I'll call it "encapsulation." This post contains minor
spoilers to a game I won't mention. I've also changed the names of the
innocent in order to protect the guilty. Guesses as to the game are
welcome.

Goal/Obstacle Encapsluation Puzzles

It was actually a set of puzzles, including indirection and hiding.

Obtacle A is locked or otherwise "stuck".
You need object B to open door A, but it's not obvious that it's B
that you need, you have to figure that out.
You also can't just waltz up to object B and take it, another
obstacle, C, blocks your way.
It turns out that you have to use object D to remove obstacle C, but
it's also not obvious that object D will remove obstacle C, though
there's little else to do with it.
Object D, it seems is hidden by Object E. While it's easy enough to
examine object E and find find Object D.

Let me give an example.

You're stuck in a bear's cave and the only way out is through a sheet
of ice, which you can't break yourself. You need to find something to
break open the ice. Two rooms away in the middle of a frozen lake is a
tuning fork. Any time you try to approach the tuning fork the ice
begins to crack and you quickly step off. In another room is a
sleeping bear. If you tiptoe behind the sleeping bear, you will find a
fishing rod.

You have to realize you can go behind the sleeping bear to find the
fishing rod.
You then have to realize that you can use the fishing rod to get the
tuning fork. All of this presupposes that you realized that the tuning
fork can be used to shatter the ice.

A lot of realization going on here. Sounds like it's in line with my
indirection goal/obstacle theory, just an elaboraion of it.

This is not too dissimilar from other types of plot. For example, in
the Hobbit, the goal is to get the gold, but there is a dragon (and
many miles) barring the way. An arrow can kill the dragon, but you
have to realize that you can get Smaug to turn over. You also have to
realize that you can tell a bird to carry a message to a distant
archer. Before that, you must pass through Mirkwood, and so on. The
goal is Z, but you can have many adventures before getting to Z, so
the larger puzzle encapsulates the inner puzzles.

In conclusion, you can have a goal/obstacle pair, and make the
solution to the obstacle the goal of another goal/obsacle pair. A sort
of nesting of puzzles, which can lead to much more complex games.

It can almost be represented by a mathematical equation.

A=(B+(C*D)-F(G/(H+I))-J)

You must solve H+I before you can solve G/(H+I) before you can solve
F(G/(H+I)), and you must also sove (C*D). Once you've done that you
must still solve the outermost puzzle. Of course, all of this
presupposes that you realized that the "=" sign was there (and not
somewhere else) in the first place.

This seems like a very powerful too, and shouldn't be used too deep. A
single game can be constructed as one giant equation then.

A = ( B + (C+(D*E)) + (F+(G*H)) + (I+(J*K) )

Solve C, D, E and end "stage 1."
Solve F, G, H and end "stage 2."
Solve I, J, K and end "stage 3."

Solve B, etc. and end the game.

My 2cents.

Mark

PS, this puzzle was actually just to allow you to get you the objects
needed to solve another larger puzzle. The whole thing was just inside
one set of paranthases in the equation.

Sean T Barrett

unread,
Jan 14, 2002, 6:43:12 PM1/14/02
to
In article <772ca430.02011...@posting.google.com>,

>rca...@home.com (Roger Carbol) wrote in message
>It can almost be represented by a mathematical equation.
>A=(B+(C*D)-F(G/(H+I))-J)

You don't seem to have assigned any meaning to '+' versus
'*' versus '/', so I'll point out that this is just a way
of encoding what computer scientist people call a "tree"
(like the object tree in IF).

A tree is a subset of a class of data known as "graphs";
in general, IF puzzle chains form DAGs (directed acyclic
graphs, which trees are also a subset of). The obvious
sort of case here is where you have one puzzle dependent
on two others (G versus H&I) you can also have two puzzles
dependent on a single one, which cannot be notated as
an equation (although you could notate it by using multiple
equations).

Graham Nelson's DM4 has some charts like this.

SeanB

Mark W

unread,
Jan 14, 2002, 9:16:59 PM1/14/02
to
buz...@TheWorld.com (Sean T Barrett) wrote in message news:<GpyCK...@world.std.com>...

Thank you. I'll look more into these DAGs (not being a programmer, I
understand a lot of the concepts of programming, but don't know all
the terminology and "stuff." I'd love it if you could elaborate on
this (off line, or if it relates to IF development here).

As for the theory, I'm not sure it's that obvious, though I'll welcome
arguments to the contrary. I was just hoping to offer some concepts
and tools to developers.

Mark

Magnus Olsson

unread,
Jan 15, 2002, 9:54:39 AM1/15/02
to
In article <GpyCK...@world.std.com>,

Sean T Barrett <buz...@TheWorld.com> wrote:
>In article <772ca430.02011...@posting.google.com>,
>>rca...@home.com (Roger Carbol) wrote in message
>>It can almost be represented by a mathematical equation.
>>A=(B+(C*D)-F(G/(H+I))-J)
>
>You don't seem to have assigned any meaning to '+' versus
>'*' versus '/', so I'll point out that this is just a way
>of encoding what computer scientist people call a "tree"
>(like the object tree in IF).

A simple example: The expression

2 + 3 * 4

can be written as the tree

+
/ \
2 *
/ \
3 4

Note that the tree is upside-down compared to real-life trees :-).

>A tree is a subset of a class of data known as "graphs";
>in general, IF puzzle chains form DAGs (directed acyclic
>graphs, which trees are also a subset of). The obvious
>sort of case here is where you have one puzzle dependent
>on two others (G versus H&I) you can also have two puzzles
>dependent on a single one, which cannot be notated as
>an equation (although you could notate it by using multiple
>equations).

Another example: If A, B, C and D are puzzles, where you must solve
B and C to solve A, and you must solve D to solve B and C, you can
draw the graph

A
/ \
B C
\ /
D

but you can't write down a mathematical equation equivalent to
this.

Another case which can be written as a graph but not as an equation is
this:

A
/|\
/ | \
B C D

i.e. you must solve three puzzles to be able to solve A.

>Graham Nelson's DM4 has some charts like this.

To learn more about the subject, you may also do a Google search
for "Plot DAG".


--
Magnus Olsson (m...@df.lth.se, m...@pobox.com)
------ http://www.pobox.com/~mol ------

Mark W

unread,
Jan 15, 2002, 12:58:17 PM1/15/02
to
m...@df.lth.se (Magnus Olsson) wrote in message news:<a21frf$p9$1...@news.lth.se>...
> [snip]

> To learn more about the subject, you may also do a Google search
> for "Plot DAG".

Thanks. I'll do that.

Someone mentioend how I didn't assign values to + or -, so I was just
thinking how logic is much more suited to plot development than math.
I might have mentioned it before, but things like

if (p -> q) and (r or s) therefore (t)

seem to work well for plotting. Premises and arguments become objects
and concepts, and the "therefore" (I forget what this is called) is
the puzzle you're solving.

You must open the calculator (p) to get the battery (q) and get either
the flashlight (r) or the matchbook (s) to go into the dark room and
activate the robot (t). This example is a little sloppy because the
darkness is an obstacle to (t), but let's count them as one so I don't
have to think too hard about this right now.

I guess it all depends on if you think in terms of linear structure or
tree structure. Both have their places, and both can probably be used
by the same person. I'm just hoping to introduce some more analogies
to be used by IF plotters.

Mark

Mark W

unread,
Jan 15, 2002, 1:26:53 PM1/15/02
to
m...@df.lth.se (Magnus Olsson) wrote in message news:<a21frf$p9$1...@news.lth.se>...
> [snip misc stuff about math and trees]

>
> >A tree is a subset of a class of data known as "graphs";
> >in general, IF puzzle chains form DAGs (directed acyclic
> >graphs, which trees are also a subset of). The obvious
> >sort of case here is where you have one puzzle dependent
> >on two others (G versus H&I) you can also have two puzzles
> >dependent on a single one, which cannot be notated as
> >an equation (although you could notate it by using multiple
> >equations).
>
> Another example: If A, B, C and D are puzzles, where you must solve
> B and C to solve A, and you must solve D to solve B and C, you can
> draw the graph
>
> A
> / \
> B C
> \ /
> D
>
> but you can't write down a mathematical equation equivalent to
> this.

Ah, this looks very familiar. I've been using these for a while. I
would just call it a "plot diagram" or something like that. I'm glad
to have a techinical name for it.

Maybe you can't write a mathematical statement that looks like that,
but can write a logic statement roughly equivelant to it.

d -> (b or c) -> a

That might be funky logic (I'd have to consult Copi on this), but it
seems to work in terms of diagrammatical abstraction.

So back to my example with the bears, the goal (A) is to break out of
the ice. In order do do this you must get tuning for (B), by getting
fishing pole (C) hidden behind bear (D). This describes a very linear
plot, but a fairly interesting puzzle.

D-> C -> B -> A

This is where the mathematical abstraction ends and the plot stuff
begins. Your goal is (A), and you know this. But you have to infer
that (B) can used to solve (A). You also can't get B, so you must find
a way to get B, and so on. You actually start by butting your head
against A and have to work your way back to D.

It requires multiple leaps of logic, each one one further step removed
from the actual goal.

> Another case which can be written as a graph but not as an equation is
> this:
>
> A
> /|\
> / | \
> B C D
>
> i.e. you must solve three puzzles to be able to solve A.

This looks more like (B) or (C) or (D) therefore (A) because I can get
to A from any one of those points. The situation you describes seems
more like:

if (B) and (C) and (D) therefore (A)

In more detail that might be

if B=(G -> H -> I) and C=(J and (K or L)) and D=(M -> O) then A

I'm not sure how to diagram that if they can happen in any order.

A
|
B---C
\ /
D

doesn't seem right either. Nor does:

A
|
B-C-D
\|/
S

where S equals a neutral starting position.

The diagram method seems to be lacking an "and." I'm going to stick
with my "plot as logic" theory for now.

Mark

Magnus Olsson

unread,
Jan 15, 2002, 2:59:36 PM1/15/02
to
In article <a21frf$p9$1...@news.lth.se>, Magnus Olsson <m...@df.lth.se> wrote:
>Another case which can be written as a graph but not as an equation is
>this:
>
> A
> /|\
> / | \
> B C D
>
>i.e. you must solve three puzzles to be able to solve A.

Sorry - this is wrong; it can be written as an equation provided one
gives up the convention that each operator must have its own node
in the tree:

A = B * C * D

(technically, the trick is to merge operations of the same associativity).

Magnus Olsson

unread,
Jan 15, 2002, 3:02:50 PM1/15/02
to
In article <772ca430.02011...@posting.google.com>,

Mark W <deve...@mailandnews.com> wrote:
>Someone mentioend how I didn't assign values to + or -, so I was just
>thinking how logic is much more suited to plot development than math.
>I might have mentioned it before, but things like
>
>if (p -> q) and (r or s) therefore (t)
>
>seem to work well for plotting. Premises and arguments become objects
>and concepts, and the "therefore" (I forget what this is called) is
>the puzzle you're solving.

(...)

>I guess it all depends on if you think in terms of linear structure or
>tree structure. Both have their places, and both can probably be used
>by the same person.

Actually, the three ways of writing puzzle/plot relationships:
mathematical formuale, propositional logic and DAGs (*not* trees,
that's too restrictive) are equivalent because they share the same
underlying structure; this is what is studied in the mathematical
discipline called abstract algebra.

EPerson

unread,
Jan 15, 2002, 5:34:21 PM1/15/02
to
deve...@mailandnews.com (Mark W) wrote in message news:<772ca430.02011...@posting.google.com>...

> m...@df.lth.se (Magnus Olsson) wrote in message news:<a21frf$p9$1...@news.lth.se>...
> [snip]

>
> This looks more like (B) or (C) or (D) therefore (A) because I can get
> to A from any one of those points. The situation you describes seems
> more like:
>
> if (B) and (C) and (D) therefore (A)
>
> In more detail that might be
>
> if B=(G -> H -> I) and C=(J and (K or L)) and D=(M -> O) then A
>
> I'm not sure how to diagram that if they can happen in any order.
>
> A
> |
> B---C
> \ /
> D
>
> doesn't seem right either. Nor does:
>
> A
> |
> B-C-D
> \|/
> S
>
> where S equals a neutral starting position.
>
> The diagram method seems to be lacking an "and." I'm going to stick
> with my "plot as logic" theory for now.
>
> Mark

How about a doubled line indicates "and? Like this:

A
|
B=C=D

If A could be solved by either A, B and C or by doing E:

A
|\
| \
| \
B=C=D E

Mark W

unread,
Jan 16, 2002, 10:07:59 AM1/16/02
to
esch...@safeaccess.com (EPerson) wrote in message news:<6e5fc465.02011...@posting.google.com>...

>
> > The diagram method seems to be lacking an "and." I'm going to stick
> > with my "plot as logic" theory for now.
> >
> > Mark
>
> How about a doubled line indicates "and? Like this:
>
> A
> |
> B=C=D
>
> If A could be solved by either A, B and C or by doing E:
>
> A
> |\
> | \
> | \
> B=C=D E

Hmmm. This seems like an interesting solution, though I'm always wary
of methods that need to revise their vocabulary once something new is
thought up. It implies that further down the road other revisions will
need to be made for other unforseen events, that the authors didn't
develop a system open ended enough and that they just cobbled what
they thought they would need together.

That said, plot DAG does seem like a good, fundamental principle, and
it certainly is one I use regularly. As for "must complete B, C and
D," how about paranthasis meant to indiciate a set, or a horizontal
line, or combination thereof:

A
|
__|__
(B-C-D)

Mark

EPerson

unread,
Jan 16, 2002, 5:56:52 PM1/16/02
to
> > How about a doubled line indicates "and? Like this:
> >
> > A
> > |
> > B=C=D
> >
> > If A could be solved by either A, B and C or by doing E:
> >
> > A
> > |\
> > | \
> > | \
> > B=C=D E
>
> Hmmm. This seems like an interesting solution, though I'm always wary
> of methods that need to revise their vocabulary once something new is
> thought up. It implies that further down the road other revisions will
> need to be made for other unforseen events, that the authors didn't
> develop a system open ended enough and that they just cobbled what
> they thought they would need together.
>
> That said, plot DAG does seem like a good, fundamental principle, and
> it certainly is one I use regularly. As for "must complete B, C and
> D," how about paranthasis meant to indiciate a set, or a horizontal
> line, or combination thereof:
>
> A
> |
> __|__
> (B-C-D)
>
> Mark

Of course, the exact notation is not that important. Also, when we add
NOT and compound expressions, we should be able to describe any
situation.

Daniel Dawson

unread,
Jan 18, 2002, 11:52:53 AM1/18/02
to
You pick up and read article <772ca430.02011...@posting.google.com>,

written by Mark W <deve...@mailandnews.com>. It says:
>m...@df.lth.se (Magnus Olsson) wrote in message news:<a21frf$p9$1...@news.lth.se>...
>> Another example: If A, B, C and D are puzzles, where you must solve
>> B and C to solve A, and you must solve D to solve B and C, you can
>> draw the graph
[For the sake of argument and consistency, change Magnus' 'B and C' to 'B or
C'.]

>> A
>> / \
>> B C
>> \ /
>> D
[snip]

>d -> (b or c) -> a
>
>That might be funky logic

I'm assuming -> means 'implies' here. In which case, logically, that's
backward. It should say:

A => (B or C) => D

Why? Because solving A *implies* that you must have solved B or C, and solving
B or C *implies* that you must have solved D. Looking at it the other way, it
doesn't follow that if you solve B, that you must solve (much less *must have
solved*) A. (The => connective says nothing about cause and effect, but it so
happens that in this case they tend to run reverse to the arrow!)

That said, the former order is certainly easier to understand, and okay as long
as there is no illusion about the meaning of '->'.

That's my $0.25. (Sound right for inflation?)

--
Daniel Dawson
dda...@nospam-altavista.net (remove 'nospam-' to send mail)

Thomas Hudson

unread,
Mar 12, 2002, 3:43:46 PM3/12/02
to
In article <6e5fc465.02011...@posting.google.com>, EPerson

<esch...@safeaccess.com> wrote:
>Of course, the exact notation is not that important. Also, when we add
>NOT and compound expressions, we should be able to describe any
>situation.

There are plenty of other notations for this kind of thing that come out
of computer science, like Petri nets and state diagrams. They're less
susceptible to ascii art, but might serve.

Zarf had an example deep in the google archives about a locked, cold
room with a door (hinges frozen up), a key (on a high ledge out of
reach), a bat (can be caught and trained to bring you the key), and a
fireplace (lighting the fire scares the bat, melts the frost gumming up
the door, and produces choking smoke). It was posted to show a simple
puzzle for which it was difficult to build a DAG.
(http://bang.dhs.org/if/raif/pre1997/msg07050.html)

As far as I can tell, doing it in a state diagram requires nested states
and also creates some of the combinatorical explosion of states that
interferes with creating a DAG for it. However, it looks amenable to
representation with something close to a Petri net (or forest).
Represent states as nodes in the net, user actions as asterisks.
Everything that points to an action with an arrow must be true to enable
it, and everything that points to an action with an "o" must be false to
enable it. Unnamed actions encode internal logic of the game.

[requires monospaced font]

light fire
----> * ---->
fire out fire lit ----> [ timer: 10 turns ]
| <---- * <---- | |
| extinguish fire +---------+ |
| | | |
| catch bat [5 turns] v | v
+ ----> * ----> bat caught * +------> *
| | | |
| send bat | v v
| to get key | door defrosted player dies
+-------> * <------+ |
| |
v open door |
player has key ----> * <-----+
|
|
v
door open

I've arbitrarily extended the notation to handle the timing
portion of Zarf's plot: that if the fire is lit for too long the smoke
chokes you and you die. I've also simplified the diagram by leaving
out "token return" paths, and there are a few things that Zarf seems
to have left unspecified (e.g. once you get the key, can you catch the
bat again?) that I omitted.


A good tool for UML (the Unified Modeling Language) ought to have a
built-in state diagram editor (the free version of Poseidon does, with
support for compound states, but it's in Java and a little slow). I
don't know of any standard Petri net editors for people who want to try
this at home, or good references.


Tom

Kodrik

unread,
Mar 12, 2002, 4:36:10 PM3/12/02
to
> light fire
> ----> * ---->
> fire out fire lit ----> [ timer: 10 turns ]
> | <---- * <---- | |
> | extinguish fire +---------+ |
> | | | |
> | catch bat [5 turns] v | v
> + ----> * ----> bat caught * +------> *
> | | | |
> | send bat | v v
> | to get key | door defrosted player dies
> +-------> * <------+ |
> | |
> v open door |
> player has key ----> * <-----+
> |
> |
> v
> door open
>
> A good tool for UML (the Unified Modeling Language) ought to have a
> built-in state diagram editor (the free version of Poseidon does, with
> support for compound states, but it's in Java and a little slow). I
> don't know of any standard Petri net editors for people who want to try
> this at home, or good references.

This is really great.
And that would be a great tool for authors to build their puzzles and their
story in general.
The diagram could be directly created from the data (since its a database
with these relations exactly specified). You could even be able to build
you adventure from diagram. I don't see any reason why it couldn't be done
two ways.

This is interesting but it will require lots of thinking to be implemented
in a way that it is useful for an author.
It will also be while before I am a a stage of being ready to add such a
thing.

EPerson

unread,
Mar 13, 2002, 12:10:48 AM3/13/02
to
hud...@cs.unc.edu (Thomas Hudson) wrote in message news:<a6lpa2$bj3$1...@capefear.cs.unc.edu>...
[snip]

> As far as I can tell, doing it in a state diagram requires nested states
> and also creates some of the combinatorical explosion of states that
> interferes with creating a DAG for it. However, it looks amenable to
> representation with something close to a Petri net (or forest).
> Represent states as nodes in the net, user actions as asterisks.
> Everything that points to an action with an arrow must be true to enable
> it, and everything that points to an action with an "o" must be false to
> enable it. Unnamed actions encode internal logic of the game.

[snip, snip, snippity]

Actually, I think I was kind of envisioning something similar. I'm
unsure exactly what you mean by "state diagram" and how it is
differant than what you have. Anyway, I was thinking of the letters as
representing on/off values with conditions attached to when they could
be changed, which it seems is what your diagram is depicting. I don't
have time to show an example now.

0 new messages