Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Program Announcements / QuickODE - Physics for DarkGDK

Author
Message
_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 4th Aug 2010 11:52
Thanks to The Game Creators for mentioning QuickODE in their August 2010 newsletter!
I feel honored

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
BatVink
Moderator
21
Years of Service
User Offline
Joined: 4th Apr 2003
Location: Gods own County, UK
Posted: 5th Aug 2010 00:17
It's a pleasure, good work deserves publicity.

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 12th Aug 2010 14:17
Great improvement, keep it up!

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 13th Aug 2010 15:33
I am wondering how to make a for example sphere or mesh have movement... I tried with Physics.AddForceAtPos and such... But with no luck.. I was just trying a little WASD Movement to a sphere.

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 15th Aug 2010 15:03
Ok, did this once for an FPS game I started. For example if the player ran into a pile of boxes they would be pushed around and such.
I thought QuickODE::SetPosition() would that job but unfortunatly this command doesn't really work well with a running physics simulation.
My approach was to delete the physics object before making any movement (each loop), then after you checked for the users input position and rotate your players DarkGDK object (your sphere) and do QuickODE::AddSphere() on that object. Then finally update the phyiscs.
Hope this makes sense to you, I think the next release may include an FPS sample

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 22nd Aug 2010 23:08
aaah.. okay thanks, will try

btw, late responds just got back from vacation, thanks anyway

zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 11th Sep 2010 18:04
Hey Pauli. I'm back on Windows (more like forced to use it) for a while, and I wanted to work on a physics based game. I've used QuickODE before and as before, I copied all the files where I had to, added QuickODE.lib and ode.lib to the additional dependencies, included the header, but when I'm compiling your vehicle example I get the following errors:
_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 14th Sep 2010 22:22
When you were using QuickODE before, did it work then?
I think it's rather a problem of your setup, the included .lib files are all made with the same compiler.

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 16th Sep 2010 12:29
Yep, ODE worked flawlessly before.
_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 16th Sep 2010 14:17
Maybe try re-downloading the newest version (first post) and copy the included libs again.

Microsoft says this about the error:

Quote: "
C1047 is caused when object files or libraries built with /LTCG are linked together, but where those object files or libraries are built with different versions of the Visual C++ toolset.

This can happen if you begin using a new version of the compiler but do not do a clean rebuild of existing object files or libraries.

To resolve C1047, rebuild all object files or libraries.
"


Well, I don't really want to install a new version of VC++ right now. I'm using VC++ 2008, maybe you should try using that too.

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 16th Sep 2010 16:23
That's what I'm using! Visual C++ 2008 express edition.
Fleep
13
Years of Service
User Offline
Joined: 1st Oct 2010
Location:
Posted: 2nd Oct 2010 06:21
Quote: "I am wondering how to make a for example sphere or mesh have movement... I tried with Physics.AddForceAtPos and such... But with no luck.. I was just trying a little WASD Movement to a sphere."

Same problem here your examples are very useful but i havent been able to apply them to a character :/ whenever i use it with a .x file character the movement gets all screwed up.

So if you could release a tut on it or provide some code related it would be very much appreciated.
_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 10th Oct 2010 14:29
Quote: "So if you could release a tut on it"


Ok, noted. I look after that when I have some time, shouldn't be too complicated.

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 14th Dec 2010 18:58 Edited at: 14th Dec 2010 19:00


This gives me error:

Quote: "error C2660: 'QuickODE::AddMesh' : function does not take 3 arguments"


So it takes 4 arguments... But what does that argument do, nothing in the documents about it?

EDIT: WOW I AM DUMB. Scale ofcourse!

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 14th Dec 2010 19:16
Ok, glad you got it on your own
I should have updated the reference properly, my fault...

I'm quite busy with other projects at the moment, but I'm planning to continue work on QuickODE in January or February. I have some improvements to make and I have a couple of nice ideas for features to add!
So thanks for using QuickODE and stay tuned.

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 14th Dec 2010 19:31 Edited at: 14th Dec 2010 19:33
I love to use it, I'm also reading the docs of the ODE itself for future refference.

Anyway, another wierd problem accured: Everytime i use addbox or addmesh like this:



or:



for a certain character.

I get:

ODE Internal Error 1: assertion: dSetMass()

ODE Internal Error 2: center of the mass must be at origin

I tried to fix error 2 by going to the model itself and change the pivot to the center of the object, that aint the trick tho, any ideas on this?

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 15th Dec 2010 15:52
Does the first error always occur when you set a mass? On every type of object (box, sphere, cylinder)? I just had a short glance at the source code and I don't see why it shouldn't work.

That second error happens when you try to create dynamic (non-static) mesh objects. Unfortunatly dynamic meshes aren't supported in this version of QuickODE! But they will be in a future release...

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 15th Dec 2010 17:31
Quote: "That second error happens when you try to create dynamic (non-static) mesh objects. Unfortunatly dynamic meshes aren't supported in this version of QuickODE! But they will be in a future release..."


Aaw... Alright.

I fixed the first bug by declaring a var mass, and then add a box and then set the mass, that works.

Do you think it's smart to add physics (addbox) to the character or should i just calculate simple gravity onto a model using sparkys?

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 15th Dec 2010 17:52
Quote: "Do you think it's smart to add physics (addbox) to the character or should i just calculate simple gravity onto a model using sparkys?"


In a little first-person-shooter sample I once did for testing I had the character moving using standard Sparky's type thing, and then I had an invisible phyiscs box (separate object) at the players position, so it would have impact on physics objects (crates, etc.). Something like that...

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 15th Dec 2010 18:52
Aah that makes sense!

Thanks

Dar13
15
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 30th Dec 2010 19:30
Getting this error after correctly setting up QuickODE:


So...any ideas how to fix this linker error?


Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 1st Feb 2011 01:05
About to go test this, looks really cool, would be PERFECT if it for a particular sim I'm working on at the moment!

Thanks,
Clonkex

Making games is easy.....finishing them is a different matter.

Intel Core 2 Duo 2.8Ghz, Nvidia GeForce 9400 GT 512mb, 1gb ram.
_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 7th Feb 2011 14:37 Edited at: 7th Feb 2011 14:38
@Dar13: Never seen this error! Are you working with the ode.lib file that came with QuickODE? Make sure you are on /MT mode.

@Clonkex: Thanks! Glad you like it. You may also want to check out a few samples that I posted on the DarkGDK board.

@everyone: Sorry for not being very supportive in the last couple of weeks about QuickODE, but I'm working on a game right now which consumes most of my developing time. (I'm about to have a WIP thread in the next week)
I have some great ideas for additions to QuickODE, so it will see some major updates sometime around the end of February/March!

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 19th Feb 2011 15:56 Edited at: 20th Feb 2011 20:47
I hope you continue on this, its great!



Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 21st Feb 2011 17:13 Edited at: 21st Feb 2011 23:01
Sorry for double post, but what is the Max Angular Speed set by default?

EDIT: Can you elaborate the use of AddJoint(int a, int b); What is the use of it?


Thanks,

RedEye

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 21st Feb 2011 23:43
Thanks for your ongoing interest in this! Makes me proud that you like it that much

First of all let me tell you that I'm planning a complete re-write of this library sometime around next month! I have some really great ideas for improvements!
One of them is a visual front-end (I've seeen you're creating some kind of simulation editor on your own already! Awesome!), on which I will elaborate more later, but let me tell you it's already in progress. Plus there are some new demos for vehicles, ragdolls, raycasting, etc. that will ship with the next release.

Now to your questions:

Quote: "what is the Max Angular Speed set by default?"


The max angular speed is 200.0 by default.

Quote: "Can you elaborate the use of AddJoint(int a, int b); What is the use of it?"


Don't know where you have that from, but there is no such command!
There are only these:



The use of them is to create joints (think of physical connections between two bodies) of the various types. For example a hinge joint could be used to build a swinging door or a ball joint for a human shoulder.

Now the plot thickens, the fps decreases, and the awesomeness goes through the roof.
Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 22nd Feb 2011 09:05 Edited at: 22nd Feb 2011 09:07
Great news! Do you have msn or something like that, so we can chat a bit?

And yeah sorry I meant AddJointFixed... Dont know what it is supposed to do I found all the others on internet, I also DID found the FIXED one but still dont know whats supposed to do.

About the editor (Game Editor), got all the features of your physics integrated, can't wait to the next version (maybe without warnings?), would love to see what you come up with! Can't wait!

(Note: Livestream is outdated + my english sucks, sorry.)

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 25th Feb 2011 14:25
Quote: "Do you have msn or something like that, so we can chat a bit?"


No, I used to have icq, but I'm rarely online. Feel free to email me.

AddJointFixed can be used to "glue" two rigid bodies together. For example you coul fix a small sphere on top of a larger sphere to build a dynamic snow man object, that kind of stuff. Since dynamic meshes aren't supported yet, you could use this joint type to assemble body compositions that imitate certain complex shapes.

Quote: "my english sucks, sorry."


No problem at all, since I'm not a native english speaker either!

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 24th Apr 2011 17:45
QuickODE Version 1.0 has just been released!

Changes:

* This version is a complete rewrite.
* More efficient code, strictly object oriented.
* Usage with other rendering engines is now possible.


Could a MOD please remove these large images posted by haliop half way down the first page, because they stretch the page horribly. Thanks.

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 24th Apr 2011 18:56
Amazing! Implementing to my editor staright away, as far as it goes ofcourse, as some features still need to be integrated into this version.

But great work so far!

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 24th Apr 2011 21:23
QuickODE Version 1.01 has just been released!
Download is attached to the first post.

Changes:

* Added force and torque commands to qoBody
* Added linear/angular velocity commands to qoBody
* Small bug fixes and performance increase


COULD A MODERATOR PLEASE REMOVE THE OVERSIZED IMAGES FROM A POST BY "HALIOP" SOMEWHERE HALF WAY DOWN THE FIRST PAGE? THEY STRETCH THE PAGE TOO MUCH. THANKS.

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 28th May 2011 20:16
Sounds great! But I do hope this project is still being updated!

I love this.

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 30th May 2011 22:52
Thanks for your ongoing interest in this! I really appreciate it!

Quote: "I do hope this project is still being updated!"


Yes, sure it is! But I'm working on two game projects at the moment (plus uni work). One of them is Colony Defender, which is about to be finished soon. The other is still kept secret, but it makes use of QuickODE, so I will be implementing new features to this library alongside developing the game. So keep an eye on it

By the way: I've written several times in previous posts that I want the oversized images on the first page of this thread removed by a mod, but didn't get any response! Do they even read posts here and follow such requests or do I have to write an email or something? (Don't want to create a thread for this!)

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 31st May 2011 11:59 Edited at: 31st May 2011 11:59
Quote: "So keep an eye on it."


I sure will! My engine is making some really good use of it! And you did a great job so far! Keep it up!

Quote: "By the way: I've written several times in previous posts that I want the oversized images on the first page of this thread removed by a mod, but didn't get any response! Do they even read posts here and follow such requests or do I have to write an email or something? (Don't want to create a thread for this!)"


You should write an email to a mod.

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 25th Jun 2011 20:48
My ongoing interest in this may be irritating and I understand if you stopped developing this. However I was wondering if are still planning on getting a new version ready, because I am using the latest one, and it is amazing! Love the new way/style of coding. And I like the very much how you wrapped this one up.

Keep this up, i would say!

Cheers,

Leo

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 25th Jun 2011 21:22
Hey, that's a very nice comment! Thanks a lot!

I'm glad you like the new style of this library! Didn't get much feedback except yours.

You can be sure that this is constantly in development, it's just not ready for the next release yet! Shouldn't take too long though...

I wonder if you have something ready to show that utilises QuickODE? I'm curious about what people create with this.

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 25th Jun 2011 21:46 Edited at: 25th Jun 2011 22:05
Quote: "I wonder if you have something ready to show that utilises QuickODE? I'm curious about what people create with this."


I am using this for my editor/engine.
Somewhere around begin august a techdemo should be released, I hope.

Quote: "it's just not ready for the next release yet!"


No problemo, take your time, glad to hear it is still beeing updated.

Edit:
Quote: "1>LINK : fatal error LNK1104: cannot open file 'ODE.lib'"


Been converting my old code, altough i got stuck at this linker error, I believe my linker settings are okay, do I need to change anything besides including lib and headers? Thanks.

Cheers,

Leo

_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 26th Jun 2011 16:27
Maybe have a look at where your libs are stored. I don't know but maybe the linker is case-sensitive and if I remember correctly I used to have named it "ode.lib" (lowercase)... Not sure if that's the problem though.

By the way, you don't have to include the libs manually in the linker settings anymore! They are included using #pragma comment in the latest header file. Just including the QuickODE header should now be enough.

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 27th Jun 2011 10:24 Edited at: 27th Jun 2011 10:26
Got it to work, thanks!

Playtime!

ChrisGDK
14
Years of Service
User Offline
Joined: 18th Dec 2009
Location:
Posted: 30th Jul 2011 00:36
I'm not sure if I am doing something wrong or not.

But when I created a static box. (ground)

and a bodybox to drop on it, the bodybox falls right through it...
_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 31st Jul 2011 03:45
There could be a few reasons.
Can you post some code please?

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 31st Jul 2011 13:32 Edited at: 31st Jul 2011 13:33
One reason can be it gains alot of speed which makes it almost impossible to calculate new position ( i would guess ). Other reason is your Quickstep on or off. And your ERP/CFM.

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 9th Aug 2011 21:32
Is multithreaded something in the todolist?

Cetobasilius
14
Years of Service
User Offline
Joined: 29th Dec 2009
Location: Mexico
Posted: 10th Aug 2011 05:03
hmmm i get a compile error:


when running on release mode, MT... i use visual studio 2008, i saw someone having this problem already. i can run the sample using the debug mode. but not in release.

hi
_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 11th Aug 2011 01:06
Quote: "Is multithreaded something in the todolist?"


It's definitly on my todo-list, as QuickODE would benefit quite a lot from it. I still have to learn a lot about multithreaded programming though.

Quote: "i get a compile error"


That's strange. I compiled QuickODE with Visual Studio 2008 Express so I don't know why it's complaining about the compiler!
From the path of your error message it seems that you're linking with QuickODE.lib from a folder where you extracted the package. Maybe try putting it into the DarkGDK lib folder (the header too). But honestly it would surprise me if that makes a big difference...

Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 15th Aug 2011 02:18
Wow, the first post has had a major make-over since I looked at it last!

I downloaded the latest version but haven't had a chance to look at it yet. I expect it to be at least as good as the last!

Clonkex

Never lie -- The government doesn't like the competition.

Intel Core 2 Duo 2.8Ghz, Nvidia GeForce 9400 GT 512mb, 1gb ram.
_Pauli_
AGK Developer
14
Years of Service
User Offline
Joined: 13th Aug 2009
Location: Germany
Posted: 15th Aug 2011 21:27
Quote: "Wow, the first post has had a major make-over since I looked at it last!"


Not just the first post, but actually the whole library

Thanks for the nice comment, Clonkex!

Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 16th Aug 2011 00:54
I am going to have a look at it right now!

.....looking.....

Ok, I opened the sample file, and I can see instantly that it's much neater

But there is a problem with QuickODE: There's no DBPro version. There should always be a DBPro version for everything.

Hmm....I wonder who could convert it for you.....don't know anyone, do you? I wonder.....

Can I make a DBPro version for you, please please please???

I'm great at making plugins (I'm going to be releasing my Dark Resource plugin soon)!

I don't want my email address floating about on the web so I'll email you, then you will have my email. I mean for sending source code and stuff. I can't make an ODE plugin from scratch, you know.

Seriously, though, I do want to do this. I have wanted to for a long time, it just never occurred to me to ask you. I can make it very professionally and make it bug-free too.

Anyway I will email you and you can reply there.

Thnaks,
Clonkex

Never lie -- The government doesn't like the competition.

Intel Core 2 Duo 2.8Ghz, Nvidia GeForce 9400 GT 512mb, 1gb ram.
Limit8
12
Years of Service
User Offline
Joined: 22nd Aug 2011
Location:
Posted: 22nd Aug 2011 22:02
Please, could you compile QuickODE for Visual C++ 2010.

I've tried everything but i get two linker error like this:

Quote: "
1>QuickODE.lib(qoBase.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)".
1>QuickODE.lib(qoBase.obj) : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static void __cdecl std::_String_base::_Xlen(void)" (?_Xlen@_String_base@std@@SAXXZ)".
"


Sorry but im from germany thats why the failures are in german.

In english it means something like: "Unresolved external symbol"
Clonkex
Forum Vice President
13
Years of Service
User Offline
Joined: 20th May 2010
Location: Northern Tablelands, NSW, Australia
Posted: 23rd Aug 2011 01:30
Quote: "Please, could you compile QuickODE for Visual C++ 2010."


As far as I know, it makes no difference which version of Visual C++ you're using.

The only problem I can think of is, did you include the libraries?

Quote: "In english it means something like: "Unresolved external symbol""


Yes, that's exactly what it means. I only know because I recognise that error from my many experiments with other C++ things.

Clonkex

Login to post a reply

Server time is: 2024-04-26 10:53:21
Your offset time is: 2024-04-26 10:53:21