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.

Geek Culture / Havok Physics and Animation Now Available for PC Game Developers

Author
Message
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 31st May 2008 02:51
Havok is now free for download my friends! And now my adventure of porting it to C# for use with XNA has begun!

WC Physics - PhysX wrapper for Dark GDK.
Aertic
17
Years of Service
User Offline
Joined: 2nd Jul 2007
Location: United Kingdom
Posted: 31st May 2008 03:00
wait, for cormercial Useage?
Nice, also nice to see you back benny, I heard what happned.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 31st May 2008 03:31
No, unfortunately not

And yeah, complete mess, but I think it was for the best I got to program a lot more, so that was fun. I'm a much better programmer because of it, so something good came out of it

WC Physics - PhysX wrapper for Dark GDK.
Jeku
Moderator
21
Years of Service
User Offline
Joined: 4th Jul 2003
Location: Vancouver, British Columbia, Canada
Posted: 31st May 2008 03:43
Link?


Jeff032
17
Years of Service
User Offline
Joined: 13th Aug 2007
Location:
Posted: 31st May 2008 03:54 Edited at: 31st May 2008 03:55
Darn, you beat me to it
I've been watching for the download to become available for a while.

http://tryhavok.intel.com/

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 31st May 2008 04:26
Hah, indeed, I've been checking it every day since may 1st, haha. Its amazing, the demos they have are top notch, and I am extremely impresseed.

WC Physics - PhysX wrapper for Dark GDK.
Dave J
Retired Moderator
21
Years of Service
User Offline
Joined: 11th Feb 2003
Location: Secret Military Pub, Down Under
Posted: 31st May 2008 04:53
By the looks of it, you can request a commercial distribution license for free. All they have to do is approve it.

Quote: "Havok has entered into an agreement with Intel, Havok’s parent company, under which approved game developers on the PC platform can execute a commercial distribution license with Havok for free."


Also, if you sell your game for less than $10 USD retail, then you don't even have to apply for the distribution license. Seems incredibly generous.


"Computers are useless, they can only give you answers."
Aertic
17
Years of Service
User Offline
Joined: 2nd Jul 2007
Location: United Kingdom
Posted: 31st May 2008 04:59
I agree with you there Dave J, that is way too genourous.

Jeku
Moderator
21
Years of Service
User Offline
Joined: 4th Jul 2003
Location: Vancouver, British Columbia, Canada
Posted: 31st May 2008 05:11
I think it's smart, and I love how the industry is going.

- Visual Studio Express is a fully functional free program
- Ageia Physics engine is fully free
- Dark GDK is free

Now Havok physics. It's smart because now the engines will probably be used across schools and hobbyists, who will use the full commercial product when they get out and start their own companies, etc. What software will they use? The one's they know, of course.

I remember just a few years ago paying over $200 just for C# .NET. The last game company I worked at was going to have to pay $50,000 for a license to use Ageia.


Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 31st May 2008 06:36
Indeed, this is very good. I feel like hobbyist programmers are going to be able to get a jump start into professional tools, so hobbyists like me who are studying to become professionals will be able to get off to a better start.

Only slight downside is that I don't think Havok links with CLR so I can't port it to C# via Managed C++. So I'm just going to stick to DirectX with Havok.

WC Physics - PhysX wrapper for Dark GDK.
CoffeeGrunt
17
Years of Service
User Offline
Joined: 5th Oct 2007
Location: England
Posted: 31st May 2008 11:21
Hey Benny, I've started using XNA C# for my game dev, how would I implement Havok into it? I'm interested in starting 3D work as I've got the hang of the 2D side of things.....

I have returned, after 28 days of exile, fear me!
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 31st May 2008 18:23
Well, you'd need to use CLR to port it to C#, then you would just make some managed interfaces for the Havok classes. I take back what I said about the not working thing, because a CLR class library compiling with Havok. What I am doing is just making a library to integrate Havok with XNA. But, I'd look up some stuff on Managed C++, because thats what I am using to port it over for use in XNA.

WC Physics - PhysX wrapper for Dark GDK.
Dave J
Retired Moderator
21
Years of Service
User Offline
Joined: 11th Feb 2003
Location: Secret Military Pub, Down Under
Posted: 31st May 2008 18:25
Quote: "It's smart because now the engines will probably be used across schools and hobbyists, who will use the full commercial product when they get out and start their own companies, etc. What software will they use? The one's they know, of course."


Microsoft is renowned for getting its products into schools early on for this exact reason. When the kids went home and bugged their parents to buy a computer, they knew which one they wanted.


"Computers are useless, they can only give you answers."
Beast E Gargoyle
17
Years of Service
User Offline
Joined: 15th Feb 2007
Location: Sunny San Diego, CA
Posted: 31st May 2008 18:58
Wow havok is free, that's the best. For the distribution fee is it required to have one if I was going to sell my video game for $10 exactly? Best,
Beasteagrgoyle

Streets of Rage the best 3d beat em up ever check out the wip on apollo forums!
The Last Great Swordsmen Wip here http://forum.thegamecreators.com/?m=forum_view&t=124414&b=19
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 31st May 2008 19:06
Nope, heres a quote from them.

Quote: "If you plan to sell your commercial PC Game for a retail value of less than or equal to $10 USD, the PC Game distribution license is NOT required from Havok … knock yourself out!"


WC Physics - PhysX wrapper for Dark GDK.
bitJericho
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 31st May 2008 20:06
so who's going to make a dbp wrapper?


Hurray for teh logd!
Beast E Gargoyle
17
Years of Service
User Offline
Joined: 15th Feb 2007
Location: Sunny San Diego, CA
Posted: 31st May 2008 22:04
Heck yes, that is awesome free to use for a $10. We'll I wonder what I could add physics to in a hack n slash game?? Hmm, maybe sweet enemy deaths or catapult action idea's galour. Thanks Benny for the update of the release. I will def check this out and possibly add this to my Last Great Swordsmen game.

All the best,

Beastegargoyle

Streets of Rage the best 3d beat em up ever check out the wip on apollo forums!
The Last Great Swordsmen Wip here http://forum.thegamecreators.com/?m=forum_view&t=124414&b=19
Aertic
17
Years of Service
User Offline
Joined: 2nd Jul 2007
Location: United Kingdom
Posted: 1st Jun 2008 02:02
Nearly all the things needed by pc gamedevs are free, however console gamdevs even have to pay to get there game on the console.

CoffeeGrunt
17
Years of Service
User Offline
Joined: 5th Oct 2007
Location: England
Posted: 1st Jun 2008 02:19
Quote: "Well, you'd need to use CLR to port it to C#, then you would just make some managed interfaces for the Havok classes. I take back what I said about the not working thing, because a CLR class library compiling with Havok. What I am doing is just making a library to integrate Havok with XNA. But, I'd look up some stuff on Managed C++, because thats what I am using to port it over for use in XNA."



.....I'm not even gonna pretend to understand that....lol.

Aertic
17
Years of Service
User Offline
Joined: 2nd Jul 2007
Location: United Kingdom
Posted: 1st Jun 2008 02:49
I would understud that if I knew what a CLR class libary is?

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 1st Jun 2008 03:19
He's talking about .NET stuff. He wants to make a .NET library for some odd reason.

Cheers,

-naota

"I used to do a lot of time travelling when I was younger. I called it 'ta-kwee-la' You would drink this potion and wake up 3 days in the future!" - Craig Ferguson
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 1st Jun 2008 04:03
Indeed I am, and indeed I do And its because my school uses Xna, which is .NET. Otherwise, I don't know if I'd be using it when theres Direct3D 10 I could use, haha.

WC Physics - PhysX wrapper for Dark GDK.
CoffeeGrunt
17
Years of Service
User Offline
Joined: 5th Oct 2007
Location: England
Posted: 1st Jun 2008 13:17
Ok....so you're basically gonna make a sort of...plugin?

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 1st Jun 2008 18:27
In a sense, yes. I've actually gotten more done on it than I expected so far. I have the base classes developed, basic rigid body support, and so on. Gonna start working on more advanced stuff here soon.

WC Physics - PhysX wrapper for Dark GDK.
Aertic
17
Years of Service
User Offline
Joined: 2nd Jul 2007
Location: United Kingdom
Posted: 1st Jun 2008 19:05
cool.

CoffeeGrunt
17
Years of Service
User Offline
Joined: 5th Oct 2007
Location: England
Posted: 1st Jun 2008 20:20
Would you release said plugin-thingy? 'Cos I don't know where to begin with implementing this into XNA.....

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 1st Jun 2008 20:23
Well, as of right now its still in a very very early state, and not very usable. I'd say get everything else in your engine implemented.
I'd also say that my first release would probably be next Friday, but I'll need a website before I can actually release anything. But you won't be disappointed. My Havok port is much easier to setup, and slightly more straight forward than the actual Havok SDK.

WC Physics - PhysX wrapper for Dark GDK.
Jeff032
17
Years of Service
User Offline
Joined: 13th Aug 2007
Location:
Posted: 1st Jun 2008 21:18
I might wait for your port, but I might also want to mess around with porting it myself. I've taken some C++ classes and used CLR too, but I have NO idea how to go about porting something. Do you know of any guides on that sort of thing?

Also, does anyone know if there are any in depth guides, especially on the setting up, of Havok? I've looked through the PDFs and the comments in the console example, but I'd like something that really explains what all these things do. I don't expect there are any though, seeing as there really hasn't been a need for them until Havok got released for free...

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 1st Jun 2008 21:28
Unfortunately, I do not know any guides for porting. I learned by looking at the irrlicht .NET port, and the Ogre3d .NET port.

And I looked at the console example of Havok, because I have worked with nearly every single physics engine out there right now. Its not actually that hard. Heres basically what you need to do, although this is not it in its entirety:


Thats what I'm following at the moment. Now I'm starting to add in more rigid body types, I have boxes and spheres working, so I need to start making more stuff now, and hopefully triangle shapes soon.

WC Physics - PhysX wrapper for Dark GDK.
bitJericho
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 1st Jun 2008 21:48
Benny, I'll host you for free if you need a website. Shoot me an email if you're interested.


Hurray for teh logd!
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 1st Jun 2008 22:34
Great, that'd be a great help, I'll email you eventually when I get time.

As of right now, apparently Xna messes with the Vector3 class, or managed c++ does. I'm getting absurd values for the positions of the rigid bodies when using Xna vector3s, but not when I use my own defined vectors or float values.

WC Physics - PhysX wrapper for Dark GDK.
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 1st Jun 2008 22:57
Btw, CLR = Common Language Runtime. It's what controls .NET. Forgot to mention that.

Also, Benny, I sent you an email (Rather I'm sending one now).

Cheers,

-naota

"I used to do a lot of time travelling when I was younger. I called it 'ta-kwee-la' You would drink this potion and wake up 3 days in the future!" - Craig Ferguson
Aertic
17
Years of Service
User Offline
Joined: 2nd Jul 2007
Location: United Kingdom
Posted: 1st Jun 2008 23:06
Ah, thanks for that Aaron.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 1st Jun 2008 23:13
@Aaron - Ok. As long as it sent to bben53@gmail.com you'll be fine. I registered with another which got deleted(benny53@gmail.com).

WC Physics - PhysX wrapper for Dark GDK.
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 1st Jun 2008 23:31
It's been sent to ya.

"I used to do a lot of time travelling when I was younger. I called it 'ta-kwee-la' You would drink this potion and wake up 3 days in the future!" - Craig Ferguson
Jeff032
17
Years of Service
User Offline
Joined: 13th Aug 2007
Location:
Posted: 3rd Jun 2008 07:24 Edited at: 3rd Jun 2008 08:40
I managed to figure out how to wrap things a bit now, so I've started my Havok wrapper, just for the heck of it.

(only got as far as initializing the base system, and I've only wrapped the constructors/methods required to get Havok running)

Would you mind sharing how you wrapped hkBaseSystem::init() so that you could specify the errorreport function in c#, if you did? Right now I just left it out. When I tried adding an hkErrorReportFunction (the typedef) as a parameter, it compiled fine, but init() no longer showed up in C#.



[EDIT]
I'm also trying to think of a good way to sort everything into namespaces. Right now it's all crammed into "Havok". I was thinking of using namespaces like the directory structure for the include files, but C++ doesn't seem to like

namespace Havok.Physics.Dynamics.World { }

so I'd need to do

namespace Havok {
namespace Physics {
namespace Dynamics {

...

right? And that would get annoying rather quickly. Any ideas?

[EDIT2]
Argh, perhaps this is slightly over my head. I'm trying to get hkpWorld / hkpWorldCinfo going now.

HavokWorldCinfo.h


HavokWorldCinfo.cpp


HavokWorld.h


HavokWorld.cpp


In HavocWorld.cpp, I get
Error 1 error C2664: 'hkpWorld::hkpWorld(const hkpWorldCinfo &,unsigned int)' : cannot convert parameter 1 from 'hkpWorldCinfo *' to 'const hkpWorldCinfo &' c:\Users\Jeffrey\Documents\Visual Studio 2008\Projects\Havok\HavokWorld.cpp 8 Havok


But if I change hkpWorldCinfo* obj in HavokWorldCinfo.h to just hkpWorldCinfo in an attempt to fix it, I get
Error 1 error C4368: cannot define 'obj' as a member of managed 'Havok::HavokWorldCinfo': mixed types are not supported c:\users\jeffrey\documents\visual studio 2008\projects\havok\HavokWorldCinfo.h 12 Havok

I think I need to find a more in-depth course on C++/CLR

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 3rd Jun 2008 13:16 Edited at: 3rd Jun 2008 13:17
Hah, yes, CLR gave me some headaches when wrapping Havok. I had to find odd ways around problems, but the error report wasn't actually that hard, since I just used managed code in it ( converted const char* to String^ then printed to console. I'm probably going to make it append the message to an output file as well though. )

And you don't define the Cinfo like : hkpWorldCinfo* info, you define it like hkpWorldCinfo info.

And as for sorting, I have really done none of this. Right now I'm focusing on actually getting it to work, then I'm rewriting the code to make it cleaner.

Hope this helped

WC Physics - PhysX wrapper for Dark GDK.
Jeff032
17
Years of Service
User Offline
Joined: 13th Aug 2007
Location:
Posted: 3rd Jun 2008 17:29 Edited at: 3rd Jun 2008 17:30
Thanks, but I still must be doing something wrong.

In order to declare it as "hkpWorldCinfo info", it can't be a reference class, otherwise I get a "mixed types are not supported"

If it is not a reference class, then I can't really access it in C#. I can create an instance of a "HavokWorldCinfo", but I cannot call its methods.

HavokWorldCinfo.h


HavokWorldCinfo.cpp


Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 3rd Jun 2008 21:35 Edited at: 4th Jun 2008 01:50
Ahh yes, the wonderful "mixed types are not supported" error. I had to get around that by making native classes to store the native objects. Not sure if thats good or not, but oh well. If you have windows messenger live ( or msn? ) you can contact me at bben53@gmail.com if you want some help. Or you could join me and some other people for this, because I'm about to switch from a one person to a multi person project ( and perhaps make a physics abstraction layer for use with Havok and PhysX, so the programmer can choose ). Or email me if you'd like.

Edit - Also, that enum class will not be accessible through your C# project. You need to use public enum class/struct, otherwise it'll be defaulted to private in .NET. Same applies to classes and structs ( although they are ref struct or ref class ).

WC Physics - PhysX wrapper for Dark GDK.
Jeff032
17
Years of Service
User Offline
Joined: 13th Aug 2007
Location:
Posted: 4th Jun 2008 16:50
Ah, I'll try that. I believe the enum is declared as public, it's below the "public:" part, and placing public in the actual enum definition gives compile errors.

I guess I could join you guys, but I'm not sure how much help I would be. It would certainly be faster than trying to get the whole thing done myself though.

Aertic
17
Years of Service
User Offline
Joined: 2nd Jul 2007
Location: United Kingdom
Posted: 4th Jun 2008 19:35
wait if we were to include The havok engine in our code(C#)( Im new to C#)
We would use somthing like:

#include <Havokfile.fileformat>

wont we, but with the havok actualy file?
I use old C# so it may be diffrent? but im just wondering, because to use some certain commands you have to include .C files for them, exapmle:
#Include <Stdio.H>
#Include <Math.H>

{
Commands I forgot ect ect...

}


we would use somthing like that wont we, I aint took a gander at my book for awhile for help, might get back to it to understand.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 4th Jun 2008 21:30
In C# you don't have to include files. What it does is it reads from a DLL, and dll, I suppose, acts like a header file in some way. It holds class declarations and such, so that you can use them.

WC Physics - PhysX wrapper for Dark GDK.
Aertic
17
Years of Service
User Offline
Joined: 2nd Jul 2007
Location: United Kingdom
Posted: 4th Jun 2008 21:43
Ok, thanks.

Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 4th Jun 2008 22:33
Btw, there should soon be a sticky about this on the Havok forums. One of havoks employees emailed me asking me if I wanted this.

WC Physics - PhysX wrapper for Dark GDK.

Login to post a reply

Server time is: 2024-11-20 06:15:33
Your offset time is: 2024-11-20 06:15:33