[MUD-Dev] Re: Issues from the digests and Wout's list

Adam Wiggins nightfall at inficad.com
Mon Apr 28 21:45:11 New Zealand Standard Time 1997


> >Yes.  What you have are two seperate sets of data.  One contains what
> >you are 'attempting'.  Ie - typing 'headbutt' doesn't just headbutt
> >immediately, it just sets into your attempts that you want to
> >headbutt at the next possible opportunity.  If that opportunity
> >happens to be now, you get an instantanous effect - and you will
> >continue to try to headbutt whenever it is convenient.  As you can
> >imagine, this conveys some other information to the system, since
> >'headbutt fred' indicates that you want to a) get Fred into a
> >position where you can headbutt him, and b) actually headbutt him. 
> >This may involve a lot of things, including dropping whatever you are
> >currently doing, moving into position to attack Fred (which will
> >probably trigger some stuff on Fred, of course) and then doing the
> >deed.
> 
> How do you determine when to cease attempting an action?  eg How do
> you when decide to stop headbutting Fred?

You can either manually stop, or the game will stop for you.  You manually
stop in a method that is either specific to the action (ie, doing "stand
up" is the most obvious way to end ground/wrestling combat) or using
the catchall "stop" command (which can take an argument, ie "stop fighting").
In many cases you'll just stop automatically - Fred is suddenly
teleported away, or more likely you reach the combat stop point, which is
set by player options, the default being "when my opponent is immobilized",
which usually means they are unconscious.
I guess I should clarify that there are actually options which are different
from actions.  Thus you can set an _option_ that you'll try to headbutt
opponents in combat, and this is persistant.  You'll always try to do it.
Then there is an action to headbutt, which actually says "I want to try to
headbutt Fred, right now."  Two very different things, although now that I
think of it I suppose this is a tad confusing.

> Will your "eat bread" cause him to climb or descend the rope to assume
> an "eating position" and thence eat the bread?  Or will it merely log

No.  Right now we only assume so much...that is, if you type 'eat bread',
and there's nothing answering to bread in your hands or worn on your
body, you'll quickly scan your containers (pockets, backpack, beltpouch)
for something answering to berad, and if you find it, it will add a task
"get the bread from the backpack", followed by task "eat the bread".
Thus if you type 'eat bread' it won't go for the bread Fred is holding,
although you can type 'eat Fred's bread'.

> an intention which will be compleated once the player is in a suitable
> position?
>
>   > l
>   On a rope in hanging in mid air.
>   > eat bread
>   Ok
>   > climb rope
>   You are now standing on a grassy plain.
>   You eat bread.

Yes, although it's more like this:

> eat bread
You reach into your pack for some bread.
You loose your grip on the rope and quickly yank your hand out of your pack!
You catch yourself and regain your grip on the rope.
> climb
You climb up the rope.
You enter the grassy plain.
You reach into your pack for some bread.
...

> How do you then handle the problem of the prior intenion no longer
> being applicable?
>
>   > l
>   You are in an endless grassy plain.  There is a tree far to the
> west.
>   > climb tree,
>   You are moving towards the tree to climb it.
>   You are attacked by an Orc!

Your task list is pretty limited.  You can't have a lot of stuff in there
at once; in addition, things with a priority of life-or-death, or jarring
blows, will basically 'disrupt' whatever you're doing.  This was added
in order to make it difficult to say, cast a spell while someone was
attacking you...but the side-effect is that mortal situations will make
you 'forget' everything you were doing before.  Of course, if you never
feel very threatened, you may not even bother interrupting it.  Thus you
get the situation of:

> eat riceball
You begin munching on your riceball.
> 
An ugly goon arrives from the south.
An ugly goon arrives from the south.
>
You take a bite of your riceball.
An ugly goon moves to attack you!
An ugly goon moves to attack you!
> 
You take a bite of your riceball.
>
An ugly goon draws a cudgel and leaps towards you!
In one smooth motion you draw your sword, parry the incoming cudgel, and
 smash the hilt into the goon's face.
The goon collapses.
You turn and slice the goon's feet out from under him.
The goon collapses with a wail of pain.
You sheathe your sword.
>
You take a bite of your riceball.

(This is from Ninja Scroll, btw, a kick-ass anime fighting flick.  Rent/buy
it if you haven't seen it.)

Here, the character never felt very threatened...thus he didn't even
immediately draw his sword when the goon lept at him.  (Note that this
would all be automatic...the player, if he felt that his character was
being too cock-sure, could have typed 'draw', 'stop eating', 'attack goon',
or whatever, if they desired.)

Compare this with your average, uncertain novice:

> eat riceball
You begin munching on your riceball.
> 
An ugly goon arrives from the south.
An ugly goon arrives from the south.
>
You take a bite of your riceball.
An ugly goon moves to attack you!
An ugly goon moves to attack you!
You drop your riceball, and draw your sword.
You back away from the goon.
>
An ugly goon draws a cudgel and leaps towards you!
You bring up your sword to parry...

etc.  And a less one-sided combat begins.  Your riceball is long forgotten.
Even had you not dropped it, you would not bother to resume eating it
afterwards.

>   ...
>   The orc is dead.
>   You are very badly wounded.
>   > go to healer
>   You are moving towards the healer.
>   ...
>   You are almost dead.
>   The healer is here, sitting under a tree.
>   You begin climbing the tree.
>   You die from your injuries.

Well, this is (again) a slightly special case, since your character will
perceive they are in no shape to climb the tree.  (You could try to force
them with "climb tree!")  In addition, our tasks really don't have this
kind of persistance.  In most cases, if something doesn't happen right
away or at least very soon, it's not going to happen at all without
you manually re-entering the command.

> >Boffa drops a magical sword.
> >(pause)
> >A magical sword suddenly drains all your mana!
> 
> True.  What I don't want to even attempt from the game is:
> 
>   Bubba drops a sword.
>   All your mana is gone!
>   Its Bubba's fault your mana is gone!
> 
> >Or whatever.  I'm not saying this isn't somewhat tricky (keeping a
> >list of things that happened in the character's sight recently), but
> >you're the one that wanted to do it this way...
> 
> Err no.  I never wanted to do this.  I've argued against it while
> asking how it could be done.

Ah, okay, misunderstood.  In that case you can just not worry about it,
although simple event tracking data would be useful if the player decided
to write a script which was overly 'paranoid.'  Ie: If something hits me,
attack the last thing I saw move.




More information about the MUD-Dev mailing list