Alice and Wonderland Status

Jeff Pierce jpierce at cs.cmu.edu
Sat Dec 11 03:41:11 UTC 1999


As Andreas pointed out, implementing physics isn't necessarily
straightforward.  As an extreme simplification, you can think about two
sides to the spectrum:


Fast,                                       Slow,
Simple,    <----------------------------->  Complex,
Wrong                                       "Correct"

To use collision detection as an example, on the left side you have simple
bounding box collision detection.  It's fast, it's easy, but unless
everything in the scene is a cube it's a gross approximation.  On the right
side you have collision detection that uses the actual mesh.  And then in
between you have things like OctTrees.  The more computational and
intellectual effort you're willing to spend, the more realistic your
collision detection will be.

Gravity follows the same spectrum.  It's pretty easy to make every object
fall until the Z coordinate is 0.  However, if you want objects to fall
until they collide then you suddenly need good collision detection.  And
God help you if you want your objects to bounce realistically.

So "basic" physics is easy.  WonderlandActors know how to return their
bounding box, and a method to determine if 2 bounding boxes overlap is
fairly straightforward.  And you can add an action to move objects toward
the ground each frame.  But "realistic" physics is still problematic for
real time 3D graphics.

It'd be a great project if someone wants to tackle it, though.  If you
could plug in a C module (like UNC's VCollide) you could leverage someone
else's work. Maybe we could talk one of Mark Guzdial's students into doing
it.  Or y'all can wait until after I get my PhD.  =)

Jeff

At 01:53 AM 12/11/99, Luciano Notarfrancesco wrote:
>Jeff, I don't know if this is good idea for extending Squeak Alice. Neither 
>I know if this concerns to you... but this is what I'd like to see: 3D 
>worlds with some basic but realistic physics, such as collision detection, 
>gravity,  elastic materials, etc. I think it should not be hard to implement 
>collision detection and gravity.
>
>Peace,
>Luciano.-





More information about the Squeak-dev mailing list