home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!zephyr.ens.tek.com!uw-beaver!news.u.washington.edu!milton.u.washington.edu!hlab
- From: keithley@apple.com (Craig Keithley)
- Newsgroups: sci.virtual-worlds
- Subject: Re: TECH: world description
- Message-ID: <1992Jul29.073343.28356@u.washington.edu>
- Date: 28 Jul 92 19:34:08 GMT
- References: <1992Jul16.001255.10153@u.washington.edu> <1992Jul17.185842.
- Sender: news@u.washington.edu (USENET News System)
- Organization: Apple Computer, Inc.
- Lines: 79
- Approved: cyberoid@milton.u.washington.edu
- Originator: hlab@milton.u.washington.edu
-
-
-
- In article <1992Jul17.185842.2330@u.washington.edu>, lonachon@anu.edu.au
- (andrew longhorn ) wrote:
-
- > There would probably be a few levels of control procedures, maybe
- > gravity and solidity reactions can be overridden also.
- > ...
- > But you think this is
- > silly and link your controls (output of the spirit) to the inherited
- > rotation, movement controls of the subtrees of the table (i.e. the
- > legs), then stand up and walk (or fly) off somewhere, to the amazement
- > of onlookers.
- >
-
- This highlights the question of "What defines the laws of your local
- _reality_?" In the _reality_ I define (on my VR server?), I may wish
- to prohibit the overriding of the laws of physics. This would
- disallow the use of "Magic", for example, preventing someone from
- making a table walk or fly.
-
- So how do we define the "rule systems" of each locality? Such "rules"
- could encompass things such as time constants, gravity, friction, etc.
- I've not fully worked out how rules are defined, but as for handling
- rules, I do have a few thoughts. I think that:
-
- No limit to the number of rules.
-
- Rules might be overriden individually or en masse.
-
- Ability to reject a request to override a rule.
- (and so forth...)
-
- Unfortunately this opens up much more difficult issues. Because it
- may be simpler to model objects on a behavioural level rather than on
- the physical level. If modeled on the behavioural level, then the
- object's 'behaviour' might be defined rather simply. Using the table
- as an example, the object's extremities might not have any "controls"
- (subroutines) that allow movement of the legs. Making the table walk
- would require control extensions to the object. Work arounds would
- need to be used to handle object destruction (or damage). Modeling at
- the physical level would require a greater simulation of object
- components (ie: Legs, table top, etc.). If you want a general
- solution to the requirement of prohibiting the overriding of rules,
- then you probably need to simulate the interaction between components
- in the object. For example, without overriding the 'no magic'
- rule(s), the attempt to move a leg would result in a broken table leg
- (caused by trying to move a joint that's solidly glued in place). If
- you could override rules, then the table leg could flex and the table
- would walk. This is an example, so please don't thrash on the
- specifics of how a table leg could move by dissolving the glue, adding
- a hinge, changing the table's substance, changing the table's design,
- etc. Assume that the object's construction is immutable.
-
- So I'm still wrestling with the issue/choice of defining object
- behaviour by scripting or by a complex rule system + object component
- interaction. I can best explain the quandry by asking: Would you
- rather define a clock by writing a 'behaviour' script that describes
- the motion of the hands of the clock, or by defining the
- innards/components of the clock. Writing a script may require
- foreknowledge of all the possible rule changes (time constants,
- friction, gravity). Having complete foreknowledge might be
- impossible. On the other hand, using a rule system & object component
- interaction may make objects difficult to 'design' and the simulation
- crawl (imagine a clock store!).
-
- I suppose the best solution might be to allow for both methods of
- defining objects and their behaviours. Or even a combination of the
- two methods. I further suppose I'd just prohibit the overriding of an
- object's behaviour scripts. Well, maybe sometimes. Always? Hmmm...
- Wish that table would stop flying about...
-
- Thoughts anyone?
-
-
- Craig Keithley
- Apple Computer, Inc.
- keithley@apple.com
- Anything not forbidden is mandatory.
-