From: broehl@sunee.waterloo.edu (Bernie Roehl)
Subject: Re: TECH: My standard is better than your standard II
Date: Thu, 2 Jul 1992 03:16:38 GMT
Message-ID: <Bqqrrq.Fr3@watserv1.waterloo.edu>
Organization: University of Waterloo


In article <1992Jun30.074058.12120@u.washington.edu> Jeremy Lee <s047@sand.sics.bu.oz.au> writes:
>This makes each object a complete encapsulated entity. Each object can
>exist by itself, and change itself. Each object can also pass messages
>to other objects, or directly modify those objects. Of course, it must
>have come in "contact" with those other objects at some time. The way to
>imagine each object is to think of it as a seperate computer, connected
>to a network. It passes messages, and tells other things where it is,
>and can be sent code from other machines, but is basically an
>independant unit and does what it wants.

Yes!  (cf. my document "SHAREWORLD" in pub/netgame on sunee.uwaterloo.ca).

>There is presently no concept of a "God" object which omnisciently knows
>everything about the scene, and which objects can enquire of for
>information. I do not think this is necessary. The "Environment" has as
>little power as I can make, and as much is relegated to the individual
>objects as possible.

Agreed.

> All "The Environment" does in the model so far is
>detect patch collisions and send messages to the objects. Even this can
>be scrapped, if we want to let each object take care of it's bounding
>solids.

Which they should!

>Each object computes it's own bounding solid...

Yes, yes, absolutely.  (I promise I'll contribute something more useful
than mere agreement, later in this article).

>After a little thinking, I've decided that it should have both a textual
>name, for human consumption, which can be non-unique, and some
>incredible 256bit number which is garunteed to be unique.

I believe every object should have an open-ended list of attributes which
describe it; these attributes can be obtained from the object by sending
it messages.  A textual name would be one such attribute.  However, every
object must (as you already pointed out) have a unique identifier of some
sort.  256 bits seems a bit steep -- the overhead of all that address
information seem silly to me.  I would propose that objects be assigned
a short-form address that's guaranteed to be unique within a given region
of virtual space.  (Yes, this implies a "God" -- but God's only job would
be to allocate such numbers as objects enter its realm, and possibly keep
a list of what objects are present).  (okay, God might also cache).

> Perhaps a varaible length number to allow for future expansion.

Yes, but with a minimum length *much* less than 256 bits!

>The problem is
>that I think every object in the world (as in, the ENTIRE world)

... in ALL possible worlds ...

> should be garunteed to have a unique number, so that when messages get sent,
> in an internet-like network, it will eventually find it's way to the
> target object. Like site numbers in a way.

I agree 100% -- see "SHAREWORLD".

>PLEASE PLEASE DO NOT USE C OR ANY VARIANT.

At last, something on which I disagree with you.  You code your objects
in whatever language you like, and I'll do the same, and we'll both be
happy campers.

>This is still just message passing between the objects, but it's hard to
>imagine the existance of such a scheme without a "God". I'll have to
>re-think that.

Perhaps a little, but I suspect that having a minor deity wouldn't create
too many problems; more of a bookkeeper than anything else.

>I'm not so sure about that now. I think that you will just have to
>accept that as an inevitable part of virtual life. If a node goes down,
>then tough. You will just have to wait until it comes back up.

Agreed again -- I have no problem with fading objects.  In fact, objects
that don't respond to messages should literally start to "fade away" until
they're gone entirely.  People with flaky network links would always look
a bit pale.

>God will of course answer questions that the objects ask of it, such as
>"What other objects are in this scene." "Where did XXXX go?".

And that's about *all* it should do!

> It would
>also be the part that tells the renderer which objects to render, and
>where they were.

I *strongly* disagree here.  My interface decides what to render, and finds
out where objects are by asking them.

>I disagree with the view that we have to get VR out into the marketplace
>NOW. I think that VR will benefit from staying inside academia for
>another few years.

I'm afraid that's just not an option.  It's *on the verge* of happening --
we haven't got ten years to mull it over.

What you're saying sounds sort of like "I'm sorry, I don't have time to fall
in love right now -- it'll have to wait".  When it happens, it happens.
And VR is about to happen, whether we're ready for it or not.

-- 
	Bernie Roehl, University of Waterloo Electrical Engineering Dept
	Mail: broehl@sunee.waterloo.edu OR broehl@sunee.UWaterloo.ca
	BangPath: uunet!watmath!sunee!broehl
	Voice:  (519) 885-1211 x 2607 [work]
