The DTS Pipeline for Torque
Summer is here and that means that theres a whole new round of bitching, whining and complaining about Torque and the DTS pipeline that it uses for its 3D models.
Now, it's pretty common for people to hilite weak areas in something, I know that I do it sometimes with Torque because I hold it to a high standard for what I need from it (after all it is one of the tools that we use that allows us to pay our bills at Max Gaming), but the DTS pipeline is definately not one of Torque's weak spots. If anything its one of the strongest features that the engine has. As such I figured I would take a few moments to hilite what makes the DTS format so great and dispell many of the myths that people have about it...
What makes the DTS pipeline so great:
1. Its a Powerful format.
Lets face it, there has been almost 0 attention put towards forwarding the pipeline and its features/workflow since we got access to the tools 6+ years ago. In all that time, we have primarily just gotten recompiled plugins for our 3D tools from helpful community members. Yet the DTS pipeline has never faultered or had issues with changes to work flow and productivity that have come with our ever evolving 3D applications.
For example when the IK constraints were introduced in 3DS Max 4, the DTS exporters never once complained or had to be modified to use them, it simply used them. If you want to use a rigging system other then biped you can, you can utilize stock bones, or the plethora of 3rd party rigging solutions such as Puppetshop or CAT, you can even download and use someone elses highly complex skeletal rig from a movie and it would still export as is with the DTS.
Why is this? The simple aswer is that the pipeline and the format were built to be solid and rugged to handle whatever was thrown at it and look at it in the simplest of ways. Where is the bones position? How has its transforms changed? Where is this vertex and what data does it hold?
2. It allows for multiple team members to work in the art pipeline.
How so? All model geometry is exported as a propriety model format called a DTS. The DTS file points to the needed textures that it looks for, allowing for a texture artist to work on a custom bitmap texture without ever needing access to the models source. Animations can be included in the file, but for the most part are best left off as a DSQ, this allows an animator to create animations for the model that can then be used elsewhere on other models with a similar skeleton. Lastly you can have a effects artist working on pixel shaders for the model, they do this by doing some simple script editing and point the effects to various textures or materials that have been applied to the model.
All of this work can be done in a non-destructive manner working simply from the geometric data stored in the DTS.
3. It doesn't let the crap through.
There was initially a time when the pipeline let everything through and didnt bother error checking, this resulted in a lot of wasted resources because it made it difficult to track down where errors were coming from. Artists would blame the code, programmers would blame the art, people would run around like headless chickens. Ya it sounds funny but to the people that had to use the export at this time it was hell.
As such it was decided that the best way to resolve this problem and speed up productivity was to add in error checking. If there were problems, don't export the model. When the model is exported, check it in the show tool to ensure its working as it should. Sounds pretty simple, but yet this was and still is a novel approach for a lot of game engines and studios even today!
4. Additive blending animations & animation sharing.
Torque has, and in many cases still has, a strong competetive advantage with its additive animation system, (aka blend animations). To sum things up what this means is that animations can be exported with only their transform offset data included. So what happens is that it adds onto whatever is occuring to the model because the animation data is stored as absolute positions.
This handy little solution means that artists have to make less animations since the engine allows them to stack common effects onto each other. It also means that you can reuse and share animations across multiple models, another significant positive.
To me, animation in Torque is a lot of fun, you tackle animations one small step at a time and use the showtool to test out how it will all work together. Sometimes I will have to build whole new sets of animations, other tims I can just use the blending system to adjust the default stock animations that come with the engine to suit our needs.
Dispelling the Myths:
1. Its a difficult pipeline.
Actually the DTS pipeline is pretty simple, it just requires that the end user be a) competent at using their 3D application and b) has read all the documentation on how the export works and what it can do.
2. The documentation for it sucks.
The documentation is literally what it says it is, documenation. Its not just a tutorial that holds your hand like and walks you through some sample steps it tells you exactly what everything does, how it works, why it works and in the process gives you a better understanding of how the game engine itself works.
The documentation however is verbose and multiple pages. It presents a number of novel concepts that users new to game devleopment won't quite yet understand. But with that said it doesnt take long to read it, and its not hard for people to quickly get up to speed with it if the same amount of effort required to make game art is put into reading it.
3. People have to buy content pack art to learn how stuff works in the pipeline.
This is one of my big pet peeve myths about the DTS pipeline that makes me want to walk up to the person saying it and bitch slap them around until they realize what reality is. Say it with me people "content packs don't teach you anything new with regards to how to use the DTS pipeline, they are simply content that is provided for hobbyists and for quick demo/prototypes".
Honestly I do wonder where people come up with stuff like this, if everyone had to learn from a content pack then how on Earth did anyone learn how to make the content pack in the first place?
Im sorry but the honest truth of the matter is that people learn how the format works by reading the documentation, applying it to what they know and taking baby steps from there to do bigger and more complex things. That's how I learnt it, that's how hundreds of others have learnt it and I never worked for Dynamix nor needed sample source files to understand how things should be done and anyone else can learn it that way too, its very easy.
4. The hiearchy is too complicated.
Actually the hiearachy for a DTS is rather simple. It only looks confusing to the uneducated and can actually be descriped rather quickly.
Every DTS scene has a root dummy node of some sort that holds all the other parts that need to be exported. This root node is typically refered to your base01, but it can be called anything (hence why bip01 works too). From there all the detail markers (for LOD and Collision) must be linked to this root node. Any bones, dummy nodes or geometry is also linked off of the root node as well, but can be hierarchicly organized to make it visually easy to understand (hence the node commonly reffered to as "start01", but can be named anything) or for animation purposes.
If an item is not linked to this hierarchy then it will not export. Though the only exception to this rule are objects that have skeletal deformation (ie. skin modifier) applied to them.
That's all there is to know about the DTS hierarchy. Pretty simple huh?


My brother Dave and his friend Scott headed out to Tayler, Michigan this past weekend to attend the Palladium Books "Open House", which is a yearly weekend of role-playing and other events hosted by Palladium Books.