TWiki Home Tharsis . Design . VagueDescriptions Tharsis webs:
Design | Guilds | Combat | Website
Design . { Home | Changes | Index | Search | Go }
See also: DesignDiscussionLogs

See also: ConcealedObjects for a description of what will be implemented to support this discussion.

See also: ObjectKnowledge?

We should have a system for displaying different shorts dependant on the viewers knowledge of the item. We have this for reagents in AlchemySystem. It fails at some times, since the description is based on who is generating messages, not the target of the message.

Using actions-code, you can generate proper shorts for each party partaking in that action, but there is also a generic message going to the room. If each item has only two descriptions, one exact and one vague, we can default to the vague description for the room.

We can also allow an object to have more than two levels of description ("a sharp pole of metal/a sword/the blade of slaying"), then neither the lowest level, nor a middle level will be acceptable to all bystanders. We need to generate one message for each bystander.

Regenerating each action for each bystander is not a good idea, thus we need to use some other more flexible way for it, possibly generating messages as a piece of code with object-lists and normal text intertwined.

Another problem is what we use to decide whether someone recognizes an object or not and how well we recognize it (if there are more than two levels).

-- PumaN - 09 Mar 2003

When I started on the plants objects there was similar functionality built into it.

I discussed (tryed to con him into writing it really) this topic with Taichi a while back when he was working on the population_d.

I think we should also couple this with a few methods of indentification as well, possibly scrolls, an identification shop, and possibly a NPC or 2.

Due to the distribution of custom messages maybe this should be an extension/addition to m_messages.

-- ElffyB - 18 Apr 2003

Two systems for this, one that knows what and how much we are capable of recognizing something, and one that creates messages using this info.

I'm not sure what is a good way of storing the info, possible something that looks much like the skill-tree, if items are also sorted into a knowledge-tree.

The messaging system is kind of complex if it isnt going to use up too much cpu.

Each message to m_messages should be created with a certain kind of markers and a list of objects answering to those markers.

This marker-message is then sent to each reciever and they get to replace the markers depending on their knowledge of the object. This will be preety much the same as the process done in m_messages, except it's done in each message recipient.

-- PumaN - 18 Apr 2003

I think there are a couple more complexities. I see objects that are temporarily hidden as falling into this category as well. Presume I attempt to hide in a bush in the corner of the room. Based on the success of my attempt (a usage of my stealth.hiding skill) and the success of the people in the room in watching (a usage of their skills) it may be possible for Elffy to be completely unaware of my presence, Puma to be aware of someone hiding but not knowing who it is and Ranma to be aware it is me.

At this time Elffy, who is smart enough to watch his screen and realise that I just "vanished" does a search and detects "Someone hiding in the bushes". From this time on he's aware of me in the same fashion as Puma.

Note that in all this the ability to spot me is determined when I hide but effects things for some period of time (until I unhide or perform some action that may make me become visible - such as attempting to sneak east). Thus the look command needs to take this into account. I don't think there should be a new check against Elffy's every time he does a look.

So to comment on Puma's comments up the top there
- I think there are more than 2 levels, but I'd be happy with saying there are not more than 3 - "no aware", "partially aware", "completely aware".
- possibly generating messages as a piece of code with object-lists and normal text intertwined - I'm not sure how the current system is any different to this - except we don't evaluate it per person. We also don't have an ability to completely turn the message off based on the visibility of key objects in the message (and possibly the message source).

I had some thoughts on how we implement and maintain the storage of the visibility of one object to another object and, to a lesser extent, on how we implement the usage of that information. It's taken me quite some time to come up with something that would work and be vaguely efficient.

Unfortunately this was all about 3 months back and since then I've been continually reminding myself to write it down somewhere. I shall add it to the page here as soon as possible.

-- FantoM - 02 May 2003

Ok - I have semi-forgotten the original version, but it was complicated anyway and in thinking about it I came up with this idea.

Presume that when I perform an action which hides me from the view of others that I am given a base "concealment rating" (CR). This value would be based on how effectively I performed the command to hide myself. It would not take into account my light level or the light level of my surroundings.

Presume that at any time it is needed that my base CR is altered based on the light level of myself and my surroundings and anything else that might want to alter it (IE my carrying a parrot in a cage probably decreases my CR).

Presume then that there is a direct correlation between bonus levels of and how well they can see any given level of CR. IE someone with a perception bonus of 100 can not see anyone with a CR over 50, can partially see anyone with a CR > 25 and can see clearly anyone with a CR <= 25.

This means that it the storage required to perform any "can you see me" calculations is just a simple base CR (and possibly cached cr+light+etc). It also means that the calculation to determine whether or not something is seeable is very quick.

Now to extend this to other situations.

Obviously the above covers any situation where something is attempting to conceal itself from other things, and thus covers me concealing items in my clothing so it doesn't look like I am carrying them, NPCs hidding in ambush, etc.

Some definitions:

We need to stretch this to items which are concealled to different levels for different people - Eg the herbs which are visible to people who have studied the herb and obscured to others who have not.

not too hard I think - more to come

-- FantoM - 10 May 2003

It only says how well something is concealed, not who are able to see it at the moment. IE, Fantom and Elffy are together in a room, Fantom hides nehind the couch, even though you hide very well behind the couch, Elffy knows you are there cause he saw you go there. Now Puma comes in the room, and doesn't know Fantom is behind the couch even though Puma has better perception than Elffy, Elffy tells Puma to look behind the couch, and finds Fantom even though that was a really good hiding place that Puma would not otherwise have been able to spot...

Need a list of objects we have become aware of even though they are better than we could otherwise note...?

-- PumaN - 12 May 2003

If I hide very well behind the couch I do it so well that Elffy doesn't see me do it - and when he turns to look at me again I'm hidden and he has no idea where I am. Alternatively I hide exceptionally well so he doesn't see me vanish but the next time he does a look he's so perceptive that he spots me or is at least aware of someone hidding behind the couch. Note that there are 2 things involved here - the first is how well you perform the act of hiding, which will determine if those in the room at the time see you do it and the second is how well you finish up hidden, which will determine if anyone who does a "look" sees you. We would most likely, for simplicity, probably make the two values the same at first.

When Puma comes in we have 2 choices:

The idea of Elffy telling Puma can be taken 2 ways:

-- FantoM - 12 May 2003

Topic VagueDescriptions . { Edit | Attach | Ref-By | Printable | Diffs | r1.10 | > | r1.9 | > | r1.8 | More }
Revision r1.10 - 04 Jul 2004 - 17:53 GMT - PumaN
Parents: WebHome > ObjectLibrary
Copyright © 2001 by the contributing authors. All material on this collaboration tool is the property of the contributing authors.
Ideas, requests, problems regarding Tharsis? Send feedback.