[Bf-committers] Gameengine - ODE and Python

Kester Maddock bf-committers@blender.org
Mon, 28 Jul 2003 23:01:55 +1200


On Mon, 28 Jul 2003 8:41, Alexander Ewering wrote:
> Hi Kester,
>
> intrr here. It's great to see someone finally gets really involved
> with the game engine.
>
> I never bothered to look into Blender's game engine features too
> much, until this weekend. And I must say, I am quite impressed
> with it. Managed to do a little world with quite complex stuff
> I've never seen so far in commercial games, so I guess this
> gameengine is quite promising, and I'm willing to help to bring
> it back and improve it, AS FAR AS I CAN, of course :)
>
> I don't have _any_ C++ skills, though I do have some knowledge
> (see audio-sequence-stuff) in C.
>
> > weekend.  This is what I accomplished:
>
> I suppose you are working on a local 2.28 tree?
2.28 CVS Linux Autoconf.

>
> > Code to trigger the sensors that depend on collision detection: ray,
> > touch, collision and near.
>
> Great. So they fully work again?
Well they are triggering like they should.  There is probably some subtle bugs 
there, and some differences with the original game engine

>
> > Sound.  Sound plays on Linux.  intrr has disabled the game engine sound -
> > my sound driver will allow /dev/dsp to be opened more than once.
>
> Yes, I had to disable it for that reason. Another possibility
> would be to have the gameengine redirect its output to the SDL
> mixing buffer.
>
> > TODO:
> > 1. radar: ode has no cone primitive.  Ray: only works along the +z axis. 
> > I'm going to look at the ODE transfrom class and see if that helps.  If
> > that works, radar could be implemented by firing rays in a randomly
> > within the cone.
>
> I don't know what the Radar sensor does.

Radar detects objects in a cone in front of your object. ie it gives your 
monsters vision.  X-Ray vision. 

It looks like the transform class will do the trick - I can implement radar in 
one of two ways:  write a cone class, or wave a ray around randomly.


>
> > 2. Use ODE trimesh support.  Only box and sphere bounding boxes are used.
>
> Box? That hasn't been in 2.25 as far as I know. I only know
> the usual "sphere" bounding box. So you added that?
No - I'm using what the original ODE contributer did, which is get the bounds 
volume from edit buttons.  You can use sphere, box, cylinder, cone or 
polyheder.  Only sphere and box are implemented.

>
> > 3. Cleanup memory management. Not doing that yet! :(
>
> Hmhmhmmmmmmm... :)
>
> > 4. Write an SDL audio out.
>
> Exactly - This is something I could look into I think.
Actually, that would be a good place to work on given your knowledge of the 
SDL sound implementation. Duplicate the intern/SoundSystem/openal stuff and
convert to SDL.


>
> > 5. Wrap ODE in Python for Blender - cloth simulations etc.
>
> Too advanced for me :)
>
> > The physics is a bit different to 2.24 - less game physics, more real
> > physics. eg a sphere above an inclined plane will drop and roll down
> > instead of bouncing down.
>
> What exactly do you mean? That depends on the material types.
> A real sphere _will_ bounce (and not roll) down an inclined plane
> if the materials are like that. So are you saying that ODE
> doesn't support elastic materials, or that you didn't implement
> it yet?

Ah my fault.  I found something that looked funky and turned it on. :)
>
> Regards
>
> | alexander ewering           instinctive new media
> | ae@instinctive.de       http://www.instinctive.de
> |
> | fon: +49-2393-220558         fax: +49-2393-220559
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers@blender.org
> http://www.blender.org/mailman/listinfo/bf-committers


Kester