Game Development Community

Proper tool-chains ?

by Greg Hoglund · in Technical Issues · 03/05/2007 (8:35 am) · 4 replies

I haven't been able to find a single point of reference in the torque forums, docs, or the 'all in one' books that describe the proper tool-chain for managing art assets in the engine. I have tried many of the suggested tools and found limitations, etc. I'm left with the impression that it's going to be expensive to 'discover' the right set of asset managment tools, and that alot of mistakes will be made in choosing 'garden paths' until one reaches the correct shop configuration. It would be nice if there was a professional tool-chain that worked. For what appears to be such a powerful AAA enigne, it would be nice to have a really well designed training (an no additional cost) for how to use it with other AAA development tools. Any suggestions on this?

I have some primary problems to solve in the tool chain:

1. Using a professional modeling tool, maya or 3DS, effectively w/ torque DTS
1a. exporting a mesh that contains multiple geosets
1b. import DTS back into 3DS

In reference to 1a, I've tried all kinds of combinations of mesh and submesh using 3DS and the schematic view and then exporting via the dts_utility plugin. The best I've been able to do is export a multiple-mesh object that won't take any textures on the additional meshes.

2. Using tools such as 3DS to manage torque DSQ objects

In reference to #2, quake army knife and the such doesn't cut it. I think pro developers need to be able to built components of complex maps using tools like 3DS and at this point I have only been able to export them from 3DS, import them in quark, then re-export them into DSQ.

3. Management of radiosity maps

I know that torque wants to light the scene for me, but I have access to some extremely powerful tools to generate radiosity maps that frankly, blow torque's built in system out of the water. How do I integrate external radiosity data into a scene?

Of course, I realize that since we have source code we can code up our own tool-chain, but this is expensive and I am hoping one of you out there is using Torque in a professional shop and can point me in the right direction here. So far I love the engine and sense all this potential, but so far I have also seen very little art that was developed with it that is truly of professional quality (that is, at the same level as commerical games with funded art development).

#1
03/05/2007 (10:17 am)
There is not currently any way to import a DTS into Max. And with the source art as a Max file, there is not really much of a reason for it. Any benefit of correcting any converted geometry would then be re-instanced once you exported the model again.

In 2, I'm assuming that you mean DIF rather than DSQ (which include animation information for DTS objects). It really depends on how your game works. If you look at the vast majority of console RPG's and Action-Adventure games, bounding boxes are still in use. The polycount can be higher because the collision is extremely simple. Using DTS meshes and bounding boxes work well in this situation. If you are looking for fast-action accurate collisions with all geometry, then you are still looking at a CSG box. Otherwise Unreal would have switched a long time ago. The artflow between Unreal and Maya/Max/Lightwave is much more user-friendly than TGE, however.

On 3, you would need to hire someone who is intimately familiar with the lighting system in Torque (and the engine specifics on a low-level) as well as someone who is intimately familiar with the lighting tools that you have available. Then create a toolchain that works. It is an expensive solution that requires a level of intimacy with the codebases and algorithms for the systems.
#2
03/12/2007 (4:08 pm)
Yes, meant DIF not DSQ. Anyway, I have treaded some ground here and found the following tool chains to be working:

For any model that had concave geometry (basically anything complex), for animated objects, doodads, etc:
====

3DSMax 8 -> max2dtsExporterPlus.dle used in conjunction w/ dts_utility.ms

- dts_utility.ms and associated code as as delivered w/ 1.5 source
- max2dtsExporterPlus.dle as downloaded from somewhere on this garage games site - its a binary build dated 12/11/2006 and is 540,672 bytes in size.

Note: when using the .dle as compiled from the 1.5 source, all I got were access violations and crashes. Try to precompiled binary if you can find the link. Try this guys blog: http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=10894

Using this setup, I was able to modify and re-export the Ava model as purchased from this site. I was able to add additional bones to her face and add facial expression blend animations. I was able to build textures in photoshop and see live updates in the prespective view in 3DS until I could tweak shadows, etc to perfection. I am using 1024x1024 jpg images for textures UV mapped and produced from photoshop with good success. This setup is working.

For the level editing:
===

You can use the 3DS setup above to make DTS files w/ bounding boxes for geometry that exists as part of the level. Just remember that even though the DTS can have concave geometry, it's bounding box must be convex . I purchased DeleD and the Torque export plugin. The level creation and DIF exports are working - BUT - you must build your entire level in DeleD using convex shapes. Follow this link for a detailed description of this: http://www.garagegames.com/blogs/985/10361

Even though the torque export plugin says it can slice your geometry into brushes - I've had nothing but crashes and extremely slow exports in relation to this. Just do yourself a favor and uncheck the 'slice' option, read the report, and go fix any geometry that is reported with bad faces. If you are careful you can avoid concave shapes. Basically, just forget about using the CSG boolean operations - they lead to non-exportable objects. Overall, I found the DeleD interface easy to use and the texture support was very easy to use - just stick to my advice and avoid concave solids. DeleD allows objects to be UV mapped so you can make high-rez textures - you aren't stuck with repeating seamless tile textures that look 5 years outdated.

To work on levels, build most of your skeleton for the level in DeleD and export the DIF. DeleD is very fast to use in this manner. Then, use 3DS to make DTS doodads/dressing and detail objects that will placed over and into the skeleton level - this way you can add alot of complex-looking level geometry once your in the torque world editor.

Note: If you want to build level components in 3DS, you can do that too, just export the objects from 3DS into wavefront .OBJ format, and import them as the same in DeleD (again remember to avoid concave shapes). When I tried the .3DS import in DeleD it just crashed (note, I filed a bug report and this may be fixed now).

Since Torque doesn't support radiosity maps like those created from Guile, you can settle for a slightly more time consuming approach and build lighting effects into your high-rez textures directly. If you take care and detail, this approach can be quite satisfactory.

Anyway, the above tool chains seem to be working.

3DS -> DTS
3DS -> DSQ
3DS-> .OBJ -> DeleD -> DIF
DeleD -> DIF

DIF + DTS = complex levels
DIF + DTS + manually lighted UV wrapped textures = very fine level

Using 3DS enables animation and complex shape support in the form of DTS and DSQ exports, and DeleD gives a DIF 'skeleton' that can be dressed w/ placed DTS objects. This way you can use the workflow you are already used to if you already know 3DS - vertices, faces, and edges. No quark/alien concepts forcing you to relearn everything.

Note: like everyone else, I am eager to try the new Constructor tool

Conclusion: Torque is obviously a very capable engine, but the lack of a single cohesive set of supported tools is a major drawback. I have been reading forum posts and I'm not the first here to be frustrated by this - but all of this is offset by the low cost (obviously). Overall, Torque obviously kicks ass and IMHO it was worth the pain to get all of these components working together.

Note: If I have one suggestion for garage games - someone over there needs to collect up the latest tested and working set of required tools AND their associated tutorials and assemble them in one place, and make them available as part of the package. New users who are forced to hunt this all down themselves are going to be confused by the large volume of outdated advice and material on this website, links to the wrong version of tools, links to tutorials that don't match the version or generation of the tool they just downloaded, etc etc. Newb users like myself will continue to go down many garden paths and waste a great deal of time until someone fixes this.
#3
03/12/2007 (4:40 pm)
Note: sorry graphics were too wide and makes this post kinda hard to read w/ horizontal scroll

I have added some links to my progress in this area for those of you who might be wondering how to get started.

1. I purchased Spencer's AvaPack to get started with. At first I was concerned that Ava did not have the detail I required. So, I performed some tests. I exported and reduced the poly count on a Poser model, starting with about 155K polys and I was able to get it down to 7500 Poly's using Multirez in 3D studio, and manually cut away the interior parts of the ears and nose and capped these. The results of the 7500 poly head and the Ava default head viewed at a normal in-game distance. You can't tell the difference really, and thus I learned Ava has a satisfactory vertex count - around 400 for the head. Here is the screen (I have replaced Ava's original texture obviously) :

www.bamfgames.com/pics/polygon_test_torque.jpg
2. I wasn't happy with Ava's default look - she was still too mannish and I wanted to soften her up a bit. Using 3DS and the export plugin described above I was able to add some vertices - in her lips I added two additional lines of vertices and made the lower lip fuller and rounded, and brought the upper lip up a bit more. I added vertices to her ear as well to remove the blocky-look when viewed at close range. I pulled up her nose, rounded her jawline and softened it, and brought up her browline and made her eyes larger. I also painted another texture to fool around with. The whole process only took about 4 hours:

www.bamfgames.com/pics/ava_greg1.jpg
I was able to export this model using the tools described in my previous post and I was able to place the new Ava in the torque world editor.

3. I made a scary goth version of the Ava texture:

www.bamfgames.com/pics/goth_ava.jpg
4. Next, I added 9 new bones to Ava's face. These bones were made children of the existing head bone. They were weighted against the vertices in the face. You have to export the full Ava into a DTS so the facial bones are there and use the new Ava version. Next, I setup several key frames for the facial bones - each showing a different emotion. Your DSQ export needs to be an export of ONLY the facial bones - the trick here is to make sure to save your work, then DELETE the Ava mesh entirely before exporting. Also, change your .CFG file to export ONLY the face bones. Then, export this as a blend animation. Note: Don't try to set any reference frame other than zero, the DTS/DSQ exporter will crash otherwise. I know this sounds convoluted, but I found advice elsewhere on this site suggesting you delete meshes before trying to export DSQ's - it works and avoids alot of pain. Obviously be careful and don't save over your original file when doing this. Here is the result of 3 blended facial animations combined w/ an idle animation (both animations are playing at once, the facial blend taking place on a separate 'thread'):

www.bamfgames.com/pics/facial_morphs.jpg
There are some facial artifacts and stuff I didn't bother to clean up - but at this point I was just trying to verify and build a complete working tool-chain.

5. Finally, in reference to level building and stuff, I built a very simple room using DeleD, 3DS, and Photoshop to verify a working tool-chain for DIF files. I had Kork cast a few spells to see how the light would look, etc. Here is the result:

www.bamfgames.com/pics/interior_basic_ship.jpg
So, now that I have all these steps working I feel like I can actually start developing a game. To learn the proper steps and tools to use together has taken be 4 full days. I hope that you can save some time in your own newb-journey w/ torque by reading this thread.

Cheers,
-Greg
#4
03/12/2007 (4:50 pm)
Nice! Very strong write-up as well!