TGE-ODE integration 2
by Kage · in Torque Game Engine · 03/31/2005 (12:58 pm) · 154 replies
This is the second part of the ODE-TGE integration. It's still a "work in progress", but I figured I can update the progress whenever major enhancements are made. Demo for this has been removed.
Enhancements/Corrections
-multiplayer option enabled.
-interior object collision is constructed using abstractpolys from vehiclecollision brushes
-corrected the exception problem in the 1st version
-corrected the sign mesh object geom/body labelling, which was causing erroneous behavior
Features (same as before but I'll outline it again)
-terrain collision (height map, default terrain file)
-trimesh collision (.dts files)
-box and sphere collision (.dts files)
-infinite plane collision (.dts file, see the blue strip in the mission)
-interior collision (.dif file)
-ode vehicle (.dts file)
-ragdoll (.dts file, but yet applied to player.cc)
Required Work
-more work on the interpolation
-tie in ragdoll to player.cc
-correct the player response to ode
-verify TGE's default collision notification and damage process
-verify sounds
Let me know what you think.
Contents of the .rar file
-ode.zip & common.zip (leave them as they are)
-dll files
-exe file
You only need to uncompress the .rar file to a folder to play the demo.
edit: added the .rar contents
Enhancements/Corrections
-multiplayer option enabled.
-interior object collision is constructed using abstractpolys from vehiclecollision brushes
-corrected the exception problem in the 1st version
-corrected the sign mesh object geom/body labelling, which was causing erroneous behavior
Features (same as before but I'll outline it again)
-terrain collision (height map, default terrain file)
-trimesh collision (.dts files)
-box and sphere collision (.dts files)
-infinite plane collision (.dts file, see the blue strip in the mission)
-interior collision (.dif file)
-ode vehicle (.dts file)
-ragdoll (.dts file, but yet applied to player.cc)
Required Work
-more work on the interpolation
-tie in ragdoll to player.cc
-correct the player response to ode
-verify TGE's default collision notification and damage process
-verify sounds
Let me know what you think.
Contents of the .rar file
-ode.zip & common.zip (leave them as they are)
-dll files
-exe file
You only need to uncompress the .rar file to a folder to play the demo.
edit: added the .rar contents
About the author
Professional gameplay programmer and have worked in the industry since 2004. Specialized in: animation system, player control, weapon system, AI, combat, camera, physics - ODE/Havok, optimization, and networking.
#2
03/31/2005 (1:05 pm)
Didn't download the file yet, but it all sounds like a cool and useful project
#3
03/31/2005 (1:13 pm)
Ummm what is ODE?
#4
Thanks for doing this!! I had a problem unzipping it, though, the internal zips (ode.zip) inside the rar demanded a password. Is that supposed to happen? (used winRar 3.50 beta evaluation copy, and winzip 8.0)
03/31/2005 (1:44 pm)
@Akio: Thanks for doing this!! I had a problem unzipping it, though, the internal zips (ode.zip) inside the rar demanded a password. Is that supposed to happen? (used winRar 3.50 beta evaluation copy, and winzip 8.0)
#5
03/31/2005 (1:57 pm)
@Dreamer: ODE == Open Dynamics Engine, a free open-source rigid body physics engine project led by Russell Smith. Extreme coolness.
#6
-ode.zip & common.zip (leave them as they are)
-dll files
-exe file
You only need to uncompress the .rar file to a folder to play the demo.
03/31/2005 (2:04 pm)
Contents of the .rar file:-ode.zip & common.zip (leave them as they are)
-dll files
-exe file
You only need to uncompress the .rar file to a folder to play the demo.
#7
Maybe a smoother engine sound but that's pretty minor at this point.
Looking forward to the next versions.
03/31/2005 (3:25 pm)
The buggy response is very nice! Both collisions and suspension. Maybe a smoother engine sound but that's pretty minor at this point.
Looking forward to the next versions.
#8
03/31/2005 (3:37 pm)
Anyone want to setup a server to test this out?
#9
Was that you Tom as fresh meat?
Anyhow, seemed quite smooth.
Sometimes the other car's suspension would stick in the 'up' position for awhile.
And twice, collision reactions slightly preceded a visible collision.
03/31/2005 (3:51 pm)
I checked 'host multiplayer' and started... anyone see it?Was that you Tom as fresh meat?
Anyhow, seemed quite smooth.
Sometimes the other car's suspension would stick in the 'up' position for awhile.
And twice, collision reactions slightly preceded a visible collision.
#10
Player to moving vehicle collisions seem to not work at all, yet i can stand on the vehicle if the other player sits still.
No velocity from the vehile i'm standing on is transfered to me, so i just slip off when it moves.
The 3 hinged cubes exhibited alot of shake on my side.
At times the suspension of Sam's vehicle would be stuck in the up position with the wheels off the ground.
Still... it shows some impressive progress. Good work Akio!
03/31/2005 (4:13 pm)
Ok. I jumped in with Sam3d (yep that was me!) for a bit (i was the remote client). It works, but as expected it has alot of glitches. Player to moving vehicle collisions seem to not work at all, yet i can stand on the vehicle if the other player sits still.
No velocity from the vehile i'm standing on is transfered to me, so i just slip off when it moves.
The 3 hinged cubes exhibited alot of shake on my side.
At times the suspension of Sam's vehicle would be stuck in the up position with the wheels off the ground.
Still... it shows some impressive progress. Good work Akio!
#11
Hey, thanks for the tid bit of info. Yes, there are a lot of glitches. To be honest with you, I didn't think multiplayer mode was even possible with TGE-ODE mix. But as you can see, it is possible. It's matter of fixing slew of bugs that I introduced during the integration.
It can only get better from this point forward:)
03/31/2005 (4:28 pm)
Tom,Hey, thanks for the tid bit of info. Yes, there are a lot of glitches. To be honest with you, I didn't think multiplayer mode was even possible with TGE-ODE mix. But as you can see, it is possible. It's matter of fixing slew of bugs that I introduced during the integration.
It can only get better from this point forward:)
#12
Looks good!
Most of what I see in terms of bugs are what I would call "typical ODE" issues -- are you working with a fork or the straight ODE download? I haven't done much to my copy of ODE but I understand there have been all kinds of patches etc. submitted and not integrated, to the point that people on the ODE list are talking about creating an "unstable version" with all the half-tested fixes implemented. Might be worth watching that group to see where it goes.
Great job with integrating it, though! Yay!
03/31/2005 (4:55 pm)
[Chris gets it now, :P -- that's pretty cool having all your files included as zips]Looks good!
Most of what I see in terms of bugs are what I would call "typical ODE" issues -- are you working with a fork or the straight ODE download? I haven't done much to my copy of ODE but I understand there have been all kinds of patches etc. submitted and not integrated, to the point that people on the ODE list are talking about creating an "unstable version" with all the half-tested fixes implemented. Might be worth watching that group to see where it goes.
Great job with integrating it, though! Yay!
#13
Running my own game worked well. One thing I noticed was flight choppiness after sending the beach ball sailing. It would skip ahead or stall. When I'm hosting my own game, is it running two simulations and trying to get them to play nicely?
Also, I tried to join a server and it crashed.
03/31/2005 (5:01 pm)
The buggy handles very well this time!Running my own game worked well. One thing I noticed was flight choppiness after sending the beach ball sailing. It would skip ahead or stall. When I'm hosting my own game, is it running two simulations and trying to get them to play nicely?
Also, I tried to join a server and it crashed.
#14
03/31/2005 (5:03 pm)
This integration of ODE would also serve as a great starting point to integrating other 3rd-party physics engines such as Newton or Novadex which are arguably more stable than ODE.
#15
@Dylan - Yes, there are some quirks in the app. I'll try it on my end again and see if I can find what's going on with the server lock up issue. Yes, the ODE is used on both ends. Without that, all physical things just doesn't work well:(
@Tom - It's probably possible with Newton's physics but Novadex might be too costly...:( I believe they use ODE as well, but I couldn't afford them and the reason I decided to do it on my own.
03/31/2005 (5:29 pm)
@Chris - My ODE lib is heavily modded, but I'll keep track of the changes at ODE community. Thanks:)@Dylan - Yes, there are some quirks in the app. I'll try it on my end again and see if I can find what's going on with the server lock up issue. Yes, the ODE is used on both ends. Without that, all physical things just doesn't work well:(
@Tom - It's probably possible with Newton's physics but Novadex might be too costly...:( I believe they use ODE as well, but I couldn't afford them and the reason I decided to do it on my own.
#16
I raced the buggy toward the decks and the buggy got hung up. Not straight at it but doing the old ride on two-wheels tilting thing. Now this didnt crash the demo or anthing but literally when my wheel got a bit of traction I would try to move off the deck but as soon as the wheels didnt touch dirt I would just sit there reving my engine. :) Real yes, but maybe a bit too real I had to stop and restart again heh. :)
Running it on a bare-nekkid PIII 800mhz, GeoForce 5200, Windows XP pro. DirectX 9
03/31/2005 (5:36 pm)
Only thing that got my attention was something similiar to what Tom said in his post.I raced the buggy toward the decks and the buggy got hung up. Not straight at it but doing the old ride on two-wheels tilting thing. Now this didnt crash the demo or anthing but literally when my wheel got a bit of traction I would try to move off the deck but as soon as the wheels didnt touch dirt I would just sit there reving my engine. :) Real yes, but maybe a bit too real I had to stop and restart again heh. :)
Running it on a bare-nekkid PIII 800mhz, GeoForce 5200, Windows XP pro. DirectX 9
#17
04/01/2005 (12:01 am)
.
#18
@Thc-03 - great:)
04/01/2005 (10:33 am)
@Johnny - Yes, that happens:) If the vehicle's chassy gets on a block and the wheels don't touch, there is no way to get off of it. I'll have to add a jump key to get out of these situations in the next release.@Thc-03 - great:)
#19
04/02/2005 (1:29 am)
.
#20
Yes, all those things will be addressed, although, I didn't think there was a problem in radius damage computation which applys force to the objects. I thought they were behaving correctly. For example, when I shoot at the terrain in front of the ball, it propells it backwards, shoot to the right and it propells to the left, etc.. I'll take a look at it again.
Thanks for your enthusiasm:)
04/02/2005 (8:06 am)
Thc-03,Yes, all those things will be addressed, although, I didn't think there was a problem in radius damage computation which applys force to the objects. I thought they were behaving correctly. For example, when I shoot at the terrain in front of the ball, it propells it backwards, shoot to the right and it propells to the left, etc.. I'll take a look at it again.
Thanks for your enthusiasm:)
Torque 3D Owner Kage