Game Development Community

Open Dynamics Engine

by Grant McNeil · in Technical Issues · 04/01/2003 (12:06 pm) · 14 replies

Hello GarageGames Community,

I have recently taken an interest in the Open Dynamics Engine (or ODE) that can be seen at opende.sourceforge.net/. It's a physics SDK, with 'plug and play' libraries which makes it good to go for any project.

One small problem is that I can't seem to get any of the examples working, because its made for a Unix/Linux platform *(using make and gcc)*. one of the doc's says it has support for MSVC6, but I cant get any of the examples to compile under MSVC.

So, if anyone who has experience with the ODE or anyone could just zip or tell me how to get simple VC workspace going with the ODE, I would be grateful.

Thanks,
--Grant

p.s.
If you've never seen the ODE, I suggest you take a look at the site, its really well done and for a programmer its worth checking out.

#1
04/01/2003 (9:59 pm)
Hello Grant.

I looked at it and I'm now officially curious.

I'll try to give it a go in the next few days (maybe next week ... so busy with my day job).

Alex
#2
04/02/2003 (12:30 am)
Theres been a few threads about it in the past(try to search the forums for ODE, you'll find it). I don't think anyone has had much success implementing ODE with Torque. Something about the collision detection or prediction code going haywire in multiplayer.
#3
04/02/2003 (12:41 am)
Physics engines are an absolute pig to get running in multiplayer. Something i've seen Unreal 2003's lateness attributed too more than a few times. However it's probably not a bad idea for a single player game, Deux Ex 2 seems to be using it extensivly and is far better off for it.

I added ODE to my own code and it's really very impressive, and has an excellent mailing list. It's still making impressive leaps in stabilty / performance / features etc. really one to watch.

As a side note if you try using it with DirectX make sure you invert your world matrices since the co-ordinate system is reversed.
#4
04/02/2003 (1:02 am)
I must say this is an impressive physics engine.

The buggy demo and "push the guy down stairs" games are extremely funny .

Gareth. Any chance of possible resource on getting this to work with torque ?
#5
04/02/2003 (4:33 am)
I don't know Torque well enough to do this myself (my own code is my own engine). However I do at least know ODE fairly well now since I had to write a c# wrapper for it. So if anyone wants to give it a go then I can try and help.

However I doubt it's actually possible to have it in any useful state for a multiplayer game... with the possible exception of client side death sequences a la Unreal.
#6
04/02/2003 (11:16 am)
I dont want it for multiplayer, I dont need it for a game or engine, I just want to play around with it and my OpenGL basecode. You know, test things out, make small demo's and stuff. can you make me a MSVC6 workspace (dsw) example, zip it and upload it somwhere? it would be great if you could.

Or even just give me instructions on how to compile it using MSVC, that would be just as good. their site docs didn't help much.

thanks either way,
--Grant
#7
04/03/2003 (1:37 am)
Their doc's aren't to great, but the mail list archive is rather good. There is a MSVC7 workspace in the CVS at the moment, and I just used that. Failing that they have a good "make" process for building it, and you can just link to the resultant dll. I really don't think I even have VC6 anymore, I try to use c# with Managed DirectX for everything now. A fair few of the projects listed on their pages are open source and are a good guild.

Plus I can barely understand my 'demos' so I doubt they'd be of much use to anyone. But they also include a few themselves with a small opengl engine with them. These would probably be more useful to you.
#8
04/03/2003 (8:58 am)
Last year Russ Smith, the primary author of the ODE, was a speaker at our IndieGamesCon. The ODE is a very impressive technology, and it would be a great addition to be able to use it with Torque. Tim Gift has looked into it, and feels it is very doable, but it will have issues in multiplayer. That said, there are many games that are not multiplayer.

The ODE is so awesome! The little car demo with the ramps and balls is almost a shippable game.

Jeff Tunnell GG
#9
04/03/2003 (9:09 am)
Why exactly is it a pain to get working in MP?
#10
04/03/2003 (9:53 am)
I dont like using anything unless im able to write it myself. Actually, i've made it kind of a point. But, considering I wont be able to code these libraries myself until im atleast second year university, I'm sure theres nothing wrong with playing around with it a bit, make some small demos :).
#11
04/04/2003 (12:49 am)
Bryan, despite the fact that everyone is pretty convinced that ODE is deterministic (err feed it the same values you get the same results), multiplayer games have a problem with latency and dropped packets etc.

So if I had a 100% reliable connection then it's an awesome way of saving bandwidth. E.g. apply force X to ball and let it be, rather than it's location every refresh. However when I lose the the packet that says apply force X then the ball never moves. And there's no easy / quick way to set it's position velocity after the fact. Which also demonstrates the problem with the latency, which produces inconsistent timesteps and inconsistent data. E.g. Clients asks server where ball X is, 200ms later it has the reply... but that isn't where the ball is anymore. So player X shoots the ball in his location and since the server can't respond retrospectivly it declares a miss and everyone goes home grumpy ;)

Well I might be way off, but that's what it looks like to me :) None of which is really a problem in single player games.

I think a lot of people were very impressed with ODE at the IGC, and it would be a fantastic addition to torque. The latest improvements are very exciting (and there's heightfield code appearing now as well). There are some situtations that can get very expensive to solve (but there's a new iterative solver that's been measured at a few 1000% speed increases in some situations) but considering it's version 0.35 at the moment it's of awesome quality.

I'm kinda suprised GG didn't use it for Marble Blast... maybe Marble Blast 2 :)
#12
04/04/2003 (5:29 am)
I also took a look at that "Fast Car" dynamics engine. Again probably usable.

ODE looks great tho. If i were doing a single player game requiring a physics engine, I'd be in like flynn! (erm.. for you americans that means quickly).

Anyway.. erm.. I'm sure I had a point.

Phil.
#13
04/04/2003 (7:01 am)
Maybe ODE could provide rag doll physics on the client side, if nothing else. Isn't that what every game is supposed to have these days? :)
#14
04/04/2003 (7:07 am)
@Phil - erm.. for you americans that means quickly

Considering the "popular" useage of "in like flynn" originated from an american movie star we know what it means. . . at least those of us over 30 anyway :)

so I am not really sure why you think americans would not know what this means, both the origins are supposedly american.

Anyway, sorta on topic, does anyone have any first hand knowledge of Havoc?