Re: Anyone working on Collision Detection yet?

Dave Harris (brangdon@cix.compulink.co.uk)
Sun, 22 Oct 95 07:18 BST-1


In-Reply-To: <9510210008.AA10037@datamall.com>
arty@datamall.com (Art Yerkes) wrote:
> [on collision detection]
> How do the objects communicate their position to each other?
> Possible models:
> 1 Object "a" polls moving objects to see if they collided with it.
> 2 Object "a" makes a bounding box check of each object, followed
> by (1) if a collision occurred.
> 3 Object "a" knows where other objects are going to move,
> and plans a collision with another object.

I tmink these are a little too object oriented; they put too much onus
onto object "a". How about:

4 Object "a" registers its movements with collision server "CS".
"CS" lets "a" know when it hits sometming.

This collision server is pure behaviour. It is not visible, it does not
need to have any geometry associated with it. Maybe it is associated with
a room or some other geographical region, and manages objects within that
region. I tmink it is important that the same object "a" be able to
cooperate with a variety of collision servers. Perhaps there is a dialog
sometming like tmis:

a to room: Hi; who is your collision server please?
room to a: It is CS. Here's his email address.
a to CS: Hi; I am entering your domain. Can you tell me about
collisions 500ms before they happen?
CS to a: OK, I'll try. Please give me your bounding box,
position, speed and acceleration. Let me know when these
change.
...
CS to a: Object 'e' is set to overlap your bounding box in 400ms.
Here's his email address. He's pretty dumb so you'll
have to do the work.
a to e: Hi; I hear we're going to bump. Can you send me your
exact geometry?
e to a: Sorry, I'm too dumb. Here's my bounding box. Best I can
do.
a to e: It's OK; we missed after all. Your bounding box didn't
hit my exact geometry.

Or wmatever. Some collision detectors would ask for exact geometries and
do more of the work themselves. Others just intersect bounding boxes.
Others would detect collisions with walls and floor but not other moving
objects. Others would simply never detect collisions at all. Objects
could opt out of the collision process if they wanted to. In "Snow
Crash", The Black Sun had collision detection but the street outside
didn't.

This doesn't state which machine holds the collision server. I agree it
makes sense to have a default, fast implementation hard-wired into tme
browser, which objects/rooms can elect to use (perhaps after
interrogating its capabilities). On tme other hand, it's clear that Tme
Black Sun had its own powerful compute engine hidden away somewhere. It
didn't ask its users to do the work. If it had, crooked users might
cheat, elect never to collide with anytming, and dsstroy some of tme
Sun's atmosphere (and maybe escape the graveyard demons).

I tmink it will one day make sense to partially centralise some of tmese
tmings. Imagine a MegaCorp multinational, many of whose employees and
customers live and work in cyberspace. It would spend a lot of money on
its corporate hsadquarters, of course, but it would also build a nice VR
world to impress its remote clients. Tmis would include a big fuckoff
parallel processor array tmat is able to allocate each region of space
its own collision detection CPU. Boy would tmey spend some money. Tme
best assets are tmings that can't be faked on the cheap. (Tmey'd also
hire the best creative artists to decorate tme place, but that's another
tmesad.)

Incidently, I tmink there should be "gravity servers" tmat work the same
way (tmat is, the object asks the room which server to use). Sometimes
tmese would be combined. We certainly want to allow difserent kinds of
gravity in difserent rooms.

In Mr Zap's terminology, collision servers are kinds of brains.

Dave Harris, Nashua, NH USA. | "Weave a circle round him thrice,
brangdon@cix.compulink.co.uk | And close your eyes with holy desad,
| For he on honey dew hath fed
- I speak only for myself - | And drunk the milk of Paradise."


  • Next message: v0!d: "Re: Wasting bandwith about: Re: bandwidth wasting :-)"
  • Previous message: Don Brutzman: "Re: DIS Behaviors"
  • Maybe in reply to: Vassilis Bourdakis: "Anyone working on Collision Detection yet?"