[MUD-Dev] What about goal oriented interfaces? (was Re: [MUD-Dev] Text Parsing)

Ola Fosheim Grøstad <olag@ifi.uio.no> Ola Fosheim Grøstad <olag@ifi.uio.no>
Thu Jun 3 00:59:38 CEST 1999


Chris Gray wrote:
> To reply here to Ola's note, whether or not I agree on whether there is
> any point in being between a really simple and a full AI parser depends
> on the definition of 'really simple'. If that really simple parser can't
> handle lists of objects, position indicators, synonyms, multiple meanings
> for words, articles like 'the', 'a', 'an', etc. then I disagree - that
> is *too* simple for me as a player. I do agree about the parser not
> making non-obvious choices for the player, however.

Ack... "A simple well defined well known set of actions."

Anyway, I think you are focusing on the interface isolated, while you always
should consider the interface in relation to the underlying structure.  You
are not creating an interface to the physical world, and you do have the
power as a designer to select a well chosen set of actions and tailor the
world to fit (and vice versa).  You are creating a "paradigm".

There is basically no reason to make a design which requires users to put
things under, over, on top of, to the left of etc.  Basically, I'd like to
see the designer ask the question "What is the minimal set of actions that
will allow all the core experiences I want to support?". Then you make sure
that your design invites to the kind of actions you support and make sure
that you support those actions rather well.

I am not rigid about this, but that is a good approach.  You might want to
support adjectives that are noticable in your gameworld.  "wield sharp
sword" for instance.

The main point is to make the useful actions and how to trigger them
_visible_.


I've also been playing with thoughts about using a planning engine (inspired
by Bartle). For instance, what if you play the game by setting up goals and
subgoals, rather than performing single actions?  Then you acknowledge the
actions that the computer comes up with, or maybe not. (I have no idea of
how to write the engine, expect it to be of NP complexity or worse (possibly
very difficult ;))

Ignoring NLP problems and using a sloppy syntax:

  > I would like to be king within a year
  goal1: (Ola)is king [ importance: 0.5, slack: 365 days ]

  > I should get better armour this week,
  goal2: (Ola)has armour(>0.6) [ importance: 0.9, slack: 7 days]

  > I think one can get excellent armour in London
  guide: (P)in(London) => (P)near(SUCCESS(get excellent armour))
         [certainty: 0.5]

  > I hate Bubba
  rule: (Ola)hate(Bubba)

  > I kill those I hate on sight
  goal3: IF is present(P) AND (Ola)hate(P) THEN is dead(P)

  > I hunt those I hate when I am idle
  goal4: IF (Ola)is idle AND (Ola)hate(P) THEN find(P)

  > I ought to stay healthy
  goal5: (Ola)has health(>0.7) [importance: 0.5]

  > I must stay somewhat healthy
  goal6: (Ola)has health(>0.3) [importance: 1.0]

--
Ola Fosheim Groestad,Norway      http://www.stud.ifi.uio.no/~olag/



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




More information about the mud-dev-archive mailing list