Tuesday, January 3, 2012

A closer look at assets

So I am definitely not researching DirectX like I should be, but I've been quite intrigued with the assets I extracted as I mention in my previous post. I figure I found enough to document it, hence this post. Each of the zip files was quite descriptive of it's contents; Level, Characters, Environment, Textures, Scripts and Misc. I started looking at the files in the 'char' (Character) directory.

character assets

Usually the first giveaway of the type of file is the extension it uses, you'll notice in the picture the following extensions:  hkx, meta, mopp, rhm, rhs, script and sqdesc. I first googled the 'mopp' file and came across this file extensions site http://www.file-extensions.org/mopp-file-extension. As you can see from the description; "The MOPP file extension is used by Havok game engine for physics effects." well that makes sense, when you load the game up it mentions it uses the Havok engine, along with the Bink video system and the fmod or something sound effect libraries. I also opened up one of the hkx files in 010Editor to see what else I could find.

hkx file contains the Havok Engine version information

OK, now that I've put 2 and 2 together, I check out havok's site at http://www.havok.com/ to see if they have any developer tools or information. Needless to say I was happy to find they had a student/educational SDK as well as tools for download at http://www.havok.com/solutions/students-and-education. I downloaded their latest 'HavokContentTools' and attempted to load one of the hkx files as that was what it asked for when prompted to load something. Unfortunately, Havok doesn't appear to care about backwards compatibility as it just said that the version was incorrect and basically did nothing. Since I know the version information from looking at the raw file in 010Editor, I download that version, open up the hkx file in their Standalone Filter Manager and low and behold it works.

The animation loaded in Havok's "Standalone Filter Manager" tool

I also downloaded their SDK which I'm going to play around with but I figured I'd already had enough information to write up. I still need to study DirectX too, but I figure learning about game engines will probably be just as important.

1 comment: