[MUD-Dev] Re: Introductions and descriptions

Jon A. Lambert jlsysinc at ix.netcom.com
Fri Nov 28 13:58:43 CET 1997


On 28 Nov 97 at 9:55, Derrick Jones wrote:
> On Wed, 26 Nov 1997, Adam Wiggins wrote:
> > 
> > Better yet, use seeded randoms.  Thus it's still a roll, it's just always
> > the same for a given object.
> > For instance, in this case, use the object id of the toadstool plus
> > the object id of the character as your seed.  You roll, from 0 to 100,
> > a 74 (maybe adding in some 'bonus' for the type of toadstool).  As long
> > as that particular character's 'shrooms skill is below 74, they won't
> > recognize the mushroom.  Once they reach 74, they always recognize
> > it.  Now, a different character might recognize it at 68, and another
> > at 77 - giving you a bit of randomness without making looking at the
> > room twenty times useful.
> > This can be used quite effectively for sneaking, hiding, any sort of
> > lore skill, picking locks, whatever that you want to be a little random
> > without being spammable (ie, typing sneak over and over until your
> > buddy tells you you're sneaking).
> 
> So, when the character first encounters the mushroom, the character checks
> to see if he can identify it.  (if skill > rand(0,100) + difficulty). The
> game then remembers the result of rand() and stores it with the character
> for each type of mushroom.  What is gained from this as apposed keeping
> track of object recognition?  Certainly not memory, as you have to
> remember the roll, which is larger than a single bit (recognized/not
> recognized) for each object.  
> Or if you simply determine the rand() call from PC and object stats
> (idnums) then you've picked which objects the player can and cannot
> identify from the point of creation.  Then the characters true probability
> of success for a given event is predetermined to be either 1 or 0.  Then
> you'll have PC's saying  "Sorry guys, I can't sneak in this room...meet me
> two rooms west...I always sneak there.".

I think he was suggesting something more along these lines:

    srand(object_id);
    if (skill > ((rand() % 100 + 1) + difficulty))
        eureka();

For a given object the results are repeatedable for a given skill and 
difficulty level.  No storage of the result is needed.  The seed could be
varied to make it more unique with: 

    srand(object_id + hash(character_name));

Or something similiar.  It is now repeatable for a given character.  :)

Now your sneak example is a good one.  It is a bit different from
recognition of the mushroom.  Well maybe not too different.  "Fungus Lore" 
would be a highly repeatable skill, whilst "Sneakin'" would not.  The key I 
think is to vary the difficulty appropriate with the skill being exercised.
Since "Fungus Lore" is largely dependent on Visual Perception and Memory, 
the difficulty is determined from conditions affecting these states.  For
instance, Dave the Druid's otherwise repeatable recognition of a previously
known 'shroom might be impaired by his imbibing of large amounts of beer
before-hand and walking about the woods at midnight.  Now sneak depends on
quite a few more variables.  Not only the weather, lighting, and cover
conditions of the area being sneaked through.  But also the equipment and 
physical condition of the "sneaker".  In addition the Visual Perception of 
the potential observers, "sneakees" come into play.  Perhaps an amusing
side-effect would be that if one assumes a constant difficulty within the
lair of Smaug the Foul-Smelling, Clarence the Klutz might always be 
successful in sneakin' while Lawrence the Lithe would be doomed to failure. 
Of course that assumes a constant difficulty which would be quite rare 
especially with this particular skill.

--
Jon A. Lambert

If I'd known it was harmless, I would have killed it myself.



More information about the mud-dev-archive mailing list