Suggested change to the "contact" command

Started by Jacques, September 17, 2004, 03:32:12 PM

OK... we've all had it happen. The person we need to contact, on the other side of the bar, has the sdesc "the dark-haired, blue-eyed man" and has just found your mind asking you an important question about the Secret Plot(Tm). So...

contact dark
You contact the dark-eyed, fme PC
break

contact 2.dark
You contact the dark-skinned, grumpy mul
break

(20 RL minutes later)
contact 92.dark
You contact the dark-haired, blue-eyed man.


As I understand it, contact is supposed to work based on a mental image, right? And it already does some kind of search for a keyword when you type "contact dark". I was wondering if this could be expanded to include MULTIPLE keywords. So in a room full of dark-haired people, you could "contact dark blue" to contact the dark-haired, blue-eyed man. Since you're supposed to have a mental image in your mind, this doesn't seem to be TOO far-fetched, and would save a lot of instances of contacting the wrong person.  No idea how difficult this would be to code, but it seems like a neat idea to me.

Comments? Suggestions?

Sounds interesting...

But...  I think that, at most, there will be 5 people online at one time that share the same keyword.

That's just a minor point, though.
New Players Guide: http://gdb.armageddon.org/index.php/topic,33512.0.html


Quote from: Morgenes on April 01, 2011, 10:33:11 PM
You win Armageddon, congratulations!  Type 'credits', then store your character and make a new one

mansa,

Perhaps five PCs at once with a common keyword, but you can get jacked by all the NPCs as well.  Try contact "lithe" sometime, or "dark", and if that is all you have to work with, you can be burning through the stun points for quite a while.
Sitting in your comfort,
You don't believe I'm real,
But you cannot buy protection
from the way that I feel.

If we go that far, we might as well have it as: contact <insert sdesc of desired target> which would make it far simpler than contact <insert two or more keywords> as even then, it's possible you get the wrong person.

My opinion would hold that it'd be nice to have this BUT it would also hinder the world in that as you say, contact is seeking a mental image of a person. If a person has blue skin and that's the sort of person you're trying to get a hold of, you might get somebody else with blue predominantly over their body, a mistaken identity of sorts. As it is, if you use a name for a contact rather than a description, you are far more likely to reach the person. In the end, it's a matter of familiarity with the person - use a name if you know the person well enough (i.e. actually have their name, etc.) and you'll have a good chance of getting them otherwise, you might get somebody whom you mistaken to be the person you want due to some physical similarity as with the blue example.
ree as a bird and joyfully my heart
Soared up among the rigging, in and out;
Under a cloudless sky the ship rolled on
Like an angel drunk with brilliant sun.
                                       - Charles Baudelaire

This actually gets down to an issue with the parser.  Armageddon's parser is fairly simple, and requires only very simple syntax.  You'll notice that most commands follow this pattern:

command {keyword}
command {keyword to object 1} {keyword to object 2} ... {keyword to object n}

This means that the MUD need use no other way to separate which keyword goes with what - every keyword points to a different part of the command.  Some commands, rather than taking keywords, take "blobs" - groups of words that are somehow offset, and may end with a string of indeterminate size.  Examples of this are the say command:

say ({string1}) {string2}
tell {keyword} ({string1}) string2

Notice that string1 is offset by ( ) in order to tell the parser how to separate the two strings (and the keyword, in the case of tell).

Where does that leave us?  Well, that depends on the parser, which I haven't seen the code to, so I can't say specifically.  However, if the parser works very generically, then in order for one command to be able to refer to multiple keywords, ALL commands would have to be able to handle multiple keywords.  This would require introducing "separator" words into commands such as "give".

Currently, the "give" command has the following syntax:
give {person keyword} {object keyword}

If you include the possibility of multiple keywords, suddenly you have no way to distinguish whether {object keyword} is a second keyword on the person, or refers to an object.  You then have to change your parser to look like:

give {object keyword 1} {object keyword 2} ... {object keyword n} to {person keyword 1} {person keyword 2} ... {person keyword n}

While this is a great feature, allowing the user a way to make more frequent unique identifications, that kind of parser is also a heavier hit to your processing power.
quote="Larrath"]"On the 5th day of the Ascending Sun, in the Month of Whira's Very Annoying And Nearly Unreachable Itch, Lord Templar Mha Dceks set the Barrel on fire. The fire was hot".[/quote]

You shouldn't have a problem contacting most NPCs.  It should work much like dropping an item in a room.  The most recent thing loaded into the game world is the first thing contacted.  As most NPCs spawn when the game loads up, they are after all the PCs.  Exception to this is stuff that respawns, has been manually spawned, etc.
Evolution ends when stupidity is no longer fatal."

How about having it so when someone contacts you and sends a message you can just type 'contact' on its own to try and contact the person in your mind?

Hmm, although, guess this would cause trouble when you have more than one person in your head.
B

Quote from: "Seeker"mansa,

Perhaps five PCs at once with a common keyword, but you can get jacked by all the NPCs as well.  Try contact "lithe" sometime, or "dark", and if that is all you have to work with, you can be burning through the stun points for quite a while.

It's pretty well known that it just checks the online PCs first, and -then- the NPCs.
New Players Guide: http://gdb.armageddon.org/index.php/topic,33512.0.html


Quote from: Morgenes on April 01, 2011, 10:33:11 PM
You win Armageddon, congratulations!  Type 'credits', then store your character and make a new one