[MUD-Dev] Parser engines

Jason Slaughter rexrhino at hotmail.com
Fri Mar 12 17:45:10 CET 2004

Mike Rozak <Mike at mxac.com.au>  wrote

> I am interested in localization, so one concern I have (but which
> most people won't) is that if I spend a huge amount of time
> writing an awesome english parser "aggressively attack the second
> orc to the right of the tree" (to exaggerate) then:

>   a) No sane person will be able to localize the same
>   functionality into other languages. (I don't know enough other
>   languages to do localization myself.)

>   b) All the wonderful parsing will be unseen by most users
>   because they don't need it, even in an IF oriented
>   enviornment. Users on rec.arts.int-fiction don't seem too keen
>   on going beyond anything in TADs or Inform, which implies to me
>   that maybe it's not necessary.

If you are going for something that is easy to localize/translate, I
would eliminate the parser and instead go to an icon based point &
click interface. Many people hate the idea of a point & click
interface, but I have never understood why typing "insert key into
door" is any more immersive or fulfilling than clicking on a key and
then on a door. I suppose the person might want to slide the key
under the door instead of opening the door... Or perhaps set the key
on the door and leave it there. But those cases are so rare that the
player would not lose anything by having the system automatically
understand what they want to do by context (so, if in order to solve
the puzzle as the coder intended, you need to put the key under the
door, the system would just assume you mean this).

A while back I was trying to come up with the most simplistic model
that can pretty much catch all the interactions in a MUD as a mental
experiment... and I found that nearly every action I can think of
can be expressed in a object/target relationship. The object need
not necessarily be an object, it could be a skill or ability or
magic, but it all comes down to situations like LOOK
(object/ability) ROOM (target). Or, to open the door as above would
be KEY (object) DOOR(target). It is pretty simple to come up with a
matrix of object types crossed with object types and action types,
and then have a function for each cell on the matrix. I have played
all the classic infocom adventures, and I have played Myst and the
classic LucasArts games (Monkey Island, etc.), and while I quite
enjoyed the infocom adventures, possibly more so than the newer
games, I don't think that entering commands in a text parser as
opposed to a point and click interface is what made them more
compelling or immersive.

The interface I created in my test program had a list of icons that
represented all non-object actions (look, stand, sit, jump), as well
as all objects, and then you click on objects visible in a third
person view window. But even if your game was completely text based,
a point and click interface like this would still work You could
have a text list of actions and objects on person... and then click
on the list for the action and on the word of the object you want to
act on in your text description, and have it do exactly the same
thing. (on a side note, have there ever been any point and click
text based interactive fiction?) And even though that type of
interface seems almost painfully simple in order to model all the
types of interactions available in MUDs and IF at first glance, it
can really do almost anything and it is joyously easy to program and

Of course, it sounds like your area of interest is in parsers, so
that isn't to say you shouldn't use a parser. I just wanted to
suggest some alternatives.

MUD-Dev mailing list
MUD-Dev at kanga.nu

More information about the mud-dev-archive mailing list