From: baruch@nynexst.com (Robert Baruch)
Subject: Re: Generic Object Description
Organization: Nynex Science & Technology
Date: Mon, 13 Apr 92 14:12:26 GMT

wt0b+@andrew.cmu.edu (William Henry Timmins) writes:
: >  Yes, simulations can get very detailed, but the amount of
: >information for each object grows as your world becomes more precise.
: >I'd hate to have to enter the chemical composition of a cave troll
: >just to have something interesting in the cave...
: 
: How about having types of objects, so that you only vary the
: particulars? Like- 'terrestrial animal life form' for people and similar
: beings, 'trollish animal life form' for a variety of beings based on,
: say, a troll type composition. And so forth. ('masonry' could handle a
: lot, and so forth)
: 
: -Meow

Well, you're getting a little too specific for types.  Maybe just
"life form", and then some parameters which modify the life form
(such as physical characteristics, etc which all add up to 'troll').

I was hoping that instead of types (which we would all have to sit
down and make a great big list of), we could have a list of parameters
the values of which would add up to types.  The 'life form' type is a
bit hard to break down into parameters because it's such a huge class
of objects, so we would just have a few, great big classes.  Then we
could define lists of parameters which apply to those classes.  For
example, the class 'life form' has the parameters strength, speed,
disposition, and so on.  The class 'takeable objects' would have
parameters sharpness, hardness, color, temperature, length, texture,
material, etc.  We could even put a parameter "force multiplier" which
will indicate whether a really sharp object is either a glove with
spikes on it (force multiplier 1) or a sword (force multiplier 5 or so).
Two-handed swords could have force multipliers of 10 or more.

So the values in the list of parameters would not necessarily immediately
tell you that the object in question is a "weapon" or a "key", but its
name sure will.  So when a person comes across the object "two-handed sword",
he'll immediately know it's a weapon.  How that weapon acts is up to the
parameters.

Caveat:  An object designer has to think about each object carefully.  For example,
there is no such thing as a class of "projectile weapons".  So an object designer
will have to characterisea "gun" as a thing which causes an object "bullet" to
be thrown at great velocity.  The gun object would have to have a built-in
action throw_object, which would be able to manipulate the bullet object (if
you have any!).

But the system should be designed so that aside from describing what the object is,
and what it's primary purpose is (the gun fires bullets), nothing else should
have to be said about it -- default action functions should take care of that.  So
if I decide to bop someone over the head with my gun, GOD should know
immediately that the guy keels over, eyes crossed, even though the object
designer did not specify what happens

Problem:  Suppose I design a sword object, and then want to hit someone over the
head with the flat of my sword.  This should not kill that person.  But if I
do not specify what happens, I would just kill the person because the sword is
sharp and force-multiplicative.  How can we design a system where I can say
"Hit man on head with flat of sword" and have the right things happen?  Does
the object designer need to pull this out as a special case and write a
function for it?  Probably, since the "flat" of a sword is different from the
"flat" of a gun, especially since guns have no flat!

--Rob

Newsgroups: rec.games.design