Game Development Community

Replace Torques physics with ODE?

by Luke Jones · in Torque Game Engine · 04/28/2004 (7:53 pm) · 11 replies

Im quite aware that this would(will) be a fairly big challenge.

But can it be done? (probably, given time right?)
What exactly will be required? (apart from compiler and ODE)
Where would the best place be to start?
And collisions, would torques be best or would it be worth it to change it all to ODE?

#1
04/28/2004 (7:55 pm)
Some one has done this :D heres a link http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=5024
#2
04/28/2004 (10:10 pm)
Seen it and played with it...
But Im talking about replacing torques whole physics model with an ODE implementation.
#3
04/30/2004 (10:30 am)
There is no whole physics model in Torque. :)

Each object does its own physics and collision detection.

You would want to stick with Torque's collisions most likely. Torque has a highly optimized GJK-based incremental convex hull collision system; ODE has some fast checks for certain primitives.
#4
04/30/2004 (3:01 pm)
Oh...

Where would I get some more info on the physics in the engine?
From you, or is there a good document in the docs somewhere, I couldnt see anything imediatly obvious.

Do you know what the state of ODE's trimesh collision is like now? Wasnt very clear in the mailing lists, seems it cant do trimesh-trimesh, but can do trimesh-everythingelse.

Also, have you seen Newton Game Dynamics? (http://www.physicsengine.com)
Seems quite interesting, even seems better than ODE.
#5
04/30/2004 (10:59 pm)
Mostly just going to need to study how the engine's simulation architecture works. The core engine reference has some good info on this.

I don't trust OSE's trimesh collision. Last few times I've messed with it it hasn't worked well at all. I would just use Torque's existing collision detection framework.

I have seen it, I seem to recall some licensing issues.
#6
04/30/2004 (11:11 pm)
Yeah, trimesh was not working properly last time I used it. Sometimes object would fall through, others they wouldnt, then they might get stuck. And without trimesh-trimesh collisions, you are stuck with primitives such as boxes and spheres (and combintations of them) for anything actually dynamic (as the terrain/statics would use trimesh).

I think that just using ODE for specific dynamic items (such as Pascal's ODEItem) and using Torque's collision detection is a better way to go, rather than changing everything over. Since Pascal has done most of the groundwork, why not just extend his ODEItem to any other type of object you want?
#7
04/30/2004 (11:42 pm)
Hmmm.. guess I could.

Would a solution to the player not moving on an ODEItem be to insert the player into the ODE world? Just a thought.
#8
05/01/2004 (8:30 am)
If you want to use trimesh in ODE, it's very important to compile it in single (float) precision mode !!
Also, always make sure that the ODE project and OPCODE are both using the multithreaded runtime dlls (and so change TGE to it, if that's not already done in HEAD)
ie this has only been corrected in the VC6 project files in ODE CVS very recently.
When using ODE, kinda like TGE, always use the latest HEAD from CVS
A lot of colliders are being worked on, thanks to a gift from Alan Ledavac at Croteam (someone is porting a bunch of the Serious Sam 2 engine colliders to ODE)
Some of you might be interested to know that the soon to be released version of Softimage XSI includes ODE Integration :)
What else ? Oh, subscribe to the ODE mailing list, or search through it with Google here, or by restricting your google search to the q12.org site
#9
05/01/2004 (4:23 pm)
Thanks Nic, I've been haunting the ODE mailing list for a bit, it was pretty interesting to know that Croteam had given some collider code to the project.
I've learnt a bit more about ODE and tried a few things, but now I'm trying out Newton Game Dynamics, which seems very good.
Just got past the integration, compile and world setup.
#10
08/28/2004 (2:37 pm)
Re:

"I think that just using ODE for specific dynamic items (such as Pascal's ODEItem) and using Torque's collision detection is a better way to go, rather than changing everything over. Since Pascal has done most of the groundwork, why not just extend his ODEItem to any other type of object you want?"

I would like to recompile the latest version of ODE (3.5) for use with TGE, is there a list of the changes that Pascal made to the then current version of ODE which allowed it to use a different collision system. If this has already done can I have the updated files.

regards

Emmanuel
{ktg)
#11
08/28/2004 (2:56 pm)
I've played one of the Newton demos; the rag-doll is nice. It would be very cool to get it in Torque.