Croquet scene with physics engine and swarm behaviour

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
23 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Croquet scene with physics engine and swarm behaviour

info-1563
Hallo,

I create 2 scene with Croquet and I make a video of it.
Vou can see the video at youTube http://www.youtube.com/watch?v=D51Vx9giJVg


The video shows 2 scenes created with Croquet Smalltalk:
- A scene with falling domino stones using a physics engine for calculating the
movement.
The physics engine is Open Dynamics Engine www.ode.org with the Squeak Driver
Open Dynamics Engine Construction Kit ODECo languagegame.org:8080/ggame/15.
- A scene with a swarm in an aquarium with swarm behaviour. Swarm algorithm is
described by Craig W. Reynolds www.red3d.com/cwr/steer/gdc99/. Two members of a
swarm can pair, spawn to crate new members.

The source code is still in progress but I look for a place to publish it.

By for now

Willi Griephan
Reply | Threaded
Open this post in threaded view
|

RE: Croquet scene with physics engine and swarm behaviour

shiva prasath

Hai Everyone,
                    First I would like to express my appreciations to this enlightening group. We are quite new here, just catching momentum the past month or so and great to be in this idea sharing space stretching the boundaries of human imagination and revel in innovation!

                      Willi, Can you please tell us how you integrate ODE to work with Croquet?  We have been working on getting ODE to work with it without much head way. I would appreciate everyone's help on this. Thanks!

Regards,
Shiva



> To: [hidden email]

> From: [hidden email]
> Date: Sun, 6 Jul 2008 11:09:30 -0400
> Subject: [croquet-dev] Croquet scene with physics engine and swarm behaviour
>
> Hallo,
>
> I create 2 scene with Croquet and I make a video of it.
> Vou can see the video at youTube http://www.youtube.com/watch?v=D51Vx9giJVg
>
>
> The video shows 2 scenes created with Croquet Smalltalk:
> - A scene with falling domino stones using a physics engine for calculating the
> movement.
> The physics engine is Open Dynamics Engine www.ode.org with the Squeak Driver
> Open Dynamics Engine Construction Kit ODECo languagegame.org:8080/ggame/15.
> - A scene with a swarm in an aquarium with swarm behaviour. Swarm algorithm is
> described by Craig W. Reynolds www.red3d.com/cwr/steer/gdc99/. Two members of a
> swarm can pair, spawn to crate new members.
>
> The source code is still in progress but I look for a place to publish it.
>
> By for now
>
> Willi Griephan


Search for videos of Bollywood, Hollywood, Mollywood and every other wood, only on Live.com Try it now!
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

David Faught
The work on integrating ODE into Croquet has mostly been stopped
because ODE gives different results on different machines, which goes
against the basic "replicated computation" idea of collaboration in
Croquet.

It's still kind of fun to play with ODE even though collaboration is
broken.  The work that Willi has done is probably the most recent and
the sources referred to in his note below are a good place to start.

Willi, you could contribute your work to the community by putting it
in the Monticello CroquetSource PublicContributions project repository
at http://source.opencroquet.org/

Dave

On 8/18/08, shiva prasath <[hidden email]> wrote:

>
>
> Hai Everyone,
>                     First I would like to express my appreciations to this
> enlightening group. We are quite new here, just catching momentum the past
> month or so and great to be in this idea sharing space stretching the
> boundaries of human imagination and revel in innovation!
>
>                       Willi, Can you please tell us how you integrate ODE to
> work with Croquet?  We have been working on getting ODE to work with it
> without much head way. I would appreciate everyone's help on this. Thanks!
>
> Regards,
> Shiva
>
>
> ________________________________
> > To: [hidden email]
> > From: [hidden email]
> > Date: Sun, 6 Jul 2008 11:09:30 -0400
> > Subject: [croquet-dev] Croquet scene with physics engine and swarm
> behaviour
> >
> > Hallo,
> >
> > I create 2 scene with Croquet and I make a video of it.
> > Vou can see the video at youTube
> http://www.youtube.com/watch?v=D51Vx9giJVg
> >
> >
> > The video shows 2 scenes created with Croquet Smalltalk:
> > - A scene with falling domino stones using a physics engine for
> calculating the
> > movement.
> > The physics engine is Open Dynamics Engine www.ode.org with the Squeak
> Driver
> > Open Dynamics Engine Construction Kit ODECo
> languagegame.org:8080/ggame/15.
> > - A scene with a swarm in an aquarium with swarm behaviour. Swarm
> algorithm is
> > described by Craig W. Reynolds
> www.red3d.com/cwr/steer/gdc99/. Two members of a
> > swarm can pair, spawn to crate new members.
> >
> > The source code is still in progress but I look for a place to publish it.
> >
> > By for now
> >
> > Willi Griephan
>
> ________________________________
> Search for videos of Bollywood, Hollywood, Mollywood and every other wood,
> only on Live.com Try it now!
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

Hans N Beck-2
Hi Dave,

do you mean that is the end of physics simulation in Croquet ?

Regards


Hans

Am 20.08.2008 um 16:47 schrieb David Faught:

> The work on integrating ODE into Croquet has mostly been stopped
> because ODE gives different results on different machines, which goes
> against the basic "replicated computation" idea of collaboration in
> Croquet.
>
> It's still kind of fun to play with ODE even though collaboration is
> broken.  The work that Willi has done is probably the most recent and
> the sources referred to in his note below are a good place to start.
>
> Willi, you could contribute your work to the community by putting it
> in the Monticello CroquetSource PublicContributions project repository
> at http://source.opencroquet.org/
>
> Dave
>
> On 8/18/08, shiva prasath <[hidden email]> wrote:
>>
>>
>> Hai Everyone,
>>                    First I would like to express my appreciations  
>> to this
>> enlightening group. We are quite new here, just catching momentum  
>> the past
>> month or so and great to be in this idea sharing space stretching the
>> boundaries of human imagination and revel in innovation!
>>
>>                      Willi, Can you please tell us how you  
>> integrate ODE to
>> work with Croquet?  We have been working on getting ODE to work  
>> with it
>> without much head way. I would appreciate everyone's help on this.  
>> Thanks!
>>
>> Regards,
>> Shiva
>>
>>
>> ________________________________
>>> To: [hidden email]
>>> From: [hidden email]
>>> Date: Sun, 6 Jul 2008 11:09:30 -0400
>>> Subject: [croquet-dev] Croquet scene with physics engine and swarm
>> behaviour
>>>
>>> Hallo,
>>>
>>> I create 2 scene with Croquet and I make a video of it.
>>> Vou can see the video at youTube
>> http://www.youtube.com/watch?v=D51Vx9giJVg
>>>
>>>
>>> The video shows 2 scenes created with Croquet Smalltalk:
>>> - A scene with falling domino stones using a physics engine for
>> calculating the
>>> movement.
>>> The physics engine is Open Dynamics Engine www.ode.org with the  
>>> Squeak
>> Driver
>>> Open Dynamics Engine Construction Kit ODECo
>> languagegame.org:8080/ggame/15.
>>> - A scene with a swarm in an aquarium with swarm behaviour. Swarm
>> algorithm is
>>> described by Craig W. Reynolds
>> www.red3d.com/cwr/steer/gdc99/. Two members of a
>>> swarm can pair, spawn to crate new members.
>>>
>>> The source code is still in progress but I look for a place to  
>>> publish it.
>>>
>>> By for now
>>>
>>> Willi Griephan
>>
>> ________________________________
>> Search for videos of Bollywood, Hollywood, Mollywood and every  
>> other wood,
>> only on Live.com Try it now!
>

Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

Darius Clarke
Hi Hans,

> Do you mean that is the end of physics simulation in Croquet ?

Not really.

Just that, when the pent-up demand becomes great enough, someone will either create a (reduced) native physics engine. Or something 3rd party will come along. Or, graphics cards will standardize on hardware acceleration of physics which would be much more consistent. It's very much on the Croquet road map.

We are also considering how to determine what really needs to be shared inside an island and what can stay out. This was never really addressed in creating the funding demo of Croquet. The needs of a game are different from the needs of a univ. research project and those are diff. from the needs of a social chat forum and those needs are different from a biz conference room's needs.

Cheers,
Darius
metaverseographer
_______________________

On Wed, Aug 20, 2008 at 12:07 PM, Hans N Beck <[hidden email]> wrote:
Hi Dave,

do you mean that is the end of physics simulation in Croquet ?

Regards


Hans

Am 20.08.2008 um 16:47 schrieb David Faught:


The work on integrating ODE into Croquet has mostly been stopped
because ODE gives different results on different machines, which goes
against the basic "replicated computation" idea of collaboration in
Croquet.

It's still kind of fun to play with ODE even though collaboration is
broken.  The work that Willi has done is probably the most recent and
the sources referred to in his note below are a good place to start.

Willi, you could contribute your work to the community by putting it
in the Monticello CroquetSource PublicContributions project repository
at http://source.opencroquet.org/

Dave

On 8/18/08, shiva prasath <[hidden email]> wrote:


Hai Everyone,
                  First I would like to express my appreciations to this
enlightening group. We are quite new here, just catching momentum the past
month or so and great to be in this idea sharing space stretching the
boundaries of human imagination and revel in innovation!

                    Willi, Can you please tell us how you integrate ODE to
work with Croquet?  We have been working on getting ODE to work with it
without much head way. I would appreciate everyone's help on this. Thanks!

Regards,
Shiva


________________________________
To: [hidden email]
From: [hidden email]
Date: Sun, 6 Jul 2008 11:09:30 -0400
Subject: [croquet-dev] Croquet scene with physics engine and swarm
behaviour

Hallo,

I create 2 scene with Croquet and I make a video of it.
Vou can see the video at youTube
http://www.youtube.com/watch?v=D51Vx9giJVg


The video shows 2 scenes created with Croquet Smalltalk:
- A scene with falling domino stones using a physics engine for
calculating the
movement.
The physics engine is Open Dynamics Engine www.ode.org with the Squeak
Driver
Open Dynamics Engine Construction Kit ODECo
languagegame.org:8080/ggame/15.
- A scene with a swarm in an aquarium with swarm behaviour. Swarm
algorithm is
described by Craig W. Reynolds
www.red3d.com/cwr/steer/gdc99/. Two members of a
swarm can pair, spawn to crate new members.

The source code is still in progress but I look for a place to publish it.

By for now

Willi Griephan

________________________________
Search for videos of Bollywood, Hollywood, Mollywood and every other wood,
only on Live.com Try it now!



Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

caocao-3
In reply to this post by David Faught
hi,Dave

>The work on integrating ODE into Croquet has mostly been stopped
>because ODE gives different results on different machines, which goes
>against the basic "replicated computation" idea of collaboration in
>Croquet.

What means "ODE gives different results on different machines"
and could you give us more detail infomation about that?

If you want to end using ODE physical eng. and which one is best choice?
Could you give some advice?

Thanks a lot!

Cao
////////////////////////////////////////////////////////////
2008/8/20 David Faught <[hidden email]>
The work on integrating ODE into Croquet has mostly been stopped
because ODE gives different results on different machines, which goes
against the basic "replicated computation" idea of collaboration in
Croquet.

It's still kind of fun to play with ODE even though collaboration is
broken.  The work that Willi has done is probably the most recent and
the sources referred to in his note below are a good place to start.

Willi, you could contribute your work to the community by putting it
in the Monticello CroquetSource PublicContributions project repository
at http://source.opencroquet.org/

Dave

On 8/18/08, shiva prasath <[hidden email]> wrote:
>
>
> Hai Everyone,
>                     First I would like to express my appreciations to this
> enlightening group. We are quite new here, just catching momentum the past
> month or so and great to be in this idea sharing space stretching the
> boundaries of human imagination and revel in innovation!
>
>                       Willi, Can you please tell us how you integrate ODE to
> work with Croquet?  We have been working on getting ODE to work with it
> without much head way. I would appreciate everyone's help on this. Thanks!
>
> Regards,
> Shiva
>
>
> ________________________________
> > To: [hidden email]
> > From: [hidden email]
> > Date: Sun, 6 Jul 2008 11:09:30 -0400
> > Subject: [croquet-dev] Croquet scene with physics engine and swarm
> behaviour
> >
> > Hallo,
> >
> > I create 2 scene with Croquet and I make a video of it.
> > Vou can see the video at youTube
> http://www.youtube.com/watch?v=D51Vx9giJVg
> >
> >
> > The video shows 2 scenes created with Croquet Smalltalk:
> > - A scene with falling domino stones using a physics engine for
> calculating the
> > movement.
> > The physics engine is Open Dynamics Engine www.ode.org with the Squeak
> Driver
> > Open Dynamics Engine Construction Kit ODECo
> languagegame.org:8080/ggame/15.
> > - A scene with a swarm in an aquarium with swarm behaviour. Swarm
> algorithm is
> > described by Craig W. Reynolds
> www.red3d.com/cwr/steer/gdc99/. Two members of a
> > swarm can pair, spawn to crate new members.
> >
> > The source code is still in progress but I look for a place to publish it.
> >
> > By for now
> >
> > Willi Griephan
>
> ________________________________
> Search for videos of Bollywood, Hollywood, Mollywood and every other wood,
> only on Live.com Try it now!



--
---
Junwen cao
@Tokyo
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

David P. Reed
In reply to this post by Hans N Beck-2
Hans N Beck wrote:
> Hi Dave,
>
> do you mean that is the end of physics simulation in Croquet ?
>
No.  It would not be that hard to make ODE give the same results from
the same inputs on all machines.  However, it requires attention to
detail in the following two areas:

    1) getting all floating point computations to be compiled into
equivalent calculations - a bunch of detailed work - perhaps choosing a
compiler that does this "right" - rather than the vague rules that are
often incorporated into C compilers by folks with no numerics
background.  IEEE 754 provides a basis, but the compiler must cooperate.

    2) making sure the PRNG (pseudo-random number generator) is seeded
consistently across all replicated instances of a computation.  
Replicated PRNG's are not hard to do.  PRNG's are completely deterministic.

Getting these "fixes" into ODE might be politically hard.  Not clear the
ODE community cares about replicability.

But a volunteer could make this happen.



> Regards
>
>
> Hans
>
> Am 20.08.2008 um 16:47 schrieb David Faught:
>
>> The work on integrating ODE into Croquet has mostly been stopped
>> because ODE gives different results on different machines, which goes
>> against the basic "replicated computation" idea of collaboration in
>> Croquet.
>>
>> It's still kind of fun to play with ODE even though collaboration is
>> broken.  The work that Willi has done is probably the most recent and
>> the sources referred to in his note below are a good place to start.
>>
>> Willi, you could contribute your work to the community by putting it
>> in the Monticello CroquetSource PublicContributions project repository
>> at http://source.opencroquet.org/
>>
>> Dave
>>
>> On 8/18/08, shiva prasath <[hidden email]> wrote:
>>>
>>>
>>> Hai Everyone,
>>>                    First I would like to express my appreciations to
>>> this
>>> enlightening group. We are quite new here, just catching momentum
>>> the past
>>> month or so and great to be in this idea sharing space stretching the
>>> boundaries of human imagination and revel in innovation!
>>>
>>>                      Willi, Can you please tell us how you integrate
>>> ODE to
>>> work with Croquet?  We have been working on getting ODE to work with it
>>> without much head way. I would appreciate everyone's help on this.
>>> Thanks!
>>>
>>> Regards,
>>> Shiva
>>>
>>>
>>> ________________________________
>>>> To: [hidden email]
>>>> From: [hidden email]
>>>> Date: Sun, 6 Jul 2008 11:09:30 -0400
>>>> Subject: [croquet-dev] Croquet scene with physics engine and swarm
>>> behaviour
>>>>
>>>> Hallo,
>>>>
>>>> I create 2 scene with Croquet and I make a video of it.
>>>> Vou can see the video at youTube
>>> http://www.youtube.com/watch?v=D51Vx9giJVg
>>>>
>>>>
>>>> The video shows 2 scenes created with Croquet Smalltalk:
>>>> - A scene with falling domino stones using a physics engine for
>>> calculating the
>>>> movement.
>>>> The physics engine is Open Dynamics Engine www.ode.org with the Squeak
>>> Driver
>>>> Open Dynamics Engine Construction Kit ODECo
>>> languagegame.org:8080/ggame/15.
>>>> - A scene with a swarm in an aquarium with swarm behaviour. Swarm
>>> algorithm is
>>>> described by Craig W. Reynolds
>>> www.red3d.com/cwr/steer/gdc99/. Two members of a
>>>> swarm can pair, spawn to crate new members.
>>>>
>>>> The source code is still in progress but I look for a place to
>>>> publish it.
>>>>
>>>> By for now
>>>>
>>>> Willi Griephan
>>>
>>> ________________________________
>>> Search for videos of Bollywood, Hollywood, Mollywood and every other
>>> wood,
>>> only on Live.com Try it now!
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

Andreas.Raab
David P. Reed wrote:
> No.  It would not be that hard to make ODE give the same results from
> the same inputs on all machines.  However, it requires attention to
> detail in the following two areas:
>
>    1) getting all floating point computations to be compiled into
> equivalent calculations - a bunch of detailed work - perhaps choosing a
> compiler that does this "right" - rather than the vague rules that are
> often incorporated into C compilers by folks with no numerics
> background.  IEEE 754 provides a basis, but the compiler must cooperate.

To be even more specific, it is necessary to a) disable all the
"builtin" math functions (mostly trig) that are approximated by
different series on different hardware and replace them by some
deterministic library (like fdlibm) and b) disable fused multiply-add if
you want this to compile using different compilers (because the choice
of fused multiply-add is arbitrary by the compiler).

Cheers,
   - Andreas

>    2) making sure the PRNG (pseudo-random number generator) is seeded
> consistently across all replicated instances of a computation.  
> Replicated PRNG's are not hard to do.  PRNG's are completely deterministic.
>
> Getting these "fixes" into ODE might be politically hard.  Not clear the
> ODE community cares about replicability.
>
> But a volunteer could make this happen.
>
>
>
>> Regards
>>
>>
>> Hans
>>
>> Am 20.08.2008 um 16:47 schrieb David Faught:
>>
>>> The work on integrating ODE into Croquet has mostly been stopped
>>> because ODE gives different results on different machines, which goes
>>> against the basic "replicated computation" idea of collaboration in
>>> Croquet.
>>>
>>> It's still kind of fun to play with ODE even though collaboration is
>>> broken.  The work that Willi has done is probably the most recent and
>>> the sources referred to in his note below are a good place to start.
>>>
>>> Willi, you could contribute your work to the community by putting it
>>> in the Monticello CroquetSource PublicContributions project repository
>>> at http://source.opencroquet.org/
>>>
>>> Dave
>>>
>>> On 8/18/08, shiva prasath <[hidden email]> wrote:
>>>>
>>>>
>>>> Hai Everyone,
>>>>                    First I would like to express my appreciations to
>>>> this
>>>> enlightening group. We are quite new here, just catching momentum
>>>> the past
>>>> month or so and great to be in this idea sharing space stretching the
>>>> boundaries of human imagination and revel in innovation!
>>>>
>>>>                      Willi, Can you please tell us how you integrate
>>>> ODE to
>>>> work with Croquet?  We have been working on getting ODE to work with it
>>>> without much head way. I would appreciate everyone's help on this.
>>>> Thanks!
>>>>
>>>> Regards,
>>>> Shiva
>>>>
>>>>
>>>> ________________________________
>>>>> To: [hidden email]
>>>>> From: [hidden email]
>>>>> Date: Sun, 6 Jul 2008 11:09:30 -0400
>>>>> Subject: [croquet-dev] Croquet scene with physics engine and swarm
>>>> behaviour
>>>>>
>>>>> Hallo,
>>>>>
>>>>> I create 2 scene with Croquet and I make a video of it.
>>>>> Vou can see the video at youTube
>>>> http://www.youtube.com/watch?v=D51Vx9giJVg
>>>>>
>>>>>
>>>>> The video shows 2 scenes created with Croquet Smalltalk:
>>>>> - A scene with falling domino stones using a physics engine for
>>>> calculating the
>>>>> movement.
>>>>> The physics engine is Open Dynamics Engine www.ode.org with the Squeak
>>>> Driver
>>>>> Open Dynamics Engine Construction Kit ODECo
>>>> languagegame.org:8080/ggame/15.
>>>>> - A scene with a swarm in an aquarium with swarm behaviour. Swarm
>>>> algorithm is
>>>>> described by Craig W. Reynolds
>>>> www.red3d.com/cwr/steer/gdc99/. Two members of a
>>>>> swarm can pair, spawn to crate new members.
>>>>>
>>>>> The source code is still in progress but I look for a place to
>>>>> publish it.
>>>>>
>>>>> By for now
>>>>>
>>>>> Willi Griephan
>>>>
>>>> ________________________________
>>>> Search for videos of Bollywood, Hollywood, Mollywood and every other
>>>> wood,
>>>> only on Live.com Try it now!
>>>
>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

Hans N Beck-2
Hi,

Am 20.08.2008 um 21:41 schrieb Andreas Raab:

> David P. Reed wrote:
>> No.  It would not be that hard to make ODE give the same results  
>> from the same inputs on all machines.  However, it requires  
>> attention to detail in the following two areas:
>>   1) getting all floating point computations to be compiled into  
>> equivalent calculations - a bunch of detailed work - perhaps  
>> choosing a compiler that does this "right" - rather than the vague  
>> rules that are often incorporated into C compilers by folks with no  
>> numerics background.  IEEE 754 provides a basis, but the compiler  
>> must cooperate.
>
> To be even more specific, it is necessary to a) disable all the  
> "builtin" math functions (mostly trig) that are approximated by  
> different series on different hardware and replace them by some  
> deterministic library (like fdlibm) and b) disable fused multiply-
> add if you want this to compile using different compilers (because  
> the choice of fused multiply-add is arbitrary by the compiler).
>
> Cheers,
>  - Andreas
>
>>   2) making sure the PRNG (pseudo-random number generator) is  
>> seeded consistently across all replicated instances of a  
>> computation.  Replicated PRNG's are not hard to do.  PRNG's are  
>> completely deterministic.
>> Getting these "fixes" into ODE might be politically hard.  Not  
>> clear the ODE community cares about replicability.
>> But a volunteer could make this happen.


well, now where I read it, I can see the problem. Too bad that there  
is no "Numeric VM" which is fast and make sure the replicability of  
numerics independend from the compiler....

Anyway, beside the law of replicabiltity I still belive it would be  
interesting *for some applications* that the results would be  
replicable only in a weak sense =  in a statistical sense.... a  
fascinating perspective (for me :-)

So, thanks for explanation !

Regards

Hans


>>
>>> Regards
>>>
>>>
>>> Hans
>>>
>>> Am 20.08.2008 um 16:47 schrieb David Faught:
>>>
>>>> The work on integrating ODE into Croquet has mostly been stopped
>>>> because ODE gives different results on different machines, which  
>>>> goes
>>>> against the basic "replicated computation" idea of collaboration in
>>>> Croquet.
>>>>
>>>> It's still kind of fun to play with ODE even though collaboration  
>>>> is
>>>> broken.  The work that Willi has done is probably the most recent  
>>>> and
>>>> the sources referred to in his note below are a good place to  
>>>> start.
>>>>
>>>> Willi, you could contribute your work to the community by putting  
>>>> it
>>>> in the Monticello CroquetSource PublicContributions project  
>>>> repository
>>>> at http://source.opencroquet.org/
>>>>
>>>> Dave
>>>>
>>>> On 8/18/08, shiva prasath <[hidden email]> wrote:
>>>>>
>>>>>
>>>>> Hai Everyone,
>>>>>                   First I would like to express my appreciations  
>>>>> to this
>>>>> enlightening group. We are quite new here, just catching  
>>>>> momentum the past
>>>>> month or so and great to be in this idea sharing space  
>>>>> stretching the
>>>>> boundaries of human imagination and revel in innovation!
>>>>>
>>>>>                     Willi, Can you please tell us how you  
>>>>> integrate ODE to
>>>>> work with Croquet?  We have been working on getting ODE to work  
>>>>> with it
>>>>> without much head way. I would appreciate everyone's help on  
>>>>> this. Thanks!
>>>>>
>>>>> Regards,
>>>>> Shiva
>>>>>
>>>>>
>>>>> ________________________________
>>>>>> To: [hidden email]
>>>>>> From: [hidden email]
>>>>>> Date: Sun, 6 Jul 2008 11:09:30 -0400
>>>>>> Subject: [croquet-dev] Croquet scene with physics engine and  
>>>>>> swarm
>>>>> behaviour
>>>>>>
>>>>>> Hallo,
>>>>>>
>>>>>> I create 2 scene with Croquet and I make a video of it.
>>>>>> Vou can see the video at youTube
>>>>> http://www.youtube.com/watch?v=D51Vx9giJVg
>>>>>>
>>>>>>
>>>>>> The video shows 2 scenes created with Croquet Smalltalk:
>>>>>> - A scene with falling domino stones using a physics engine for
>>>>> calculating the
>>>>>> movement.
>>>>>> The physics engine is Open Dynamics Engine www.ode.org with the  
>>>>>> Squeak
>>>>> Driver
>>>>>> Open Dynamics Engine Construction Kit ODECo
>>>>> languagegame.org:8080/ggame/15.
>>>>>> - A scene with a swarm in an aquarium with swarm behaviour. Swarm
>>>>> algorithm is
>>>>>> described by Craig W. Reynolds
>>>>> www.red3d.com/cwr/steer/gdc99/. Two members of a
>>>>>> swarm can pair, spawn to crate new members.
>>>>>>
>>>>>> The source code is still in progress but I look for a place to  
>>>>>> publish it.
>>>>>>
>>>>>> By for now
>>>>>>
>>>>>> Willi Griephan
>>>>>
>>>>> ________________________________
>>>>> Search for videos of Bollywood, Hollywood, Mollywood and every  
>>>>> other wood,
>>>>> only on Live.com Try it now!
>>>>
>>>
>>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

David P. Reed
Hans - I suspect that one could make a replicable-float VM to run ODE in
one of three ways:

    1) Use a qemu or similar VM to run ODE and treat it as a black box
peripheral.

    2) Use a JIT-style language interpreter that is designed for
replicable float computation.  Java is enough like C that one might port
to a high-performance Java JIT implementation with the float operations
specially tuned.

    3) Compile the C implementation of ODE into Squeak code.   This of
course assumes that the Squeak code uses bit-replicated float
operations. (it's *supposed* to, but have we tested it?)

Hans N Beck wrote:

> Hi,
>
> Am 20.08.2008 um 21:41 schrieb Andreas Raab:
>
>> David P. Reed wrote:
>>> No.  It would not be that hard to make ODE give the same results
>>> from the same inputs on all machines.  However, it requires
>>> attention to detail in the following two areas:
>>>   1) getting all floating point computations to be compiled into
>>> equivalent calculations - a bunch of detailed work - perhaps
>>> choosing a compiler that does this "right" - rather than the vague
>>> rules that are often incorporated into C compilers by folks with no
>>> numerics background.  IEEE 754 provides a basis, but the compiler
>>> must cooperate.
>>
>> To be even more specific, it is necessary to a) disable all the
>> "builtin" math functions (mostly trig) that are approximated by
>> different series on different hardware and replace them by some
>> deterministic library (like fdlibm) and b) disable fused multiply-add
>> if you want this to compile using different compilers (because the
>> choice of fused multiply-add is arbitrary by the compiler).
>>
>> Cheers,
>>  - Andreas
>>
>>>   2) making sure the PRNG (pseudo-random number generator) is seeded
>>> consistently across all replicated instances of a computation.  
>>> Replicated PRNG's are not hard to do.  PRNG's are completely
>>> deterministic.
>>> Getting these "fixes" into ODE might be politically hard.  Not clear
>>> the ODE community cares about replicability.
>>> But a volunteer could make this happen.
>
>
> well, now where I read it, I can see the problem. Too bad that there
> is no "Numeric VM" which is fast and make sure the replicability of
> numerics independend from the compiler....
>
> Anyway, beside the law of replicabiltity I still belive it would be
> interesting *for some applications* that the results would be
> replicable only in a weak sense =  in a statistical sense.... a
> fascinating perspective (for me :-)
>
> So, thanks for explanation !
>
> Regards
>
> Hans
>
>
>>>
>>>> Regards
>>>>
>>>>
>>>> Hans
>>>>
>>>> Am 20.08.2008 um 16:47 schrieb David Faught:
>>>>
>>>>> The work on integrating ODE into Croquet has mostly been stopped
>>>>> because ODE gives different results on different machines, which goes
>>>>> against the basic "replicated computation" idea of collaboration in
>>>>> Croquet.
>>>>>
>>>>> It's still kind of fun to play with ODE even though collaboration is
>>>>> broken.  The work that Willi has done is probably the most recent and
>>>>> the sources referred to in his note below are a good place to start.
>>>>>
>>>>> Willi, you could contribute your work to the community by putting it
>>>>> in the Monticello CroquetSource PublicContributions project
>>>>> repository
>>>>> at http://source.opencroquet.org/
>>>>>
>>>>> Dave
>>>>>
>>>>> On 8/18/08, shiva prasath <[hidden email]> wrote:
>>>>>>
>>>>>>
>>>>>> Hai Everyone,
>>>>>>                   First I would like to express my appreciations
>>>>>> to this
>>>>>> enlightening group. We are quite new here, just catching momentum
>>>>>> the past
>>>>>> month or so and great to be in this idea sharing space stretching
>>>>>> the
>>>>>> boundaries of human imagination and revel in innovation!
>>>>>>
>>>>>>                     Willi, Can you please tell us how you
>>>>>> integrate ODE to
>>>>>> work with Croquet?  We have been working on getting ODE to work
>>>>>> with it
>>>>>> without much head way. I would appreciate everyone's help on
>>>>>> this. Thanks!
>>>>>>
>>>>>> Regards,
>>>>>> Shiva
>>>>>>
>>>>>>
>>>>>> ________________________________
>>>>>>> To: [hidden email]
>>>>>>> From: [hidden email]
>>>>>>> Date: Sun, 6 Jul 2008 11:09:30 -0400
>>>>>>> Subject: [croquet-dev] Croquet scene with physics engine and swarm
>>>>>> behaviour
>>>>>>>
>>>>>>> Hallo,
>>>>>>>
>>>>>>> I create 2 scene with Croquet and I make a video of it.
>>>>>>> Vou can see the video at youTube
>>>>>> http://www.youtube.com/watch?v=D51Vx9giJVg
>>>>>>>
>>>>>>>
>>>>>>> The video shows 2 scenes created with Croquet Smalltalk:
>>>>>>> - A scene with falling domino stones using a physics engine for
>>>>>> calculating the
>>>>>>> movement.
>>>>>>> The physics engine is Open Dynamics Engine www.ode.org with the
>>>>>>> Squeak
>>>>>> Driver
>>>>>>> Open Dynamics Engine Construction Kit ODECo
>>>>>> languagegame.org:8080/ggame/15.
>>>>>>> - A scene with a swarm in an aquarium with swarm behaviour. Swarm
>>>>>> algorithm is
>>>>>>> described by Craig W. Reynolds
>>>>>> www.red3d.com/cwr/steer/gdc99/. Two members of a
>>>>>>> swarm can pair, spawn to crate new members.
>>>>>>>
>>>>>>> The source code is still in progress but I look for a place to
>>>>>>> publish it.
>>>>>>>
>>>>>>> By for now
>>>>>>>
>>>>>>> Willi Griephan
>>>>>>
>>>>>> ________________________________
>>>>>> Search for videos of Bollywood, Hollywood, Mollywood and every
>>>>>> other wood,
>>>>>> only on Live.com Try it now!
>>>>>
>>>>
>>>>
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

David A. Smith
Squeak has perfectly replicated float operations. We discovered very early on that certain operations could fail in edge conditions, so Andreas worked very hard to fix this. 

I think it would be possible to do a reasonable ODE like system in Croquet. As noted, the major problem is that ODE does not work properly replicated. Fixing it is non-trivial, though it would probably be welcomed by the rest of the ODE community.

DAS


On Wed, Aug 20, 2008 at 5:14 PM, David P. Reed <[hidden email]> wrote:
Hans - I suspect that one could make a replicable-float VM to run ODE in one of three ways:

  1) Use a qemu or similar VM to run ODE and treat it as a black box peripheral.

  2) Use a JIT-style language interpreter that is designed for replicable float computation.  Java is enough like C that one might port to a high-performance Java JIT implementation with the float operations specially tuned.

  3) Compile the C implementation of ODE into Squeak code.   This of course assumes that the Squeak code uses bit-replicated float operations. (it's *supposed* to, but have we tested it?)


Hans N Beck wrote:
Hi,

Am 20.08.2008 um 21:41 schrieb Andreas Raab:

David P. Reed wrote:
No.  It would not be that hard to make ODE give the same results from the same inputs on all machines.  However, it requires attention to detail in the following two areas:
 1) getting all floating point computations to be compiled into equivalent calculations - a bunch of detailed work - perhaps choosing a compiler that does this "right" - rather than the vague rules that are often incorporated into C compilers by folks with no numerics background.  IEEE 754 provides a basis, but the compiler must cooperate.

To be even more specific, it is necessary to a) disable all the "builtin" math functions (mostly trig) that are approximated by different series on different hardware and replace them by some deterministic library (like fdlibm) and b) disable fused multiply-add if you want this to compile using different compilers (because the choice of fused multiply-add is arbitrary by the compiler).

Cheers,
 - Andreas

 2) making sure the PRNG (pseudo-random number generator) is seeded consistently across all replicated instances of a computation.  Replicated PRNG's are not hard to do.  PRNG's are completely deterministic.
Getting these "fixes" into ODE might be politically hard.  Not clear the ODE community cares about replicability.
But a volunteer could make this happen.


well, now where I read it, I can see the problem. Too bad that there is no "Numeric VM" which is fast and make sure the replicability of numerics independend from the compiler....

Anyway, beside the law of replicabiltity I still belive it would be interesting *for some applications* that the results would be replicable only in a weak sense =  in a statistical sense.... a fascinating perspective (for me :-)

So, thanks for explanation !

Regards

Hans



Regards


Hans

Am 20.08.2008 um 16:47 schrieb David Faught:

The work on integrating ODE into Croquet has mostly been stopped
because ODE gives different results on different machines, which goes
against the basic "replicated computation" idea of collaboration in
Croquet.

It's still kind of fun to play with ODE even though collaboration is
broken.  The work that Willi has done is probably the most recent and
the sources referred to in his note below are a good place to start.

Willi, you could contribute your work to the community by putting it
in the Monticello CroquetSource PublicContributions project repository
at http://source.opencroquet.org/

Dave

On 8/18/08, shiva prasath <[hidden email]> wrote:


Hai Everyone,
                 First I would like to express my appreciations to this
enlightening group. We are quite new here, just catching momentum the past
month or so and great to be in this idea sharing space stretching the
boundaries of human imagination and revel in innovation!

                   Willi, Can you please tell us how you integrate ODE to
work with Croquet?  We have been working on getting ODE to work with it
without much head way. I would appreciate everyone's help on this. Thanks!

Regards,
Shiva


________________________________
To: [hidden email]
From: [hidden email]
Date: Sun, 6 Jul 2008 11:09:30 -0400
Subject: [croquet-dev] Croquet scene with physics engine and swarm
behaviour

Hallo,

I create 2 scene with Croquet and I make a video of it.
Vou can see the video at youTube
http://www.youtube.com/watch?v=D51Vx9giJVg


The video shows 2 scenes created with Croquet Smalltalk:
- A scene with falling domino stones using a physics engine for
calculating the
movement.
The physics engine is Open Dynamics Engine www.ode.org with the Squeak
Driver
Open Dynamics Engine Construction Kit ODECo
languagegame.org:8080/ggame/15.
- A scene with a swarm in an aquarium with swarm behaviour. Swarm
algorithm is
described by Craig W. Reynolds
www.red3d.com/cwr/steer/gdc99/. Two members of a
swarm can pair, spawn to crate new members.

The source code is still in progress but I look for a place to publish it.

By for now

Willi Griephan

________________________________
Search for videos of Bollywood, Hollywood, Mollywood and every other wood,
only on Live.com Try it now!







Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

David Faught
In reply to this post by Darius Clarke
There are a few related breadcrumbs that might be worth checking out:

https://lists.duke.edu/sympa/arc/croquet-dev/2006-12/msg00038.html
(and the update of Orion's PhysicsEngine package on the Hedgehog
PublicContribs repository which that message refers to)

http://croquetconsortium.org/index.php/WikiSpace:Wish_List#Physics_Engine_Package

and a number of older messages on the Croquet-Dev list that can be
found with the advanced search using the keyword "physics".

Dave

On 8/20/08, Darius Clarke <[hidden email]> wrote:

> Hi Hans,
>
> > Do you mean that is the end of physics simulation in Croquet ?
>
> Not really.
>
> Just that, when the pent-up demand becomes great enough, someone will either
> create a (reduced) native physics engine. Or something 3rd party will come
> along. Or, graphics cards will standardize on hardware acceleration of
> physics which would be much more consistent. It's very much on the Croquet
> road map.
>
> We are also considering how to determine what really needs to be shared
> inside an island and what can stay out. This was never really addressed in
> creating the funding demo of Croquet. The needs of a game are different from
> the needs of a univ. research project and those are diff. from the needs of
> a social chat forum and those needs are different from a biz conference
> room's needs.
>
> Cheers,
> Darius
> metaverseographer
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

caocao-3
In reply to this post by David P. Reed
OGRE is a great 3D engine, one of the oldest opensource ones.

Cheers,

///////////////////////////////////////////////////////////////////////////
2008/8/21 David P. Reed <[hidden email]>
Hans N Beck wrote:
Hi Dave,

do you mean that is the end of physics simulation in Croquet ?

No.  It would not be that hard to make ODE give the same results from the same inputs on all machines.  However, it requires attention to detail in the following two areas:

  1) getting all floating point computations to be compiled into equivalent calculations - a bunch of detailed work - perhaps choosing a compiler that does this "right" - rather than the vague rules that are often incorporated into C compilers by folks with no numerics background.  IEEE 754 provides a basis, but the compiler must cooperate.

  2) making sure the PRNG (pseudo-random number generator) is seeded consistently across all replicated instances of a computation.  Replicated PRNG's are not hard to do.  PRNG's are completely deterministic.

Getting these "fixes" into ODE might be politically hard.  Not clear the ODE community cares about replicability.

But a volunteer could make this happen.




Regards


Hans

Am 20.08.2008 um 16:47 schrieb David Faught:

The work on integrating ODE into Croquet has mostly been stopped
because ODE gives different results on different machines, which goes
against the basic "replicated computation" idea of collaboration in
Croquet.

It's still kind of fun to play with ODE even though collaboration is
broken.  The work that Willi has done is probably the most recent and
the sources referred to in his note below are a good place to start.

Willi, you could contribute your work to the community by putting it
in the Monticello CroquetSource PublicContributions project repository
at http://source.opencroquet.org/

Dave

On 8/18/08, shiva prasath <[hidden email]> wrote:


Hai Everyone,
                  First I would like to express my appreciations to this
enlightening group. We are quite new here, just catching momentum the past
month or so and great to be in this idea sharing space stretching the
boundaries of human imagination and revel in innovation!

                    Willi, Can you please tell us how you integrate ODE to
work with Croquet?  We have been working on getting ODE to work with it
without much head way. I would appreciate everyone's help on this. Thanks!

Regards,
Shiva


________________________________
To: [hidden email]
From: [hidden email]
Date: Sun, 6 Jul 2008 11:09:30 -0400
Subject: [croquet-dev] Croquet scene with physics engine and swarm
behaviour

Hallo,

I create 2 scene with Croquet and I make a video of it.
Vou can see the video at youTube
http://www.youtube.com/watch?v=D51Vx9giJVg


The video shows 2 scenes created with Croquet Smalltalk:
- A scene with falling domino stones using a physics engine for
calculating the
movement.
The physics engine is Open Dynamics Engine www.ode.org with the Squeak
Driver
Open Dynamics Engine Construction Kit ODECo
languagegame.org:8080/ggame/15.
- A scene with a swarm in an aquarium with swarm behaviour. Swarm
algorithm is
described by Craig W. Reynolds
www.red3d.com/cwr/steer/gdc99/. Two members of a
swarm can pair, spawn to crate new members.

The source code is still in progress but I look for a place to publish it.

By for now

Willi Griephan

________________________________
Search for videos of Bollywood, Hollywood, Mollywood and every other wood,
only on Live.com Try it now!






--
---
Junwen cao
@Tokyo
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

David P. Reed
Well, not that it matters, but ODE is NOT a 3D engine. Not at all.  It
is a physics simulator.

caocao wrote:

> OGRE is a great 3D engine, one of the oldest opensource ones.
>
> Cheers,
>
> ///////////////////////////////////////////////////////////////////////////
> 2008/8/21 David P. Reed <[hidden email] <mailto:[hidden email]>>
>
>     Hans N Beck wrote:
>
>         Hi Dave,
>
>         do you mean that is the end of physics simulation in Croquet ?
>
>     No.  It would not be that hard to make ODE give the same results
>     from the same inputs on all machines.  However, it requires
>     attention to detail in the following two areas:
>
>       1) getting all floating point computations to be compiled into
>     equivalent calculations - a bunch of detailed work - perhaps
>     choosing a compiler that does this "right" - rather than the vague
>     rules that are often incorporated into C compilers by folks with
>     no numerics background.  IEEE 754 provides a basis, but the
>     compiler must cooperate.
>
>       2) making sure the PRNG (pseudo-random number generator) is
>     seeded consistently across all replicated instances of a
>     computation.  Replicated PRNG's are not hard to do.  PRNG's are
>     completely deterministic.
>
>     Getting these "fixes" into ODE might be politically hard.  Not
>     clear the ODE community cares about replicability.
>
>     But a volunteer could make this happen.
>
>
>
>
>         Regards
>
>
>         Hans
>
>         Am 20.08.2008 um 16:47 schrieb David Faught:
>
>             The work on integrating ODE into Croquet has mostly been
>             stopped
>             because ODE gives different results on different machines,
>             which goes
>             against the basic "replicated computation" idea of
>             collaboration in
>             Croquet.
>
>             It's still kind of fun to play with ODE even though
>             collaboration is
>             broken.  The work that Willi has done is probably the most
>             recent and
>             the sources referred to in his note below are a good place
>             to start.
>
>             Willi, you could contribute your work to the community by
>             putting it
>             in the Monticello CroquetSource PublicContributions
>             project repository
>             at http://source.opencroquet.org/
>
>             Dave
>
>             On 8/18/08, shiva prasath <[hidden email]
>             <mailto:[hidden email]>> wrote:
>
>
>
>                 Hai Everyone,
>                                   First I would like to express my
>                 appreciations to this
>                 enlightening group. We are quite new here, just
>                 catching momentum the past
>                 month or so and great to be in this idea sharing space
>                 stretching the
>                 boundaries of human imagination and revel in innovation!
>
>                                     Willi, Can you please tell us how
>                 you integrate ODE to
>                 work with Croquet?  We have been working on getting
>                 ODE to work with it
>                 without much head way. I would appreciate everyone's
>                 help on this. Thanks!
>
>                 Regards,
>                 Shiva
>
>
>                 ________________________________
>
>                     To: [hidden email] <mailto:[hidden email]>
>                     From: [hidden email]
>                     <mailto:[hidden email]>
>                     Date: Sun, 6 Jul 2008 11:09:30 -0400
>                     Subject: [croquet-dev] Croquet scene with physics
>                     engine and swarm
>
>                 behaviour
>
>
>                     Hallo,
>
>                     I create 2 scene with Croquet and I make a video
>                     of it.
>                     Vou can see the video at youTube
>
>                 http://www.youtube.com/watch?v=D51Vx9giJVg
>
>
>
>                     The video shows 2 scenes created with Croquet
>                     Smalltalk:
>                     - A scene with falling domino stones using a
>                     physics engine for
>
>                 calculating the
>
>                     movement.
>                     The physics engine is Open Dynamics Engine
>                     www.ode.org <http://www.ode.org> with the Squeak
>
>                 Driver
>
>                     Open Dynamics Engine Construction Kit ODECo
>
>                 languagegame.org:8080/ggame/15
>                 <http://languagegame.org:8080/ggame/15>.
>
>                     - A scene with a swarm in an aquarium with swarm
>                     behaviour. Swarm
>
>                 algorithm is
>
>                     described by Craig W. Reynolds
>
>                 www.red3d.com/cwr/steer/gdc99/
>                 <http://www.red3d.com/cwr/steer/gdc99/>. Two members of a
>
>                     swarm can pair, spawn to crate new members.
>
>                     The source code is still in progress but I look
>                     for a place to publish it.
>
>                     By for now
>
>                     Willi Griephan
>
>
>                 ________________________________
>                 Search for videos of Bollywood, Hollywood, Mollywood
>                 and every other wood,
>                 only on Live.com Try it now!
>
>
>
>
>
>
>
> --
> ---
> Junwen cao
> @Tokyo
Reply | Threaded
Open this post in threaded view
|

RE: Croquet scene with physics engine and swarm behaviour

tibbe
In reply to this post by caocao-3
Hi
 
If I many comment.
Have been working with Distributed X3D sceens for some time and have spend some time to this "challanges".
Basically ODE are a dynamic engine used by many graphic and non-grapic systems. 
ODE have also a lot of API made for diffrent language as C++, python,,,
 
The apporach we could use in X3D are to give objects dynamic behaviour using ODE in every client. 
In distributed world there are static objects and moving objects.
Moving objects can be assigned to owner ( clinent user ) and their position ( translation and rotation ) can be sent to all other clients trough some network protocoll.
More challanges are transfering of ownership between clients and if two dynamic objects with diffrent owner collides.
 
Hope that this approach will help in using ODE to give dynamic behaviour to the distributed sceen.
As the ODE engines do not need to be compleatly syncronised.
Though there are need for some syncronisation as the ODE client need to know about all objects in the sceen both static and dynamic.
Dynamic objects has properties as mass, inertia, surface friction and softness.
And most of all position AND motion as velocity in 6 degrees of freedom.
The properties can be stated as the object are loaded to the client. Note there could be a demand for making these properties changable at simulation. 
Position are defined today in the protocoll, velocity has either to be defined in a extended protocoll or why not be calculated by the custom scripts the handels the dynamic behavior of objects in the client.
 
IMHO this approach could be used in croquet/sqeek as well, though I'm not familar with math libs for smalltalk.
 
/Sven-Erik Tiberg
 
 


From: caocao [mailto:[hidden email]]
Sent: den 23 augusti 2008 02:52
To: [hidden email]; David P. Reed
Subject: Re: [croquet-dev] Croquet scene with physics engine and swarm behaviour

OGRE is a great 3D engine, one of the oldest opensource ones.

Cheers,

///////////////////////////////////////////////////////////////////////////
2008/8/21 David P. Reed <[hidden email]>
Hans N Beck wrote:
Hi Dave,

do you mean that is the end of physics simulation in Croquet ?

No.  It would not be that hard to make ODE give the same results from the same inputs on all machines.  However, it requires attention to detail in the following two areas:

  1) getting all floating point computations to be compiled into equivalent calculations - a bunch of detailed work - perhaps choosing a compiler that does this "right" - rather than the vague rules that are often incorporated into C compilers by folks with no numerics background.  IEEE 754 provides a basis, but the compiler must cooperate.

  2) making sure the PRNG (pseudo-random number generator) is seeded consistently across all replicated instances of a computation.  Replicated PRNG's are not hard to do.  PRNG's are completely deterministic.

Getting these "fixes" into ODE might be politically hard.  Not clear the ODE community cares about replicability.

But a volunteer could make this happen.




Regards


Hans

Am 20.08.2008 um 16:47 schrieb David Faught:

The work on integrating ODE into Croquet has mostly been stopped
because ODE gives different results on different machines, which goes
against the basic "replicated computation" idea of collaboration in
Croquet.

It's still kind of fun to play with ODE even though collaboration is
broken.  The work that Willi has done is probably the most recent and
the sources referred to in his note below are a good place to start.

Willi, you could contribute your work to the community by putting it
in the Monticello CroquetSource PublicContributions project repository
at http://source.opencroquet.org/

Dave

On 8/18/08, shiva prasath <[hidden email]> wrote:


Hai Everyone,
                  First I would like to express my appreciations to this
enlightening group. We are quite new here, just catching momentum the past
month or so and great to be in this idea sharing space stretching the
boundaries of human imagination and revel in innovation!

                    Willi, Can you please tell us how you integrate ODE to
work with Croquet?  We have been working on getting ODE to work with it
without much head way. I would appreciate everyone's help on this. Thanks!

Regards,
Shiva


________________________________
To: [hidden email]
From: [hidden email]
Date: Sun, 6 Jul 2008 11:09:30 -0400
Subject: [croquet-dev] Croquet scene with physics engine and swarm
behaviour

Hallo,

I create 2 scene with Croquet and I make a video of it.
Vou can see the video at youTube
http://www.youtube.com/watch?v=D51Vx9giJVg


The video shows 2 scenes created with Croquet Smalltalk:
- A scene with falling domino stones using a physics engine for
calculating the
movement.
The physics engine is Open Dynamics Engine www.ode.org with the Squeak
Driver
Open Dynamics Engine Construction Kit ODECo
languagegame.org:8080/ggame/15.
- A scene with a swarm in an aquarium with swarm behaviour. Swarm
algorithm is
described by Craig W. Reynolds
www.red3d.com/cwr/steer/gdc99/. Two members of a
swarm can pair, spawn to crate new members.

The source code is still in progress but I look for a place to publish it.

By for now

Willi Griephan

________________________________
Search for videos of Bollywood, Hollywood, Mollywood and every other wood,
only on Live.com Try it now!






--
---
Junwen cao
@Tokyo
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

David A. Smith
Hi Sven-Erik,

Yes there is a way to do this with Croquet. It is something of a tradeoff, however.

One of the clients computes the physics for the particular interaction, and then sends the results as a replicated external event. The nice thing about this is then everyone gets the same exact physics responses. The problem is the potential significant bandwidth overhead. This last is not necessarily small.

An approach to dealing with the bandwidth is to simply utilize ODE as a collision detection engine and have it generate the new angular and linear momenta. This gets distributed to all of the users for the objects. Since the objects themselves follow normal Newtonian paths, Croquet need only deal with updating these paths and adding any persistent forces, such as gravitation. This will work fine for smaller collections of objects that rarely interact. It is not too good for a hundred objects in a shaking box however, as the number of collisions will quickly dwarf the bandwidth available.

David

On Mon, Aug 25, 2008 at 3:05 AM, Sven-Erik Tiberg <[hidden email]> wrote:
Hi
 
If I many comment.
Have been working with Distributed X3D sceens for some time and have spend some time to this "challanges".
Basically ODE are a dynamic engine used by many graphic and non-grapic systems. 
ODE have also a lot of API made for diffrent language as C++, python,,,
 
The apporach we could use in X3D are to give objects dynamic behaviour using ODE in every client. 
In distributed world there are static objects and moving objects.
Moving objects can be assigned to owner ( clinent user ) and their position ( translation and rotation ) can be sent to all other clients trough some network protocoll.
More challanges are transfering of ownership between clients and if two dynamic objects with diffrent owner collides.
 
Hope that this approach will help in using ODE to give dynamic behaviour to the distributed sceen.
As the ODE engines do not need to be compleatly syncronised.
Though there are need for some syncronisation as the ODE client need to know about all objects in the sceen both static and dynamic.
Dynamic objects has properties as mass, inertia, surface friction and softness.
And most of all position AND motion as velocity in 6 degrees of freedom.
The properties can be stated as the object are loaded to the client. Note there could be a demand for making these properties changable at simulation. 
Position are defined today in the protocoll, velocity has either to be defined in a extended protocoll or why not be calculated by the custom scripts the handels the dynamic behavior of objects in the client.
 
IMHO this approach could be used in croquet/sqeek as well, though I'm not familar with math libs for smalltalk.
 
/Sven-Erik Tiberg
 
 


From: caocao [mailto:[hidden email]]
Sent: den 23 augusti 2008 02:52
To: [hidden email]; David P. Reed
Subject: Re: [croquet-dev] Croquet scene with physics engine and swarm behaviour

OGRE is a great 3D engine, one of the oldest opensource ones.

Cheers,

///////////////////////////////////////////////////////////////////////////
2008/8/21 David P. Reed <[hidden email]>
Hans N Beck wrote:
Hi Dave,

do you mean that is the end of physics simulation in Croquet ?

No.  It would not be that hard to make ODE give the same results from the same inputs on all machines.  However, it requires attention to detail in the following two areas:

  1) getting all floating point computations to be compiled into equivalent calculations - a bunch of detailed work - perhaps choosing a compiler that does this "right" - rather than the vague rules that are often incorporated into C compilers by folks with no numerics background.  IEEE 754 provides a basis, but the compiler must cooperate.

  2) making sure the PRNG (pseudo-random number generator) is seeded consistently across all replicated instances of a computation.  Replicated PRNG's are not hard to do.  PRNG's are completely deterministic.

Getting these "fixes" into ODE might be politically hard.  Not clear the ODE community cares about replicability.

But a volunteer could make this happen.




Regards


Hans

Am 20.08.2008 um 16:47 schrieb David Faught:

The work on integrating ODE into Croquet has mostly been stopped
because ODE gives different results on different machines, which goes
against the basic "replicated computation" idea of collaboration in
Croquet.

It's still kind of fun to play with ODE even though collaboration is
broken.  The work that Willi has done is probably the most recent and
the sources referred to in his note below are a good place to start.

Willi, you could contribute your work to the community by putting it
in the Monticello CroquetSource PublicContributions project repository
at http://source.opencroquet.org/

Dave

On 8/18/08, shiva prasath <[hidden email]> wrote:


Hai Everyone,
                  First I would like to express my appreciations to this
enlightening group. We are quite new here, just catching momentum the past
month or so and great to be in this idea sharing space stretching the
boundaries of human imagination and revel in innovation!

                    Willi, Can you please tell us how you integrate ODE to
work with Croquet?  We have been working on getting ODE to work with it
without much head way. I would appreciate everyone's help on this. Thanks!

Regards,
Shiva


________________________________
To: [hidden email]
From: [hidden email]
Date: Sun, 6 Jul 2008 11:09:30 -0400
Subject: [croquet-dev] Croquet scene with physics engine and swarm
behaviour

Hallo,

I create 2 scene with Croquet and I make a video of it.
Vou can see the video at youTube
http://www.youtube.com/watch?v=D51Vx9giJVg


The video shows 2 scenes created with Croquet Smalltalk:
- A scene with falling domino stones using a physics engine for
calculating the
movement.
The physics engine is Open Dynamics Engine www.ode.org with the Squeak
Driver
Open Dynamics Engine Construction Kit ODECo
languagegame.org:8080/ggame/15.
- A scene with a swarm in an aquarium with swarm behaviour. Swarm
algorithm is
described by Craig W. Reynolds
www.red3d.com/cwr/steer/gdc99/. Two members of a
swarm can pair, spawn to crate new members.

The source code is still in progress but I look for a place to publish it.

By for now

Willi Griephan

________________________________
Search for videos of Bollywood, Hollywood, Mollywood and every other wood,
only on Live.com Try it now!






--
---
Junwen cao
@Tokyo

Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

askoh
Administrator
In reply to this post by David A. Smith
Does this mean that a physics engine or motion simulator written in 100% Squeak will run identically on different machines and OS's?

Aik-Siong Koh
http://ar-cad.com


David Smith-36 wrote
Squeak has perfectly replicated float operations. We discovered very early
on that certain operations could fail in edge conditions, so Andreas worked
very hard to fix this.
I think it would be possible to do a reasonable ODE like system in Croquet.
As noted, the major problem is that ODE does not work properly replicated.
Fixing it is non-trivial, though it would probably be welcomed by the rest
of the ODE community.

DAS


On Wed, Aug 20, 2008 at 5:14 PM, David P. Reed <dpreed@reed.com> wrote:

> Hans - I suspect that one could make a replicable-float VM to run ODE in
> one of three ways:
>
>   1) Use a qemu or similar VM to run ODE and treat it as a black box
> peripheral.
>
>   2) Use a JIT-style language interpreter that is designed for replicable
> float computation.  Java is enough like C that one might port to a
> high-performance Java JIT implementation with the float operations specially
> tuned.
>
>   3) Compile the C implementation of ODE into Squeak code.   This of course
> assumes that the Squeak code uses bit-replicated float operations. (it's
> *supposed* to, but have we tested it?)
>
>
> Hans N Beck wrote:
>
>> Hi,
>>
>> Am 20.08.2008 um 21:41 schrieb Andreas Raab:
>>
>>  David P. Reed wrote:
>>>
>>>> No.  It would not be that hard to make ODE give the same results from
>>>> the same inputs on all machines.  However, it requires attention to detail
>>>> in the following two areas:
>>>>  1) getting all floating point computations to be compiled into
>>>> equivalent calculations - a bunch of detailed work - perhaps choosing a
>>>> compiler that does this "right" - rather than the vague rules that are often
>>>> incorporated into C compilers by folks with no numerics background.  IEEE
>>>> 754 provides a basis, but the compiler must cooperate.
>>>>
>>>
>>> To be even more specific, it is necessary to a) disable all the "builtin"
>>> math functions (mostly trig) that are approximated by different series on
>>> different hardware and replace them by some deterministic library (like
>>> fdlibm) and b) disable fused multiply-add if you want this to compile using
>>> different compilers (because the choice of fused multiply-add is arbitrary
>>> by the compiler).
>>>
>>> Cheers,
>>>  - Andreas
>>>
>>>   2) making sure the PRNG (pseudo-random number generator) is seeded
>>>> consistently across all replicated instances of a computation.  Replicated
>>>> PRNG's are not hard to do.  PRNG's are completely deterministic.
>>>> Getting these "fixes" into ODE might be politically hard.  Not clear the
>>>> ODE community cares about replicability.
>>>> But a volunteer could make this happen.
>>>>
>>>
>>
>> well, now where I read it, I can see the problem. Too bad that there is no
>> "Numeric VM" which is fast and make sure the replicability of numerics
>> independend from the compiler....
>>
>> Anyway, beside the law of replicabiltity I still belive it would be
>> interesting *for some applications* that the results would be replicable
>> only in a weak sense =  in a statistical sense.... a fascinating perspective
>> (for me :-)
>>
>> So, thanks for explanation !
>>
>> Regards
>>
>> Hans
>>
>>
>>
>>>>  Regards
>>>>>
>>>>>
>>>>> Hans
>>>>>
>>>>> Am 20.08.2008 um 16:47 schrieb David Faught:
>>>>>
>>>>>  The work on integrating ODE into Croquet has mostly been stopped
>>>>>> because ODE gives different results on different machines, which goes
>>>>>> against the basic "replicated computation" idea of collaboration in
>>>>>> Croquet.
>>>>>>
>>>>>> It's still kind of fun to play with ODE even though collaboration is
>>>>>> broken.  The work that Willi has done is probably the most recent and
>>>>>> the sources referred to in his note below are a good place to start.
>>>>>>
>>>>>> Willi, you could contribute your work to the community by putting it
>>>>>> in the Monticello CroquetSource PublicContributions project repository
>>>>>> at http://source.opencroquet.org/
>>>>>>
>>>>>> Dave
>>>>>>
>>>>>> On 8/18/08, shiva prasath <shiv@afflatusilabs.com> wrote:
>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Hai Everyone,
>>>>>>>                  First I would like to express my appreciations to
>>>>>>> this
>>>>>>> enlightening group. We are quite new here, just catching momentum the
>>>>>>> past
>>>>>>> month or so and great to be in this idea sharing space stretching the
>>>>>>> boundaries of human imagination and revel in innovation!
>>>>>>>
>>>>>>>                    Willi, Can you please tell us how you integrate
>>>>>>> ODE to
>>>>>>> work with Croquet?  We have been working on getting ODE to work with
>>>>>>> it
>>>>>>> without much head way. I would appreciate everyone's help on this.
>>>>>>> Thanks!
>>>>>>>
>>>>>>> Regards,
>>>>>>> Shiva
>>>>>>>
>>>>>>>
>>>>>>> ________________________________
>>>>>>>
>>>>>>>> To: croquet-dev@duke.edu
>>>>>>>> From: info@willigriephan.de
>>>>>>>> Date: Sun, 6 Jul 2008 11:09:30 -0400
>>>>>>>> Subject: [croquet-dev] Croquet scene with physics engine and swarm
>>>>>>>>
>>>>>>> behaviour
>>>>>>>
>>>>>>>>
>>>>>>>> Hallo,
>>>>>>>>
>>>>>>>> I create 2 scene with Croquet and I make a video of it.
>>>>>>>> Vou can see the video at youTube
>>>>>>>>
>>>>>>> http://www.youtube.com/watch?v=D51Vx9giJVg
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> The video shows 2 scenes created with Croquet Smalltalk:
>>>>>>>> - A scene with falling domino stones using a physics engine for
>>>>>>>>
>>>>>>> calculating the
>>>>>>>
>>>>>>>> movement.
>>>>>>>> The physics engine is Open Dynamics Engine www.ode.org with the
>>>>>>>> Squeak
>>>>>>>>
>>>>>>> Driver
>>>>>>>
>>>>>>>> Open Dynamics Engine Construction Kit ODECo
>>>>>>>>
>>>>>>> languagegame.org:8080/ggame/15.
>>>>>>>
>>>>>>>> - A scene with a swarm in an aquarium with swarm behaviour. Swarm
>>>>>>>>
>>>>>>> algorithm is
>>>>>>>
>>>>>>>> described by Craig W. Reynolds
>>>>>>>>
>>>>>>> www.red3d.com/cwr/steer/gdc99/. Two members of a
>>>>>>>
>>>>>>>> swarm can pair, spawn to crate new members.
>>>>>>>>
>>>>>>>> The source code is still in progress but I look for a place to
>>>>>>>> publish it.
>>>>>>>>
>>>>>>>> By for now
>>>>>>>>
>>>>>>>> Willi Griephan
>>>>>>>>
>>>>>>>
>>>>>>> ________________________________
>>>>>>> Search for videos of Bollywood, Hollywood, Mollywood and every other
>>>>>>> wood,
>>>>>>> only on Live.com Try it now!
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>
>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

Andreas.Raab
askoh wrote:
> Does this mean that a physics engine or motion simulator written in 100%
> Squeak will run identically on different machines and OS's?

On top of Croquet, yes. Note that it's not entirely correct when David
says "Squeak has perfectly replicated float operations". The Squeak from
Squeak.org has some primitives which are *not* bit-identical. We have
replaced those in Croquet with primitives from fdlibm to produce
bit-identical results. You can find them by executing:

   SystemNavigation new browseAllCallsOn: #FloatMathPlugin.

Also, you can verify the behavior by running the CroquetVMTests which
include numerous tests for cross-platform bit-identical behavior.

Cheers,
   - Andreas

> Aik-Siong Koh
> http://ar-cad.com
>
>
>
> David Smith-36 wrote:
>> Squeak has perfectly replicated float operations. We discovered very early
>> on that certain operations could fail in edge conditions, so Andreas
>> worked
>> very hard to fix this.
>> I think it would be possible to do a reasonable ODE like system in
>> Croquet.
>> As noted, the major problem is that ODE does not work properly replicated.
>> Fixing it is non-trivial, though it would probably be welcomed by the rest
>> of the ODE community.
>>
>> DAS
>>
>>
>> On Wed, Aug 20, 2008 at 5:14 PM, David P. Reed <[hidden email]> wrote:
>>
>>> Hans - I suspect that one could make a replicable-float VM to run ODE in
>>> one of three ways:
>>>
>>>   1) Use a qemu or similar VM to run ODE and treat it as a black box
>>> peripheral.
>>>
>>>   2) Use a JIT-style language interpreter that is designed for replicable
>>> float computation.  Java is enough like C that one might port to a
>>> high-performance Java JIT implementation with the float operations
>>> specially
>>> tuned.
>>>
>>>   3) Compile the C implementation of ODE into Squeak code.   This of
>>> course
>>> assumes that the Squeak code uses bit-replicated float operations. (it's
>>> *supposed* to, but have we tested it?)
>>>
>>>
>>> Hans N Beck wrote:
>>>
>>>> Hi,
>>>>
>>>> Am 20.08.2008 um 21:41 schrieb Andreas Raab:
>>>>
>>>>  David P. Reed wrote:
>>>>>> No.  It would not be that hard to make ODE give the same results from
>>>>>> the same inputs on all machines.  However, it requires attention to
>>>>>> detail
>>>>>> in the following two areas:
>>>>>>  1) getting all floating point computations to be compiled into
>>>>>> equivalent calculations - a bunch of detailed work - perhaps choosing
>>>>>> a
>>>>>> compiler that does this "right" - rather than the vague rules that are
>>>>>> often
>>>>>> incorporated into C compilers by folks with no numerics background.
>>>>>> IEEE
>>>>>> 754 provides a basis, but the compiler must cooperate.
>>>>>>
>>>>> To be even more specific, it is necessary to a) disable all the
>>>>> "builtin"
>>>>> math functions (mostly trig) that are approximated by different series
>>>>> on
>>>>> different hardware and replace them by some deterministic library (like
>>>>> fdlibm) and b) disable fused multiply-add if you want this to compile
>>>>> using
>>>>> different compilers (because the choice of fused multiply-add is
>>>>> arbitrary
>>>>> by the compiler).
>>>>>
>>>>> Cheers,
>>>>>  - Andreas
>>>>>
>>>>>   2) making sure the PRNG (pseudo-random number generator) is seeded
>>>>>> consistently across all replicated instances of a computation.
>>>>>> Replicated
>>>>>> PRNG's are not hard to do.  PRNG's are completely deterministic.
>>>>>> Getting these "fixes" into ODE might be politically hard.  Not clear
>>>>>> the
>>>>>> ODE community cares about replicability.
>>>>>> But a volunteer could make this happen.
>>>>>>
>>>> well, now where I read it, I can see the problem. Too bad that there is
>>>> no
>>>> "Numeric VM" which is fast and make sure the replicability of numerics
>>>> independend from the compiler....
>>>>
>>>> Anyway, beside the law of replicabiltity I still belive it would be
>>>> interesting *for some applications* that the results would be replicable
>>>> only in a weak sense =  in a statistical sense.... a fascinating
>>>> perspective
>>>> (for me :-)
>>>>
>>>> So, thanks for explanation !
>>>>
>>>> Regards
>>>>
>>>> Hans
>>>>
>>>>
>>>>
>>>>>>  Regards
>>>>>>>
>>>>>>> Hans
>>>>>>>
>>>>>>> Am 20.08.2008 um 16:47 schrieb David Faught:
>>>>>>>
>>>>>>>  The work on integrating ODE into Croquet has mostly been stopped
>>>>>>>> because ODE gives different results on different machines, which
>>>>>>>> goes
>>>>>>>> against the basic "replicated computation" idea of collaboration in
>>>>>>>> Croquet.
>>>>>>>>
>>>>>>>> It's still kind of fun to play with ODE even though collaboration is
>>>>>>>> broken.  The work that Willi has done is probably the most recent
>>>>>>>> and
>>>>>>>> the sources referred to in his note below are a good place to start.
>>>>>>>>
>>>>>>>> Willi, you could contribute your work to the community by putting it
>>>>>>>> in the Monticello CroquetSource PublicContributions project
>>>>>>>> repository
>>>>>>>> at http://source.opencroquet.org/
>>>>>>>>
>>>>>>>> Dave
>>>>>>>>
>>>>>>>> On 8/18/08, shiva prasath <[hidden email]> wrote:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Hai Everyone,
>>>>>>>>>                  First I would like to express my appreciations to
>>>>>>>>> this
>>>>>>>>> enlightening group. We are quite new here, just catching momentum
>>>>>>>>> the
>>>>>>>>> past
>>>>>>>>> month or so and great to be in this idea sharing space stretching
>>>>>>>>> the
>>>>>>>>> boundaries of human imagination and revel in innovation!
>>>>>>>>>
>>>>>>>>>                    Willi, Can you please tell us how you integrate
>>>>>>>>> ODE to
>>>>>>>>> work with Croquet?  We have been working on getting ODE to work
>>>>>>>>> with
>>>>>>>>> it
>>>>>>>>> without much head way. I would appreciate everyone's help on this.
>>>>>>>>> Thanks!
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Shiva
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ________________________________
>>>>>>>>>
>>>>>>>>>> To: [hidden email]
>>>>>>>>>> From: [hidden email]
>>>>>>>>>> Date: Sun, 6 Jul 2008 11:09:30 -0400
>>>>>>>>>> Subject: [croquet-dev] Croquet scene with physics engine and swarm
>>>>>>>>>>
>>>>>>>>> behaviour
>>>>>>>>>
>>>>>>>>>> Hallo,
>>>>>>>>>>
>>>>>>>>>> I create 2 scene with Croquet and I make a video of it.
>>>>>>>>>> Vou can see the video at youTube
>>>>>>>>>>
>>>>>>>>> http://www.youtube.com/watch?v=D51Vx9giJVg
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> The video shows 2 scenes created with Croquet Smalltalk:
>>>>>>>>>> - A scene with falling domino stones using a physics engine for
>>>>>>>>>>
>>>>>>>>> calculating the
>>>>>>>>>
>>>>>>>>>> movement.
>>>>>>>>>> The physics engine is Open Dynamics Engine www.ode.org with the
>>>>>>>>>> Squeak
>>>>>>>>>>
>>>>>>>>> Driver
>>>>>>>>>
>>>>>>>>>> Open Dynamics Engine Construction Kit ODECo
>>>>>>>>>>
>>>>>>>>> languagegame.org:8080/ggame/15.
>>>>>>>>>
>>>>>>>>>> - A scene with a swarm in an aquarium with swarm behaviour. Swarm
>>>>>>>>>>
>>>>>>>>> algorithm is
>>>>>>>>>
>>>>>>>>>> described by Craig W. Reynolds
>>>>>>>>>>
>>>>>>>>> www.red3d.com/cwr/steer/gdc99/. Two members of a
>>>>>>>>>
>>>>>>>>>> swarm can pair, spawn to crate new members.
>>>>>>>>>>
>>>>>>>>>> The source code is still in progress but I look for a place to
>>>>>>>>>> publish it.
>>>>>>>>>>
>>>>>>>>>> By for now
>>>>>>>>>>
>>>>>>>>>> Willi Griephan
>>>>>>>>>>
>>>>>>>>> ________________________________
>>>>>>>>> Search for videos of Bollywood, Hollywood, Mollywood and every
>>>>>>>>> other
>>>>>>>>> wood,
>>>>>>>>> only on Live.com Try it now!
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine and swarm behaviour

David A Smith
In reply to this post by askoh
In the Croquet VM version, yes.

DAS

askoh wrote:

> Does this mean that a physics engine or motion simulator written in 100%
> Squeak will run identically on different machines and OS's?
>
> Aik-Siong Koh
> http://ar-cad.com
>
>
>
> David Smith-36 wrote:
>  
>> Squeak has perfectly replicated float operations. We discovered very early
>> on that certain operations could fail in edge conditions, so Andreas
>> worked
>> very hard to fix this.
>> I think it would be possible to do a reasonable ODE like system in
>> Croquet.
>> As noted, the major problem is that ODE does not work properly replicated.
>> Fixing it is non-trivial, though it would probably be welcomed by the rest
>> of the ODE community.
>>
>> DAS
>>
>>
>> On Wed, Aug 20, 2008 at 5:14 PM, David P. Reed <[hidden email]> wrote:
>>
>>    
>>> Hans - I suspect that one could make a replicable-float VM to run ODE in
>>> one of three ways:
>>>
>>>   1) Use a qemu or similar VM to run ODE and treat it as a black box
>>> peripheral.
>>>
>>>   2) Use a JIT-style language interpreter that is designed for replicable
>>> float computation.  Java is enough like C that one might port to a
>>> high-performance Java JIT implementation with the float operations
>>> specially
>>> tuned.
>>>
>>>   3) Compile the C implementation of ODE into Squeak code.   This of
>>> course
>>> assumes that the Squeak code uses bit-replicated float operations. (it's
>>> *supposed* to, but have we tested it?)
>>>
>>>
>>> Hans N Beck wrote:
>>>
>>>      
>>>> Hi,
>>>>
>>>> Am 20.08.2008 um 21:41 schrieb Andreas Raab:
>>>>
>>>>  David P. Reed wrote:
>>>>        
>>>>>> No.  It would not be that hard to make ODE give the same results from
>>>>>> the same inputs on all machines.  However, it requires attention to
>>>>>> detail
>>>>>> in the following two areas:
>>>>>>  1) getting all floating point computations to be compiled into
>>>>>> equivalent calculations - a bunch of detailed work - perhaps choosing
>>>>>> a
>>>>>> compiler that does this "right" - rather than the vague rules that are
>>>>>> often
>>>>>> incorporated into C compilers by folks with no numerics background.
>>>>>> IEEE
>>>>>> 754 provides a basis, but the compiler must cooperate.
>>>>>>
>>>>>>            
>>>>> To be even more specific, it is necessary to a) disable all the
>>>>> "builtin"
>>>>> math functions (mostly trig) that are approximated by different series
>>>>> on
>>>>> different hardware and replace them by some deterministic library (like
>>>>> fdlibm) and b) disable fused multiply-add if you want this to compile
>>>>> using
>>>>> different compilers (because the choice of fused multiply-add is
>>>>> arbitrary
>>>>> by the compiler).
>>>>>
>>>>> Cheers,
>>>>>  - Andreas
>>>>>
>>>>>   2) making sure the PRNG (pseudo-random number generator) is seeded
>>>>>          
>>>>>> consistently across all replicated instances of a computation.
>>>>>> Replicated
>>>>>> PRNG's are not hard to do.  PRNG's are completely deterministic.
>>>>>> Getting these "fixes" into ODE might be politically hard.  Not clear
>>>>>> the
>>>>>> ODE community cares about replicability.
>>>>>> But a volunteer could make this happen.
>>>>>>
>>>>>>            
>>>> well, now where I read it, I can see the problem. Too bad that there is
>>>> no
>>>> "Numeric VM" which is fast and make sure the replicability of numerics
>>>> independend from the compiler....
>>>>
>>>> Anyway, beside the law of replicabiltity I still belive it would be
>>>> interesting *for some applications* that the results would be replicable
>>>> only in a weak sense =  in a statistical sense.... a fascinating
>>>> perspective
>>>> (for me :-)
>>>>
>>>> So, thanks for explanation !
>>>>
>>>> Regards
>>>>
>>>> Hans
>>>>
>>>>
>>>>
>>>>        
>>>>>>  Regards
>>>>>>            
>>>>>>> Hans
>>>>>>>
>>>>>>> Am 20.08.2008 um 16:47 schrieb David Faught:
>>>>>>>
>>>>>>>  The work on integrating ODE into Croquet has mostly been stopped
>>>>>>>              
>>>>>>>> because ODE gives different results on different machines, which
>>>>>>>> goes
>>>>>>>> against the basic "replicated computation" idea of collaboration in
>>>>>>>> Croquet.
>>>>>>>>
>>>>>>>> It's still kind of fun to play with ODE even though collaboration is
>>>>>>>> broken.  The work that Willi has done is probably the most recent
>>>>>>>> and
>>>>>>>> the sources referred to in his note below are a good place to start.
>>>>>>>>
>>>>>>>> Willi, you could contribute your work to the community by putting it
>>>>>>>> in the Monticello CroquetSource PublicContributions project
>>>>>>>> repository
>>>>>>>> at http://source.opencroquet.org/
>>>>>>>>
>>>>>>>> Dave
>>>>>>>>
>>>>>>>> On 8/18/08, shiva prasath <[hidden email]> wrote:
>>>>>>>>
>>>>>>>>                
>>>>>>>>> Hai Everyone,
>>>>>>>>>                  First I would like to express my appreciations to
>>>>>>>>> this
>>>>>>>>> enlightening group. We are quite new here, just catching momentum
>>>>>>>>> the
>>>>>>>>> past
>>>>>>>>> month or so and great to be in this idea sharing space stretching
>>>>>>>>> the
>>>>>>>>> boundaries of human imagination and revel in innovation!
>>>>>>>>>
>>>>>>>>>                    Willi, Can you please tell us how you integrate
>>>>>>>>> ODE to
>>>>>>>>> work with Croquet?  We have been working on getting ODE to work
>>>>>>>>> with
>>>>>>>>> it
>>>>>>>>> without much head way. I would appreciate everyone's help on this.
>>>>>>>>> Thanks!
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Shiva
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ________________________________
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>> To: [hidden email]
>>>>>>>>>> From: [hidden email]
>>>>>>>>>> Date: Sun, 6 Jul 2008 11:09:30 -0400
>>>>>>>>>> Subject: [croquet-dev] Croquet scene with physics engine and swarm
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>> behaviour
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>> Hallo,
>>>>>>>>>>
>>>>>>>>>> I create 2 scene with Croquet and I make a video of it.
>>>>>>>>>> Vou can see the video at youTube
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>> http://www.youtube.com/watch?v=D51Vx9giJVg
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>> The video shows 2 scenes created with Croquet Smalltalk:
>>>>>>>>>> - A scene with falling domino stones using a physics engine for
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>> calculating the
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>> movement.
>>>>>>>>>> The physics engine is Open Dynamics Engine www.ode.org with the
>>>>>>>>>> Squeak
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>> Driver
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>> Open Dynamics Engine Construction Kit ODECo
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>> languagegame.org:8080/ggame/15.
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>> - A scene with a swarm in an aquarium with swarm behaviour. Swarm
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>> algorithm is
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>> described by Craig W. Reynolds
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>> www.red3d.com/cwr/steer/gdc99/. Two members of a
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>>> swarm can pair, spawn to crate new members.
>>>>>>>>>>
>>>>>>>>>> The source code is still in progress but I look for a place to
>>>>>>>>>> publish it.
>>>>>>>>>>
>>>>>>>>>> By for now
>>>>>>>>>>
>>>>>>>>>> Willi Griephan
>>>>>>>>>>
>>>>>>>>>>                    
>>>>>>>>> ________________________________
>>>>>>>>> Search for videos of Bollywood, Hollywood, Mollywood and every
>>>>>>>>> other
>>>>>>>>> wood,
>>>>>>>>> only on Live.com Try it now!
>>>>>>>>>
>>>>>>>>>                  
>>>>>>>>                
>>>>>>>              
>>>>        
>>    
>
>  

Reply | Threaded
Open this post in threaded view
|

Re: Croquet scene with physics engine other than ode

charlesjoe
In reply to this post by David Faught

hello,


Here i saw one c++ library called cal3D,with the help of this,
we can export skeleton,mesh,object and animation of the object
 from some animation software(3dmax , milkshape3D) to this library,
so it  is  easy way to make  every thing in animation software and export
 it to this library and from that library we connect  croquet for make new
application, i thing its helpful for physics application have any idea
help us


charles joe
12