Havok Physics (Part 3) & Video Link

Published April 05, 2009
Advertisement
In the first entry I showed the Havok visual debugger, which is one of the coolest tools I've used before. In the second I showed the integration of rigid bodies on the large 512x512 heightfields, and into my game. Last night I finished the Untuned vehicles...what this means is that the integration into the game is complete, it's just a lot of tweaking and tuning of each of the 100s of vehicle parameters.

I will post a video and preview image at the end of the post as usual...I made this one at 3AM last night ( that sounds wrong lol ) but, I'll probably have another one at the end of tonight/2morrow with even more vehicle types and even further stabilized physics.

Here are the basic 'components' of a Havok vehicle, each has many parameters that can be tweaked....You can use your imagination to figure out what each component is for xD

Quote:
hkpVehicleData
hkpVehicleDefaultAnalogDriverInput
hkpVehicleDefaultSteering
hkpVehicleDefaultEngine
hkpVehicleDefaultTransmission
hkpVehicleDefaultBrake
hkpVehicleDefaultSuspension
hkpVehicleDefaultAerodynamics
hkpVehicleDefaultVelocityDamper


I've spent most of my time tweaking the suspension, engine, and transmission. If you adjust the mass of the vehicle itself or the wheels you can get some cool effects. Playing around with this system has given me some ideas in terms of letting players totally modify each aspect of the suspension, engine, etc. of their warbots. This is very closely aligned with what I had originally seen for this game. I wanted to make it 100% physics based where you can blow wheels off vehicles, scar terrain, etc. I've obviously had to compromise my vision [ mostly to get the 64 player per server thing to work ;-) ], but use of Havok has really given me some new ideas of what is possible in a game.

I've just got the physics working on the little buggy for now. I still have to do the Tank, Hovercraft, Heavy Mech and Light Mech types at least before I can release a demo of the game.

Here is the preview image of the video, showing 64 havok vehicles, the 512x512 heightfield (500,000+ triangles), and a few 100 dynamic rigid bodies....

">Click here to view the video on YouTube

Or click the image....
">

- Danny
0 likes 4 comments

Comments

Jason Z
That's a bunch of vehicles in view there - are you using a discrete LOD for the models, or are you just grunting it out because you have some room in your FPS?

I am currently using PhysX and have found similar results to yours - their heightfield object is not really that efficient. Based on your enthusiasm, I decided to download the free Havok SDK and evaluate if I want to use it or not. Thanks for the tip [grin]!

Your Warbots project is really coming together - I'm interested to see how you go about publishing the project. Self publishing always seems like a daunting task to me, so I am wondering what your thoughts are on it?

Keep up the good work!
April 05, 2009 05:56 PM
dgreen02
Quote:Original post by Jason Z
That's a bunch of vehicles in view there - are you using a discrete LOD for the models, or are you just grunting it out because you have some room in your FPS?

I am currently using PhysX and have found similar results to yours - their heightfield object is not really that efficient. Based on your enthusiasm, I decided to download the free Havok SDK and evaluate if I want to use it or not. Thanks for the tip [grin]!

Your Warbots project is really coming together - I'm interested to see how you go about publishing the project. Self publishing always seems like a daunting task to me, so I am wondering what your thoughts are on it?

Keep up the good work!


Hey Jason, thanks for the comments :-D...I use a lot of LOD stuff for the vehicles, I use texture caching for local objects [ load/render 32x32 versions of the textures instead of a 1024x1024 texture ], 2 different model geometry LODs, as well as 3 different shader levels of detail. I also have very tight view distances for the 'other' render passes [ shadows, and post-processing ]. I also have very tight view frustum tests of the robots, etc. Those are the main ones though off the top of my head.

Yea, you'll be happier with Havok, it's really amazing, I can't wait to tackle Urban Empires with all the updates to my engine [ high res self shadowing on the cars + already-tested Havok physics from Warbots ].

Yup, publishing is gonna be intersting, I have had a few publishers come up to me so far, I've not really solicited the game to any though. It needs polishing/work, finished website, and some purdy-pitch-documents.

If that fails, then I'm gonna try self publishing. IMO it seems like it can be as profitable, the only trouble I see is getting enough $$$ to do a nice marketing campaign. Ususally the publisher would use their experience and other products to get the marketing $$$ right, and to advance the money....but self publishing lacks that.

We'll see, I've never self published, and I hope I can get a publisher for this game once I start looking...I will surely post all details I can here :-D

Good luck w Havok, I'm already in love with it haha :-D I'm still waiting for the 'gotcha', as it seems too good to be true.

- Danny
April 05, 2009 06:05 PM
Sly
Heya. Nice work on the physics engine integration.

Do you have static collision on the trees? We're doing a multi-platform console title that has a large heightfield landscape with lots of trees. We're currently trying to decide between PhysX and Bullet (the only two choices I've been given). I've found that I have to create/destroy the static collision for trees on the fly for those trees that are close to the player only in order to keep physics CPU usage down to a minimum.

In this case (multi-platform console title), Havok is unfortunately a very expensive proposition.
April 05, 2009 09:21 PM
dgreen02
Quote:Original post by Sly
Heya. Nice work on the physics engine integration.

Do you have static collision on the trees? We're doing a multi-platform console title that has a large heightfield landscape with lots of trees. We're currently trying to decide between PhysX and Bullet (the only two choices I've been given). I've found that I have to create/destroy the static collision for trees on the fly for those trees that are close to the player only in order to keep physics CPU usage down to a minimum.

In this case (multi-platform console title), Havok is unfortunately a very expensive proposition.


Yes, that is the method I've used in numerous situations in various physics engines for trees&objects [ I'm even making them breakable & have new artwork I'm about to plug in ].

I should have that in the next update or two :-D
April 05, 2009 09:39 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement