Re: Dotmode etc.

From: Daniel A. Koepke (
Date: 05/18/02

On Fri, 17 May 2002, Russell Brown wrote:

> How do you handle the command "read second"? (assumming the character
> may also possess the first, third and fourth books of necromancy, which
> is why they didn't just "read book".)

Trivially.  The lack of an argument after 'second' disambiguates the
usage.  A more difficult case would be if there are two bags in the room
and one of them has the second book of necromancy in it.  What would "get
second bag" do?

Of course, you could allow your players the opportunity to explicitly
group their arguments with brackets or single quotes (something easy to
type).  This smacks of the 'cast' hack, but is quite elegant in its
simplicity and power:

    > get [second book] bag
    You get the Second Book of Necromancy from the bag.
    > wield [iron sword]
    You wield the iron sword.
    > remove [iron shield]
    You remove the iron shield.

The problem with 'second' being both a selector and a keyword still remain
and require greater design to deal with, if we decide that we must address
this problem.  (A simple, but probably undesirable, solution would be to
simply not have an object with the keyword 'second'.)

> Of course it could be done.

Perhaps we're overestimating the amount of work necessary, here?  There
are only about 9 calls to find_all_dots() in the code and it's mostly
trivial to do space-delimited parsing in CircleMUD given the existence of
one_argument() and friends.

> "How come 'wear 2.pants' doesn't work anymore?"

A very valid point.  One must strike a careful balance between meeting new
users expectations and violating the expectations of older users.  The
problem centers on the fact that naive users, when finding 'wield second
sword' doesn't work, assume that they just don't know how the game
interface works, yet, and seek to figure it out.  Veteran users, on the
other hand, "know" that 'wield 2.sword' should work, and assume the game
is broken or that you're dumb for changing something that requires them to
"waste time" relearning the system.


   | FAQ: |
   | Archives: |
   | Newbie List:   |

This archive was generated by hypermail 2b30 : 06/25/03 PDT