I haven’t updated this in ages but it has been for a very good reason. At the end of August I started my first job in the games industry. This is of course a dream come true for me and I am finding it a lot of fun so far. Not entirely sure I will say where I am working just yet, but I did have to pack my bags and move to England to do so (which is proving interesting) ;)

The apartment I am in doesn’t have a telephone line so I am without internet. This has given me the opportunity to catch up on some good old fashioned gaming in my free time though. I have just finished Twilight Princess and am I currently playing BioShock on the 360 and God of War 2 :)

As for personal coding projects, I have gotten a fair few messages through YouTube and GDNet about people wanting to know when ViLiMaK (Managed Physics Library) will be coming out …the short answer is, I am not sure. I haven’t worked on it for a few weeks now but I do definitely want to finish the port and start adding cool new things to it. Whether I will be allowed to do this I am unsure, and worst case scenario is I pass the library off to a friend of mine who will hopefully be able to make it into what I had hoped it would be (which is “freakin amazing”) :D

I did do a little bit of code over the weekend though and wrote the basics of an SMD loader (decompiled HL2 models). I still need to get the animation working etc. but the format is pretty straightforward so I should have it going soon enough.

Combine Soldier SMD


8 Responses to “AWOL”

  1. Ziggy says:

    Looks awesome richard! Will you be releasing this as a pipeline component?

  2. ViLiO says:

    I don’t see why not :) I still need to get the mesh animating though, and at this stage it is actually running with SlimDX and not the XNA Framework. The loading and rendering code is absolutely tiny though, so it wouldn’t take long to get it going through the content pipeline once I’ve wrapped up all the skeletal stuff into something usable.

  3. Mark says:

    oh, hell yes.
    I knew you were for real :D

    Seriously though, extreme congratulations on stepping into the corporate side. Be safe and good fortune.

  4. Yuzi says:

    hi vilio..
    what type of 3d format u used?
    u commented in gamedev before that 3ds format is i want to know which 3d format is good for game/virtual simulation and where can i get the loader.thanx.

  5. ViLiO says:

    Hi Yuzi,

    I’ve used a fair few 3D file formats over the years and it is true that I’ve never been much of a fan of .3ds :)

    For static meshes/objects, I would normally use .obj (when I do very rare OpenGL development) or .x (for DirectX and XNA).

    For animated meshes I am quite fond of .md5 (Doom 3 format) and most recently, .smd (decompiled HL2 meshes). They are both ascii, quite simple to parse and there is a fair bit of literature out there on the internets on what the various bits of the file format actually contain …keep reading for linkage :)

    For .md5 I found David Henry’s article more than enough to get them loaded, rendered and animated, and then with some further tinkering, skinning on the GPU. They also come with articulated figure files (.af) and it is relatively straight-forward to fudge the D3 physics engine convex objects into another physics library (such as PhysX)

    For .smd, the valve wiki was all I needed really, and getting those animated and with GPU skinning was a breeze :)

  6. Yuzi says:

    Thanx Vilio for ur guide.Really appreciate it.I will find the loader and study the file format later. But one more question, how they do transparency in games? Do they load transparency information in the 3d file directly or load the object normally and blend it in opengl/DX? I think i will be bugging u a lot after this. if u dont mind. :-)

  7. ViLiO says:

    I can’t promise I will answer all of your questions …I am but one man with limited knowledge so you would be better aiming your questions at a forum like :P

    Anyway, transparency :)

    This is simply a property of the material applied to the 3D model. At the simplest level, the model has a material, the material states whether or not transparency is needed, your renderer then sees that the transparency flag is set in the material and sets the required renderstate before drawing said model :)

    Transparent materials (ie. ones that need alpha blended and can’t get away with alpha testing) are a bit of a special case though in that you generally want to draw anything with a material that needs alpha blending after all other opaque geometry, and in some cases you may even want to depth sort those things that are alpha blended.

    I am not really prepared to go into real depth about a material system as it can get quite involved, but I believe Shawn Hargreaves has written some stuff on the subject and it has probably been covered in books like the ShaderX series or the GPU Gems series so there is plenty of stuff out there for you to get your googling teeth into :)