N-PAL and My Lack of Updates
by Taylor Petrick · 10/26/2009 (4:41 pm) · 2 comments
Its been a long while I've written a blog on the GG site. I've been very busy lately, and haven't had as much free time as I'd like. School has been taking up many of my hours, and I've also decided to manage a TGEA 1.8.1 port of the MMOKit at MMOWorkshop.com.
Now that I've made my excuses, onto the real stuff. :) The "N-PAL" in the title of this blog is actually not a new TV video format. Its the tentative name I've given to my new physics system, Networked Physics Abstraction Layer.
I've trashed my old code, which was based on previous work done by Shannon Scarvaci, and have written an enitrely new abstracted system from scratch. The new system currently uses PhysX, as well as very basic Newton and Bullet integrations. I've completed about 75% of the PhysX work, and 25% of the other two.
The new PhysicsSystem class is initialized in MainLoop, which then selects which physics manager (PhysX, Bullet, Newton, etc) to use based on the user's options.
Rather than having a seperate class that requires a datablock, physics objects are tied directly into existing Torque classes. For example, once a a TSStatic has been added to the world it can be flagged as a physics object, which will enable additional parameters for customizing the physical behaviour and mesh type.
My long term goal is actually to completely replace Torque's collision system with N-PAL. Not quite that
far along though. ;)
Here are a few screenshots of the current progress, taken in my MMOKit build:


Stay tuned.
Now that I've made my excuses, onto the real stuff. :) The "N-PAL" in the title of this blog is actually not a new TV video format. Its the tentative name I've given to my new physics system, Networked Physics Abstraction Layer.
I've trashed my old code, which was based on previous work done by Shannon Scarvaci, and have written an enitrely new abstracted system from scratch. The new system currently uses PhysX, as well as very basic Newton and Bullet integrations. I've completed about 75% of the PhysX work, and 25% of the other two.
The new PhysicsSystem class is initialized in MainLoop, which then selects which physics manager (PhysX, Bullet, Newton, etc) to use based on the user's options.
Rather than having a seperate class that requires a datablock, physics objects are tied directly into existing Torque classes. For example, once a a TSStatic has been added to the world it can be flagged as a physics object, which will enable additional parameters for customizing the physical behaviour and mesh type.
My long term goal is actually to completely replace Torque's collision system with N-PAL. Not quite that
far along though. ;)
Here are a few screenshots of the current progress, taken in my MMOKit build:


Stay tuned.
About the author

Torque 3D Owner Joshua Halls (Xerves)
Curious how that could be encorporated as it seems to support multiple physics libraries.