Game Development Community

DTS SDK questions

by JJ Robinson II · in Torque Game Engine · 11/19/2003 (8:41 pm) · 19 replies

I've seen several posts about DTS exporter development for TGE. I understand that DTS may be less than ideal, but it seems to be what we have to work with for now. The existing exporters are helpful, but is there any existing documentation? A discussion of the elements in DTSShape.h and DTSMesh.h (tsShape and tsShapeInstance?) would be helpful and interesting.

#1
11/19/2003 (8:59 pm)
The readme.txt in the tools\ms2dtsExporter folder has some good information...

DTS is a complicated format and the runtime can be downright schizophrenic... the DTSSDK headers have decent comments... maybe if you had specific questions?

-J
#2
11/19/2003 (9:26 pm)
I've seen the readme.TXT --> "less than ideal".

So, my question is, what do the entries in the DTS headers mean/do? I could probably scrounge around in the header comments and experiment and figure it out eventually, but is there any additional documentation that would save me and other exporter developers >some time
#3
11/20/2003 (4:58 am)
I wouldn't necessarily try to write a DTS exporter until I was fairly familiar with the 3space library... It looks like you just got Torque, so you might want to try to familiarize yourself with it before you go to write an exporter for DTS.

You will need to dig around. DTS is not a particularly complex format, but it's not intuitive, either. By and large you can figure out how it works by looking at the various exporters and reading the I/O routines in TSShape and others.
#4
11/20/2003 (6:45 am)
Condescension isn't particularly helpful. If there isn't any available information on the subject outside the code examples and a brief readme file, then that's what I need to know.
#5
11/20/2003 (9:06 am)
"You will need to dig around. DTS is not a particularly complex format, but it's not intuitive, either. By and large you can figure out how it works by looking at the various exporters and reading the I/O routines in TSShape and others."

Not trying to be condescending. As far as I know, you've got everything right in front of you. I'm trying to save you pain, not belittle you.

DTS exists as an adjunct to the 3space lib, and if you try to write an exporter without being familiar with 3space, you're likely to have a hard time debugging your output, or figuring out exactly what should go where.
#6
11/20/2003 (10:33 am)
Ok, thanks.
#7
11/20/2003 (11:53 am)
Next question, though---how stable (developmentally, that is) is the TS code? If DTS is heavily linked to it, what is the "life expectancy" of exporter code written now? Will GG be making some kind of "wrapper" to isolate exporters from DTS in the future?
#8
05/30/2004 (10:56 am)
@JJ:

I have noticed that you have some real problems with the responses from GG employees or the state of some areas of the Torque code.

We are actually much more accessible than you can imagine. The reason James Urquhart was able to answer many of your questions is because he worked hand in hand with Tim Gift to create the Blender exporter. He got that help because he was working on something that we thought would be helpful to the entire community. Your approach seems much more demanding, and I doubt it will work.

Your profile says you are a professional/advanced programmer. GG loves to work with people that can get the job done, and advance the engine for the entire community. If you want to work with us instead of against us, please feel free to email me at jefft@garagegames.com.

Jeff Tunnell GG
#9
06/18/2004 (2:19 pm)
Communism for independent game developers? I only deserve useful information and credible assistance for my project if a central committee determines that it satisfies a greater good?

Have you noticed what percentage of the posts on your forum are over a year old? Has it even occurred to any of you that you've missed the point?
#10
06/18/2004 (2:53 pm)
The central committee has noted your attitude.
#11
06/18/2004 (2:56 pm)
It may be time to send out our...associates...
www.cs.rit.edu/~psw2335/jsb_list_gg.jpg
#12
06/18/2004 (2:58 pm)
JJ your coming off looking like an ass. Im sure that's not what you intend so perhaps you should re-read what everyone has written and imagine it "in a happy voice".
#13
06/18/2004 (3:17 pm)
@JJ:
Quote:Communism for independent game developers? I only deserve useful information and credible assistance for my project if a central committee determines that it satisfies a greater good?

Have you noticed what percentage of the posts on your forum are over a year old? Has it even occurred to any of you that you've missed the point?

Honestly man, the value of a community such as this is pretty much equivalent to:

TV(Total Value) = Total Content * S/N (Signal to noise ratio) + IYC (Important to You Content)...
where IYC content == ( TCR(Total Community Respect) + (3.5) * GGSR (Garage Games Staff Respect) + TCR* GGSI (Garage Games Staff Input) ).


If you are generally perceived as being a negative contributer to the community, your S/N approaches 0 on a geometric time frame, and your GGSR becomes negative, followed/in parallel with your GGSR being << .001.

I've made some poorly perceived posts myself, and I know this formula is decently accurate...and my question is, what is your point? Apply the formula, and you'll probably see appropriate responses...
#14
06/18/2004 (3:43 pm)
@JJ, I know I've personaly misinterpreted things on this forum and been a real ass as a result (or just been an ass regardless) so I wont make any judgements, just suggest that you re-read this thread.

Also take the fact that year old threads resurface here as a good reason to be kind and respectull of other community members. I've said some things on these boards out of hasty emotion that I've felt seriosuly embarrased about years later when the threads resurfaced. Live and learn I guess.

oh and Pat, I never get tired of that pic :P
#15
06/18/2004 (4:23 pm)
Evidently democracy doesn't work, either. Guys, look at this other thread:

http://www.garagegames.com/mg/forums/result.thread.php?qt=4037

in which contributors are criticized for asking questions about DTS, and ridiculed for wanting to develop exporters for 3D modelers not approved by GG.
eg.
"...I'm not sure I can really have any sympathy for you. :) "

"Sometimes shelling out the cash for tools is the price of doing business. :)" , etc.

I'm being told that I can't expect to succeed if I don't work within the system, apparently meeting GG's expectations for community-spirited-ness in my choice of software. A number of us obviously need good, readily available information about DTS to work on our projects, and what we get is a lot of condescending crap about how we can't possibly be smart enough to figure it out.

Did somebody change the business model or something? Why can't GG work with >us
#16
06/18/2004 (4:41 pm)
TGE works -outstandingly- for those willing to spend the time to do some real work, instead of begging for crumbs. Sure, it takes some effort, and nothing is handed for you for free, but ask politely, and contribute back roughly what you receive, and you'll be happy...at least my group has. Is it "Pabla for Coders"?

Hell no. Just like (most) SDK's, documentation is 1 part text and 5 parts experimentation, but for $100, what do you want?

Instead of complaining, maybe you could work with it for a few months and possibly come back with some real suggestions, or inputs. It's taken my team that long, but we're starting to contribute now to make the community better.
#17
06/18/2004 (4:48 pm)
As in any technical forum, you get out what you put in. If you're frustrated because other exporter writers seem to be getting better support - look at what they're doing that you're not.

They're visible in the community, provide frequent status updates to the public, and so on.

If you showed us more of your work and asked somewhat more pointed questions that showed you're doing research on your own, I'd wager the quality of the responses you see would be better, JJ.
#18
06/18/2004 (5:10 pm)
JJ, you've done an excellent job at quoting out of context. Either you have an agenda, or only read the first sentence in a post.


The full first quote - from a post I wrote - says:

Quote:
Sometimes shelling out the cash for tools is the price of doing business. :)

That said, we aren't setting out to alienate people who don't have every modelling package. They are really expensive and thus out of reach for a lot of casual (or starving ;) developers. Eventually we should have sample vehicles/players/items in each of the major modelling packages. Until then you can try to puzzle it out or ask a friend with max to send you screenshots of the model hierarchy so you know how to set it up in your modelling tool...

Synopsis of the post, in case it wasn't clear to begin with: "If you spend money on Max you'll get done quickly, since you'll be able to load the models. If you want to spend time you can do it a different way - ie, by figuring out. It's your choice how time and money are traded. We are working on making example models available in more formats."

And the second quote - also from a post mine! - says:

Quote:
James,

We just released a Maya exporter and a Blender exporter. As part of the Maya exporter, a new DTS exporter SDK was written, dtsSDKPlus. It makes life a LOT easier for exporter writers. Are you using that? If so, how is it not meeting your needs?

If not, I'm not sure I can really have any sympathy for you. :) DTS was never designed to have people write it out directly, like XML was, so if you're trying to do that instead of using the SDK we've provided, you're probably doing the wrong thing. There are people, like James, that have written exporters in completely different languages, without special help from GG, and without using the lib, and they seem to have done just fine. (James' is good enough that we're pretty much officialy supporting it!)

In addition, Matthew Fairfax has written several classes that load non-DTS format files directly into Torque - he has a 3ds object loader and a Quake 3 BSP loader, among (no doubt) others. I don't think either took him very long to get up and running - a few months at most. He spent most of his time learning how to get stuff to work in Torque, and he was kind enough to make tutorials available on what he learned.

So the material is there for you to either integrate DTS into the modelling tool of your choice, or to load the format of your choice into Torque. It's possible to write out directly to DTS, too, as there are format docs available - and people like James who did it without any docs at all.

Obviously, if the DTS+ SDK is broken in some way, we should fix it. But it seems like everything you need to write an exporter is available, and everything you need to write an importer into Torque is also available. We could make it better but it's good enough, and I think the community would prefer we get TSE out the door first (and maybe rewrite Map2Dif while we're at it ;).

The line you quoted was taken wonderfully out of context. Tell me, are your credentials in journalism? Most coders I've met aren't this good at twisting people's words.

To restate in a more contextual way: "If you're not using or even looking at the SDKs we have made available to help you write DTS exporters, then I have a hard time feeling sympathy for you."

Am I supposed to feel bad if people refuse to read the docs or use the resources we've made available? We hired Clark, the original author of the 3space rendering system, to do the new DTS SDK and write the Maya exporter, so the dtsSdkPlus is the best source of information. You can also e-mail him - I've yet to see him blow anyone off who asked him nicely for help. He even puts up with me spending sometimes as much as an hour a day in his office, pestering him with questions.

You're taking a tack more appropriate to a shock journalist than an exporter developer. I think you need to rethink your approach here. :)
#19
06/18/2004 (8:01 pm)
Quote:Communism for independent game developers? I only deserve useful information and credible assistance for my project if a central committee determines that it satisfies a greater good?

I am really not following you JJ. Many of the people here ask for assitance and get it when those that can offer it have the time or knowledge to help. When you ask for assistance, the people assisting are usually the ones deciding how that assistance is given.

You are here demanding that people give you assistance in the manner that you want it, how you want it, when you want it. I just don't see the approach as very effective.

There are people here that can help you, and the fact that you worked in the games industry really does not carry a lot of weight around here to demand anything.

Like it or not, the majority of the information you desire resides in the heads of the community here. Call it communism is you want.. if you want help from the community, it would probably be advisable for you to play a little bit nicer with the community.

You say you want creible assitance, and when Ben suggested you start by looking over the 3space stuff, you jump down his throat. I did not take his comment as condescending at all.

I am going to attemp to paraphrase what everyone is saying in this thread in the hopes that some understanding can be reached here.

You are asking about documentation..

there is the code.. there is the dtsSDK, and the dtsSDKplus

there are forum threads..

and then there are members of the community, who have the knowledge that you seek, and may be able to offer assitance if you ask the right questions.

Your questions, are this point, are too broad. If you have specific ones, ask them and they will be answered. If you have a very general, 'how do I do this" question, you will be met with a very general response, which is, read what exists, look over the code, if after that it does not make sense, come back with a more specific question.

No docs, other than those mentioned already, are available. If that is not sufficient for you to work with, that is your problem, not mine.

If you feel like someone else doing some work in documenting something so that you may save time is necessary, you have every right to hold that opinion. My time is valuable to me. Yours is valuble to you. Others value their time as well. If you think that it is not worth your time to look through what exists and spend the time asking questions and looking for answers, I have no problem with it. Don't spend the time. If this prevents you from making progress on your project, then the person with the problem is you. Your not having the docs you need to write an exporter is not stopping development on our projects.

If you want help with your problem, you can ask and people may offer help.

That is the easy road. For the most part, the community and the folks at garagegames are extremely helpful. If you choose not to use this resource, that is your choice.

If you want to take a different approach, that is your right as an individual. It is the harder road, and you may travel it if you like.. but don't expect anyone to feel bad about it.