Jump to content

  • Log In with Google      Sign In   
  • Create Account

Chronicles of the Hieroglyph

Physx Integration Continues

Posted by , 09 September 2006 - - - - - - · 82 views

I have been busy integrating Physx into my engine, and I decided on the first project that will use it. I am going to make a sequel to my original game Lunar Rift. The new game will include a much needed graphics overhaul, real physics for all game objects, and a much better gameplay mechanism that will allow you to control the squads better.

All in all, I think it will be a much more ambitious project than the ones that I have tried in the past. Over the next couple of days I am going to put together a timeline to see just how long I think it is going to take to get everything done. If this project turns out the way that I think it should, then I will probably try to market the game and see if any publishers are interested in it as a budget game.

But there is a lot of work to do between now and then, so I have to get back to work...

PhysX Fun!

Posted by , 17 August 2006 - - - - - - · 91 views

I have been having fun integrating the PhysX system into my engine. Originally I was going to try to make it an add on to the existing system with the use of 'controllers' (Dave Eberly Lingo), but ultimately decided that putting the reference to the physics actor in the object that the actor is simulating made more sense.

All in all, the integration wasn't all that difficult. It took about two hours to get the SDK up and running with debug rendering, then another hour or so to get engine object created and rendering all together.

Here is a couple of screen shots of my first physics entity falling on its bum:

Shader X4 and PhysX

Posted by , 10 August 2006 - - - - - - · 114 views

I finally received my copy of Shader X4 yesterday. It's always good to read about some of the latest advances and techniques to help you come up with more ideas. My productivity is probably going to be pretty low for the next week or so...

While trying to update my Lunar Rift code, I basically decided to leave it as it is for now. I actually made a few more optimizations in the engine as a result of my investigation, so the work was worth it - but it would really take a rewrite to get it all working correctly again [sad]

Anyways, I downloaded the Ageia PhysX SDK 2.4.4 yesterday as well. I am going to be adding support in my engine for using the PhysX system. It requires a licensing fee for commercial software, but its free for non-commercial use. I guess if I ever end up making a full blown game that the licensing fee won't be that big of an issue, and it is supported by the physx accelerators. That is actually quite a bit of functionality from a free library, so I am going to add it in...

XNA Build

Posted by , 06 August 2006 - - - - - - · 174 views

After reading superpig's post about XNA Build and that it included a commercial code base, I decided to download it and check it out. It is always interesting to me to look at a completed game and see how they do things differently than I do. It should be fun...

Silhouette rendering article

Posted by , 04 August 2006 - - - - - - · 174 views

I am just putting the finishing touches on another article. It details a method that I am using for fast, older hardware capable silhouettes, ridges, and valleys. Hopefully someone out there will find some use for it. I should be able to submit it relatively soon...

Not a whole lot going on other than that. I have lunar rift updated, but I really need to work on the performance - the frame rate is hovering between 20-30 on my goForce FX 5200, so I have some work to do. Maybe I'll post some screenies of the old version and the new version and see how they compare. [grin]

Revisiting my old friend

Posted by , 01 August 2006 - - - - - - · 134 views

While trying to figure out what my next rendering project would be, I decided to revisit my first game, Lunar Rift, and see how it was doing. I spent almost two years developing Heiroglyph (the engine) alongside Lunar Rift (pilot application), and am actually quite proud of how the game ended up.

I have made significant changes to the engine since I last compiled the code, so I am interested to see how it looks now. Many new rendering techniques and effects have been added to the engine, so I may revamp the old game and see if I can add some new content. I also have quite a few new ideas to add to the game as well. More on this soon...

GUI in the scene graph??!!??!!

Posted by , 25 July 2006 - - - - - - · 183 views

It sounds pretty crazy, but putting the GUI into the scene graph was actually one of the best changes I have ever made to the display system. All of the work and testing that I have done on my scenegraph object rendering code is now brought to bear on the GUI, which had previously been used as a single object with non-scene graph sub-objects like buttons and sliders.

Even with decomposing the sub-objects further, I have made a nice improvement in performance. The application that I am testing is now running at about 170 fps on a 2.8 GHz P4 with a goForce 5200 fx as the video card. I still have to test it out on a better video card, but if a low end card like this can still get good performance then I am not too worried about it.

I also looked into some ray tracing algorithms, and found a good set of tutorials at devmaster.net. Ray tracing is a very interesting area of study, but I don't think I will be pursuing it very far. I have spent the last 3-4 years working on my rasterization engine, and it would be a huge loss of time and effort to make a switch to ray tracing. However, my engine is flexible enough that I could create a 'renderview' that uses raytracing instead of rasterization.

Maybe I'll do it to play around a bit, but I don't really see any way of making it run in realtime with any sufficient quality right now.

So now I have to decide what is the next area of research that I will be looking into. I will likely write another article on the new topic, so if there are any requests out there I am open to suggestions!!!

More GUI fun

Posted by , 24 July 2006 - - - - - - · 172 views

Well, I recently posted about how best to use the directx effect file system to control state changes, in particular how to minimize texture changes. The best suggestion that I got was to use the ID3DXEffectStateManager and take control of how the states are being set.

This was actually much easier than I thought it would be. There is a sample implementation in the DXSDK, and modifying it to meet what I wanted to do was pretty easy. However, I realized that there is another problem. The D3DXFont system is what I use for text rendering. The system internally creates and sets a texture when it is going to render text. This means that any texture state caching that I am trying to do will not work, since the GUI buttons draw themselves and then their text for each button - essentially making the whole process serial instead of parallel...

So my options are to turn the text into scene graph objects that will be attached to the buttons, or to roll my own text generation technique. In the former, the text objects would get sorted and all rendered in a batch like all of the other geometry. This would let me render the buttons background first, then render the text later on. I don't really lose any functionality to work this way, so I think it will be sufficient. Hopefully there isn't any other nasty problems waiting around the corner for me after I implement this change.