by date
Plan for Gary "ChunkyKs" Briggs
Plan for Gary "ChunkyKs" Briggs
| Name: | Gary "ChunkyKs" Briggs | |
|---|---|---|
| Date Posted: | May 19, 2005 | |
| Rating: | Not Rated | |
| Public: | YES | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Gary "ChunkyKs" Briggs |
Blog post
ODE, Torque, And I got source, baby.
Well, a bunch of times, people have tried to get ODE in torque, and either apparently succeeded then dropped out of the ether [Akio, Drew], or succeeded but not quite as effectively as they might have done [ODEItem].
What I *haven't* done:
1) Done anything clever with ODE regarding server<->client witchcraft
2) Done anything with this with TGE beyond compiling it and verifiying that it works in script
3) Finished [no contact joints yet. I know, and it's next on my list]
What I *have* done:
1) Torquily wrapped the API from ODE so it's available in torquescript
2) Written a T2D app that shows that some of it even works
In my ideal world, someone else will release their version of stuff [*cough* Akio *cough*], which gets ODE physics in the engine working client<->server, and then this can be used so that all the physics is available from script.
Things you can use this for:
1) Nothing yet
2) Clientside ragdolls
3) Anything T2D, since no-one knows that you're not doing client<->server stuff.
So. Now we all understand that this, right now, is essentially useless:
EDIT: Removed source. Duh, not for public consumption. If you're allowed, it's here.
Extract that in your engine dir, and add it to your build [compiles and links with both T2D and TGE]. Don't forget to add ODE to your linking flags. If you have problems with this step, feel free to post them in the comments for this .plan.
Untar the "chain" demo in your T2D/examples dir, and run T2D with "-game chain". Read the README.chain for instructions
So, uhm. Because you just *gotta* have an image in your .plan, here's the T2D demo. Be warned, it really ain't much to look at:
.
Blah. As I said, it's mostly useless right now, but I'm working on it.
Gary (-;
What I *haven't* done:
1) Done anything clever with ODE regarding server<->client witchcraft
2) Done anything with this with TGE beyond compiling it and verifiying that it works in script
3) Finished [no contact joints yet. I know, and it's next on my list]
What I *have* done:
1) Torquily wrapped the API from ODE so it's available in torquescript
2) Written a T2D app that shows that some of it even works
In my ideal world, someone else will release their version of stuff [*cough* Akio *cough*], which gets ODE physics in the engine working client<->server, and then this can be used so that all the physics is available from script.
Things you can use this for:
1) Nothing yet
2) Clientside ragdolls
3) Anything T2D, since no-one knows that you're not doing client<->server stuff.
So. Now we all understand that this, right now, is essentially useless:
EDIT: Removed source. Duh, not for public consumption. If you're allowed, it's here.
Extract that in your engine dir, and add it to your build [compiles and links with both T2D and TGE]. Don't forget to add ODE to your linking flags. If you have problems with this step, feel free to post them in the comments for this .plan.
Untar the "chain" demo in your T2D/examples dir, and run T2D with "-game chain". Read the README.chain for instructions
So, uhm. Because you just *gotta* have an image in your .plan, here's the T2D demo. Be warned, it really ain't much to look at:
.Blah. As I said, it's mostly useless right now, but I'm working on it.
Gary (-;
Recent Blog Posts
| List: | 05/11/07 - ODEScript... Juggling 04/25/07 - More ODEScript Goodies 04/19/07 - ODEScript Demo 08/30/06 - Juggling Again! 08/08/06 - ODE Script - Not dead yet 07/16/05 - Plan for Gary "ChunkyKs" Briggs 05/24/05 - Plan for Gary "ChunkyKs" Briggs 05/20/05 - Plan for Gary "ChunkyKs" Briggs |
|---|
Submit your own resources!| Robert Pierce (May 19, 2005 at 00:53 GMT) |
We are all saved, :).
Robert
| Gary "ChunkyKs" Briggs (May 19, 2005 at 01:12 GMT) |
Gary (-;
| Ben Garney (May 19, 2005 at 05:14 GMT) |
| Drew Parker (May 19, 2005 at 06:02 GMT) |
GG is awesome. The GG community is awesome. It's not often you see people helping each other out so much. GG has cool tech, and they empower indies. But I think the reason they are really successful is because they have good business ethics, and do right by people. They don't worship the dollar, they care about their product, and care about their customers. That is why I support them, and spread the word, even if I can't post resources currently. It's hard to find that kind of company, and that kind of community these days, when a lot of people are unfortunately just out for a dollar. So I respect GG and this community for those reasons.
edit: There's nothing wrong with making a dollor or a living, of course. And GG sacrifices a lot, and could charge a whole lot more. The point I'm making is, when people are so obsessed with money and selfishness, that they're willing to do anything and step all over people or stab them in the back, then that's obviously not good. And a lot of corporations are headed that way.
On a related-side note, check out today's news: Eutelsat and NTDTV Negotiations Approach Uncertain Climax. NTDTV, the only not-CCP-controlled Chinese TV station, which broke the SARS story, Article 23 in Hong Kong, and the persecution of Falun Gong in China, might get booted off the air permanently, because some big-name satellite company is just too greedy. It wants Beijing's big bucks so bad, and the CCP doesn't want NTDTV exposing all their dirt, that Eutelsat is willing to turn on every principle - even it's own company principles, including freedom of speech. That is the awful proof of total corporate ethical corruption.
So GG is like a shining star in the world of business to me. So I feel happy and fortunate to be here. Now back to tech talk.
/edit
Actually, if anybody can get ODE working well with TGE, and contributes that back, free or not, that helps everybody out. That includes the team I'm on. So I think it's a good thing. Basically, what I can say is already public: We got stuck on a small object problem. I think our objects were too small for TGE's GJK collision algorithm, leading to rounding or precision errors, causing bad contact points to be given to ODE. I don't know enough about collision to solve that. But, you could try the ODE library default collision. We could never get ODE *really* stable in TGE. Rocketbowl guys did a nice job, though. There's tons of goodies on the ODE mailing list too, like island disabling by the BloodRayne team.
That's really great of you to contribute your hard work back to the community! If there arises an opportunity for me to contribute more, I'll do it.
One note already posted by someone else in the ODEItem resource: In terms of networking, ODEItem isn't doing any client-side prediction, that's why objects get clunky at about 5 moving at once. You have to fix that to get it going.
Keep us posted on your work! I wish you success,
- Drew
Edited on May 19, 2005 14:16 GMT
| James Laker (BurNinG) (May 19, 2005 at 06:23 GMT) |
Unfortunately Akio never said he'll release it free... :(
| Jorgen Ewelonn (May 19, 2005 at 15:41 GMT) |
Way to go Gary, nice to see success in this area !
| Chris Labombard (May 19, 2005 at 17:07 GMT) |
| Gary "ChunkyKs" Briggs (May 19, 2005 at 19:08 GMT) |
As for small objects, I tend to try to scale everything in ODE to between 0 and 1, or 0 and ten. That's one way to stop ODE exploding, IME. One of my projects uses ODE to do inverse kinematics while my juggling stuff juggles. I end up having 3 distinct spaces that I have to keep track of [jugglemaster, ODE, {output}] and translate between them. You could also use a hybrid solution, and just decide that if an object is smaller than {X} units across, then use ODE/OPCODE to do collision. For bonus points, that would even save you a lot of the creating-contact-joint work yourself. There are probably other solutions to the smallish object problem, but I'm sure it's not insurmountable.
Quote:
In terms of networking, ODEItem isn't doing any client-side prediction, that's why objects get clunky at about 5 moving at once. You have to fix that to get it going.
See, that right there is the witchcraft I'm prepared to lay down cash for. I could *easily* use my resource above, do all physics server-side, and just copy objects positions and rotations across the network. But that sucks. Whenever you see me refer to ODE<->Torque magic, that's what I'm talking about. Keeping ODE's state non-broken seems to be a difficult problem.
@Burning: I never expected Akio to release it for free... What I was hoping for in that sentence was the "release" part, not the "free" part. I'd be prepared to lay down 30 to fifty bucks for full ODE<->Torque non-broken network stuff, depending on what had gone into it.
@Jorgen: Thanks!
@Ben: Yeah, me too. It's like the rest of torque; make everything available to script, and do heavy lifting in C++. I also like not having to recompile the engine to mess with the physics.
Gary (-;
| James Laker (BurNinG) (May 20, 2005 at 06:09 GMT) |
mean it was dropped.
| Drew Parker (May 20, 2005 at 17:22 GMT) |
No problem, you didn't sound accusatory or anything. Just reading this plan caused me to reflect, and since I hadn't really addressed it yet, I decided to. :)
Glad to see you are making good progress with this!
| Dirk "dirkk" Krause (Jul 20, 2005 at 20:33 GMT) |
I wish all the three (or more?) of you would team up.
You must be a member and be logged in to either append comments or rate this resource.


Not Rated


