[MUD-Dev] Re: MUD Design doc (long)

Caliban Tiresias Darklock caliban at darklock.com
Thu Dec 17 15:23:42 CET 1998


-----Original Message-----
From: Mik Clarke <mikclrk at ibm.net>
To: mud-dev at kanga.nu <mud-dev at kanga.nu>
Date: Thursday, December 17, 1998 12:33 PM
Subject: [MUD-Dev] Re: MUD Design doc (long)


>      if (!object->can_you_be(CMD_SNIFFED))
>        send_to_char "It smells of nothing in particular."

The usual smartass message I've seen is:

  > smell foo
  Smells like foo.

While this is cute the first few times you see it, especially when it
recognises the command and not the objects in the room ("smell teen spirit",
huhuhuhu that was cool), it gets boring rapidly. Same thing with default
messages in general.

Senses present the most challenging array of problems; whenever I want to
smell something, I should be able to even if the game doesn't know what to
do about it. I can smell a door if I really want to, even if "open" and
"close" are all the door itself understands. If I am in a room with a
description that includes flowers, and I try to smell them, it is important
to my suspension of disbelief (SoD) that I be able to do so. If there is no
flower object, I should still get a response back like "You smell the
flowers." or something. If there is nothing there that matches, however, I
should (from a SoD perspective) get a "Smell what?" message or the like.
This is not really feasible; "The room is filled with flowers of every
conceivable type" should theoretically allow me to smell "flower",
"flowers", "tulip", "rose", "daisy" -- but obviously only the first two are
even remotely achievable, and that at some performance expense.

Instead of asking "how do we do X", it's productive in most cases to ask why
X is important in the first place. What does X give you? Why is it
important? If your rationale is "I have a flower and the player should be
able to smell it", you probably want to rethink whether this is important to
the game. It is certainly intuitive to think you can "smell" a flower, so it
might be a good idea to handle for the flower... but in the world as a
whole? Do we legitimately need a "smell" handler for all objects?

Intuitive action is not always correct. It may also be intuitive, if the
flower is in a room with a bonfire, to throw the flower into the bonfire.
Does it need a "burn" handler? A "throw" handler? What if the flower is not
in a room with a bonfire, but can conceivably be put into one? Should the
"burn" handler be on the flower, or the bonfire? Is it a good idea to use
inheritance for this, and give the generic MUDObject type all these
handlers? Wouldn't you get stupid things like trees and doors with "throw"
handlers? Who the hell throws a tree? (Caber throwing notwithstanding.)

(Erasing four further pages of wandering commentary) Dammit, I need to give
up e-mail and just write books. Um, that was basically what I started out to
say. I could (and did) go on for a LONG time about it, but I won't post that
to the list just now. I can certainly expound further at a later date. ;)

| Caliban Tiresias Darklock            caliban at darklock.com
| Darklock Communications          http://www.darklock.com/
| U L T I M A T E   U N I V E R S E   I S   N O T   D E A D
| 774577496C6C6E457645727355626D4974H       -=CABAL::3146=-






More information about the mud-dev-archive mailing list