Game Development Community

Truespace and Torque - Part II

by Dusty Monk · 06/04/2008 (2:19 pm) · 5 comments

This is the second part of a 2 part blog detailing my experiences with Truespace and the Torque engine. If you're coming here first, you'll want to catch the exciting introduction here.

Truespace 7.5 - A Beast with Two Heads
So the first thing you should know about Truespace 7.51 is that it's basically two modeling packages jammed into one. See, when they made the shift to 7.0 from 6.6, they wanted to revamp the entire user interface. Introduce new animation techniques, basically create an entirely new modeller. But they wanted to keep their old fanbase as well, as well as to continue to provide compatibility with the plethora of plugins that add so much functionality to the package. So their answer was a package with two modes. The Model mode, and the Workspace Mode. in Model Mode, you're basically in old Truespace 6.6 mode, and you have all the modelling tools and animation stuff that you had in Truespace 6.6. And in Workspace mode, you're in the new modeling package, and you have an entirely new set of tools and animation capabilities on that side.

And then they created this gawd-awful hack they call the bridge to try to keep stuff you do in one mode in sync with the other mode. It's not very elegant, it's only a partial solution at best, and it has some pretty significant ramifications. The first of which is, if you're not familiar with Truespace at all, you basically have to learn two interfaces. The old Gamespace interface, and the new Workspace interface. And much, but not all, of the functionality is duplicated across the modes. So you can't just pick one side and learn it to the exclusion of the other. Well you could pick the model side and ignore the workspace side altogether, but then you're eschewing all the new capabilities of the program, which is the reason you bought the program in the first place. But you can't ignore the old model side and just use the new workspace side, for two very important reasons.

1.) Many things are still only available on the model side. Boolean CSG operations, for example, never got ported to the workspace side. So if you want to boolean add two solids together, you have to switch over to model side, figure out where that operation is, perform the operation, then switch back to Workspace side. Ugly. Nurbs modeling? Only on the Model side. I know, right?

2.) All of the plugins only work on the model side. Let me say that again. All of the plugins only work on the model side. This allows them to say that that they're compatible with all of the old plugins. They are, in a sense. But only in a limited sense.

This is especially true for animation. They built an entirely new animation system on the Workspace side, but they kept the old animation system on the Model side. And the two are not compatible. What does this mean exactly? It means this.

You cannot use Truespace 7.51's advanced animation system to create animations for Torque.

It doesn't mean you can't use Truespace 7.51 for creating animation for torque, it just means you're limited to doing all your animation on the Model side, which is to say you're limited to what Truespace 6.6 could do. Four years ago. Or however many years it was.

What about tomorrow?
So right now I'm using a four year old exporter plugin on the wrong side of the tracks in a package that I bought this year. Caligari has already said they're working on phasing out the Model side of the package altogether. In many ways, this would definitely be the best thing for the package, to get it back to being a single headed beast, and to reduce the mountains of confusion that erupt whenever anyone tries to use it and figure it out. But unless they provide some alternative source of plugin architecture, which they haven't said they are going to do, or build Torque .DTS/.DSQ funtionality directly into their package, which I would be very surprised if they did, when they do so Torque support will be dead in the water.

Which actually, is quite sad, because despite my comments here, I actually likeTruespace. On the Workspace side of things, the interface is pretty damn good. It's got features and capabiliities that compete against packages that cost ten times its price. From a price/performance comparison, it is an ideal package for the independant game developer. And it really does have those awesome animation capabilities to integrate physics forces into keyframed animation.

Collada Anyone?
One thing Truespace does do is export into the Collada format. I've heard rumors that Garage Games is looking at potentially importing the collada format directly into their game. This would be a HUGE boon if they did so. Lots of 3D packages are startin to export collada, and it's emerging (I think) as a true standard. If they did so, Truespace would not only return as a possible content developer for Torque, I believe it would be the ideal one. So PLUS ONE on the vote to read collada format animations and models directly into Torque.

Okay that's all for now. If you're looking at using Truespace for your Torque project, then I hope you found this useful. You *can* use it.. it does work.. sort of.. but not nearly in as nice a way as it should.

Cheers till next time..

Devon

About the author

Dusty Monk is founder and president of Windstorm Studios, an independant game studio. Formerly a sr. programmer at Ensemble Studios, Dusty has worked on AAA titles such as Age of Empires II & III, and Halo Wars.


#1
06/04/2008 (4:35 pm)
Have you tried using another tool to get your animations into Torque? Maybe importing BVH files into Milkshape will work.
#2
06/04/2008 (6:04 pm)
The biggest obstacle for plugins with trueSpace is Caligari's fixation with open scripts- and in and of itself, it's fine. But the problem it presents is that Caligari provides no way to close your scripts off. So if I created a plugin, nothing stops anyone from chopping up my code and using it in their own, or as their own, or giving it to others to do with as they pleased. At least with plugins, there was some semblence of control over it.

Supposedly, that will be remedied, but I stopped holding my breath years ago because they have demonstrated time and again how they have no idea what a good application they're sitting on if they just put time into polishing it's production capabilities. That, and the way that 3rd party developers were treated had basically run their plugin community into the ground- and that was before they even announced tS7.

I love the icon interface, I like how it models, and I can work with it faster than anything else I've tried. But it's not as stable, nor as production friendly as other apps, and that really keeps them from shining, which it can easily do if they just fix those problems instead of wasting time by trying to add every single shiny new feature out there...
#3
06/04/2008 (6:16 pm)
@Ted
I'm glad you responded here. I was going to point you to these blogs since you've been an *extremely* knowledgeable GS/TS developer.
#4
06/05/2008 (5:40 am)
@Louis - I did look specifically at trying to use collada as a means of moving the animation into torque. The collada importer for blender, for instance, to my knowledge, imports models and textures, but doesn't yet support animation. I did not look at trying to go out by way of .BVH, and then bring that into Milkshape, and then use their exporter. I may look at that again, but honestly for now my patience for import/export shannanigans is exhausted. :) If someone else has gotten this to work successfully though, I'm very interested to hear about it.

@Ted - Yes, from the time I spent on the Caligari forums (which was nontrivial), what you say certainly seems to be the case. They are converting almost entirely to open scripting, and not supporting in any way that I can tell an actual plugin SDK architecture in the new model. Which is a shame, really, as just about every other package out their recognizes the need to have both internal scripting, for artists, and an external SDK for plugins, to facilitate in production. And yes, I to enjoy using Truespace, but found stabiity, and more importantly, consistency, to be real issues.

I don't mind if things are hard. I don't mind if things are complicated. What I simply don't have time for is to do things over and over because of unexpected crashes, or corruption in the mesh, or the bones, or some combination of both. And lately I've been finding myself dealing with *large* amounts of both with Truespace.
#5
06/05/2008 (4:33 pm)
I've been using gameSpace for a few years now. There are many things about it that are pretty cool, but yes, stability is an issue (the bugs are plethora), consistency is an issue, and there is a heap of features that are either too wonky to use effectively or are just plain missing. And I despise Caligari as a company -- in my experience, their customer "support" has consisted mainly of blowing customers off and trying to get them to buy trueSpace. (If they had showed some willingness to address just the BUGS, but no, not even once...)

Were I looking to purchase a modeling app today, knowing what I know now about the quality of Caligari's products and their business practices, there is absolutely no way I would even consider purchasing something from Caligari! Especially with the increasing availability of free, professional-level tools like Blender! (Not too mention Blender's community and support is heads-and-shoulders above anything I've seen with Caligari's shi... er, stuff.)