DTS Importers Redux
by Eric Forhan · in Torque Game Engine · 06/08/2004 (7:22 am) · 100 replies
There are a couple people working on DTS importers, and it seemed to me that this should once again be revisited.
I'm not out to start a flame war, since the following quote itself is rather inflammatory, but I wanted to know if perhaps people thought his sentiment was correct:
My personal thought is that he's wrong on every part except the copyright. Talking of lawsuits are all well-and-fine, but it makes life so much easier for one like myself who would like control over my art and can't afford to take people to court.
Ultimately shouldn't this be my (or anyone who should by the rights) decision? And by this thought, shouldn't GG be releasing their code for everyone to look at too?
I'm curious if Joe Maruschak has changed his mind on this, since I'm guessing he'd be in the upper crust.
Let's keep the flamage down to a simmer, please.
-Eric F
I'm not out to start a flame war, since the following quote itself is rather inflammatory, but I wanted to know if perhaps people thought his sentiment was correct:
Quote:I predeclare anyone that gives him crap about his DTS importer as an idiot. The DTS format isn't an encryption method nor should it be seen as one.
I realize this post isn't that useful, but the whole indie-developer "how do I hide my graphics so nobody can steal them" ** mindset is one of the biggest pet peeves I have when reading any indie developer forum.
(** You can't (with technology, that is what copyright is for). You shouldn't try. You're wasting your time. In 99% of the cases, your graphics aren't worth stealing anyway. Get over yourself. )
My personal thought is that he's wrong on every part except the copyright. Talking of lawsuits are all well-and-fine, but it makes life so much easier for one like myself who would like control over my art and can't afford to take people to court.
Ultimately shouldn't this be my (or anyone who should by the rights) decision? And by this thought, shouldn't GG be releasing their code for everyone to look at too?
I'm curious if Joe Maruschak has changed his mind on this, since I'm guessing he'd be in the upper crust.
Let's keep the flamage down to a simmer, please.
-Eric F
About the author
#2
This is not a flame on TGE, for I just bought it and do feel it is one of the smartest moves I have ever made.
Going forward, will TSE support additional formats?
And about the quote. I agree. If we were not talking about an Indie developer, I might agree. If we are lucky even to get to a point where anyone one of us could even get a shipping title, the numbers would be so low that protecting the ways in which we created are graphics are mute. On a million dollar project then it might be time well spent working harder to protect our IP.
-Bryan aka "Panthr0s"
06/08/2004 (7:53 am)
I would like to more about whether DTS is the right format to begin with. Unreal, Quake and other game engines don't use DTS. Is there a reason for this? Is there a trade-off or benefit to using DTS over other formats that other engines use. There are always design decisons being made that at the time are fine but this is 2004 and Tribes 2 and the engine came out in 2000. Should everyone be looking to the future and using a different format. This is not a flame on TGE, for I just bought it and do feel it is one of the smartest moves I have ever made.
Going forward, will TSE support additional formats?
And about the quote. I agree. If we were not talking about an Indie developer, I might agree. If we are lucky even to get to a point where anyone one of us could even get a shipping title, the numbers would be so low that protecting the ways in which we created are graphics are mute. On a million dollar project then it might be time well spent working harder to protect our IP.
-Bryan aka "Panthr0s"
#3
Stefan, of course I want an exporter. :-P Just not necessarily an importer.
It's totally about rights. What gives anyone else the right to decompile my stuff? How will BraveTree be able to go after someone who took the back end of their gravbike and added it to their own model?
-Eric F
06/08/2004 (8:09 am)
Bryan, on a million dollar project we could afford to better protect our IP. While it's easy to use the "You own the copyright when you make it" mantra, it's not so easy to go after someone and prove you own it. Show them the originals, and there is no question. Stefan, of course I want an exporter. :-P Just not necessarily an importer.
It's totally about rights. What gives anyone else the right to decompile my stuff? How will BraveTree be able to go after someone who took the back end of their gravbike and added it to their own model?
-Eric F
#4
06/08/2004 (8:27 am)
If someone is really bothered about importers, make a few chnages to the file and use a different extension.
#5
06/08/2004 (8:44 am)
Or we could just skip making the importers altogether. The _only_ reason for making a dts importer is to snoop on someone else's model. The claim is that it would help in creating one's own model by knowing how to set it up. Well, there are lots of docs out there (the MAX docs cover a _lot_, and much of it can be applied to other exporters), and it just takes some time to understand the export process. I think really it's a rebellious attitude... trying to break the code just because it's there. It's really a sort of pirate mentality. I wholly agree with Eric F. on this one. Anyone's time is better spent creating their own model, not figuring out how to rip apart somebody else's.
#6
The motto here on GarageGames is 'world domination through collaboration' not 'world domination through the theft and blatent disregard for the developers rights to their work', so keep that in mind please before someone like George McBay tells me that I am "idiot" for wanting to protect my work.
Logan
06/08/2004 (8:46 am)
Well said Eric. No one but myself and those that I give permission to have the right to use or modify my artwork in any way, shape or form.The motto here on GarageGames is 'world domination through collaboration' not 'world domination through the theft and blatent disregard for the developers rights to their work', so keep that in mind please before someone like George McBay tells me that I am "idiot" for wanting to protect my work.
Logan
#7
If you want to work with the DTS file format why not work on Exporters, improving old ones or making one for applications that are not yet supported.
Matt
06/08/2004 (9:05 am)
I fully agree, there is no need for a DTS importer. Just to elaborate on the point that John made; if somebody wants to see first hand how a mesh is set up take a look at the MAX and MS3D files that the SDK ships with. I would like to see one really good reason why a DTS importer would be so useful. If you want to work with the DTS file format why not work on Exporters, improving old ones or making one for applications that are not yet supported.
Matt
#8
From my perspective actually working with the format it was designed to integrate into the 3 space system of Torque, have memmory optimizations for loading speed and easily export from 3DS Max nothing more. Its not some magic container designed to protect your files from prying eyes.
If that was the case why would the DTS SDK even exist in the first place? It would be kept in a dark place under lock and key and only the exporters that GG created would be allowed to use it.
Why do you think that conpanies like ID and sierra just use renamed zip files to store their assets in? Becasue its not worth the effort to write some proprietary format to try and keep models out of the publics hands. And not hiding the files actually creates a cool side effect. People Mod their games, get really good at it and end up working for ID or some other big time game company because of it.
Now how about we all stop revisiting this BS and go make games. :o)
06/08/2004 (9:10 am)
I'm pretty sure the DTS format was never created to protect IP in the first place, its just a side effect of it being an obsure format.From my perspective actually working with the format it was designed to integrate into the 3 space system of Torque, have memmory optimizations for loading speed and easily export from 3DS Max nothing more. Its not some magic container designed to protect your files from prying eyes.
If that was the case why would the DTS SDK even exist in the first place? It would be kept in a dark place under lock and key and only the exporters that GG created would be allowed to use it.
Why do you think that conpanies like ID and sierra just use renamed zip files to store their assets in? Becasue its not worth the effort to write some proprietary format to try and keep models out of the publics hands. And not hiding the files actually creates a cool side effect. People Mod their games, get really good at it and end up working for ID or some other big time game company because of it.
Now how about we all stop revisiting this BS and go make games. :o)
#9
My DTS file wasn't right, but I didn't know how to fix it because I wasn't sure how a DTS file was supposed to look.
I'm not necessarily looking to import DTS files into my 3D program. But I would like the ability to view what's in them, how the nodes are structured, triggers, billboard and texture settings, etc. That would go a long way towards helping me debug problems. David Wyand's improved Show tool is a good example of this.
@Bryan: Why does Torque use DTS over, say, 3DS or whatever? The simple answer is metadata. DTS files contain more than just weight maps, bones, and meshes. It also contains animation sets, triggers, mipmap settings, alpha-sorted tree, etc. Most files used by 3D modelers have poor or non-existance support for metadata.
06/08/2004 (9:23 am)
@Matt: What if we don't own Max? (Since the Milkshape exporter isn't finished, I don't consider it a reliable source of how 'correct' a DTS file should be.) I personally am in this boat. Now that the Lightwave DTS exporter is kicking butt, I don't have that many problems getting my models into Torque. But back when the exporter was a bit rough, and I didn't know the ins and outs of how to structure my models, it was mightily frustrating when my DTS model exploded or whatever and the little orc guy worked fine.My DTS file wasn't right, but I didn't know how to fix it because I wasn't sure how a DTS file was supposed to look.
I'm not necessarily looking to import DTS files into my 3D program. But I would like the ability to view what's in them, how the nodes are structured, triggers, billboard and texture settings, etc. That would go a long way towards helping me debug problems. David Wyand's improved Show tool is a good example of this.
@Bryan: Why does Torque use DTS over, say, 3DS or whatever? The simple answer is metadata. DTS files contain more than just weight maps, bones, and meshes. It also contains animation sets, triggers, mipmap settings, alpha-sorted tree, etc. Most files used by 3D modelers have poor or non-existance support for metadata.
#10
-Even if a public importer is not created, a determined person can still create one for themselves.
-Anyone twisted enough to steal your work may not bother to change it and won't require the importer.
-Your textures can still be stolen.
In light of these points using obscurity to protect your assets is very scary because you're still vulnerable.
On the other hand I don't see how having an importer would help with modeling. My experience with importing and exporting between formats leads me to believe that any advantages an importer would provide would be lost in the hassle of cleaning post-import data.
Hope this didn't set anyone off; again I'm just looking for friendly feedback.
-John
Edit: you != your; grammar
06/08/2004 (9:36 am)
I can see both sides of this argument and would like to point out few things with the intent to receive feedback and NOT to take sides.-Even if a public importer is not created, a determined person can still create one for themselves.
-Anyone twisted enough to steal your work may not bother to change it and won't require the importer.
-Your textures can still be stolen.
In light of these points using obscurity to protect your assets is very scary because you're still vulnerable.
On the other hand I don't see how having an importer would help with modeling. My experience with importing and exporting between formats leads me to believe that any advantages an importer would provide would be lost in the hassle of cleaning post-import data.
Hope this didn't set anyone off; again I'm just looking for friendly feedback.
-John
Edit: you != your; grammar
#11
www.garagegames.com/mg/forums/result.thread.php?qt=8897
www.garagegames.com/mg/forums/result.thread.php?qt=16983
www.garagegames.com/mg/forums/result.thread.php?qt=10718
06/08/2004 (9:38 am)
Just to note, this topic has been discussed over and over again in various forum posts :www.garagegames.com/mg/forums/result.thread.php?qt=8897
www.garagegames.com/mg/forums/result.thread.php?qt=16983
www.garagegames.com/mg/forums/result.thread.php?qt=10718
#12
We (Dark Industries) created a handy tool called "dts2txt" you just drag a DTS file onto it and it spits out the DTS file as human readable text so you can see the node names, material properties, sequence information, and object & mesh information etc. Its very, very helpful when debuging dts problems.
Probably around the next release of the gameSpace exporter we will post it as a resouce so people can use it to debug their dts files.
06/08/2004 (9:40 am)
@David: Hopefully your pointing at Matt Benya and not me. :o)We (Dark Industries) created a handy tool called "dts2txt" you just drag a DTS file onto it and it spits out the DTS file as human readable text so you can see the node names, material properties, sequence information, and object & mesh information etc. Its very, very helpful when debuging dts problems.
Probably around the next release of the gameSpace exporter we will post it as a resouce so people can use it to debug their dts files.
#13
I agree with what Ben Garney said in a different thread on the topic:
Matt
[EDIT]
typo
06/08/2004 (9:40 am)
David I don't own MAX, either. That is where the documentation comes in. There is more than enough documentation out there to get you set up and going. And either way you are going to have to work with it and test your models. Being able to import a DTS model isn't going to get you there any faster. It will just give people a chance to poke around and look into other members work. And if that was work that they wanted to share then they would do so in the first place. I agree with what Ben Garney said in a different thread on the topic:
Quote:...the goal is not to keep model data secure. DTS has the nice side effect of making it slightly trickier for people to modify game assets, and combined with the CRC checking, is an effective cheating deterrent, but this is just gravy.
The point of DTS is to provide an efficient means of getting model data into the game. It's not a format that is meant for editing. And given that, it seems sort of silly to make converters to let people edit it, when almost any legitimate user is going to have access to the source art which is much more useful for editing.
Matt
[EDIT]
typo
#14
This seems to come up every couple of months now, and I'm not sure why. Here's the discussion the community had over a year ago.
I'm siding with Eric and the other artists here. If someone is interested in obtaining and looking at someone else's content, it's a simple matter of contacting them. If you ask nicely, they may even share.
Why shouldn't the artist be in control of their art and its distribution?
And how would the artist maintain this control you may ask? By not having someone design and build an importer. I don't understand why it is a waste of time for an artist to not want their work inappropriately distributed while it is not a waste of time for someone to design, program, debug and test a DTS importer? One is a desire, the other requires effort. *boggles*
Bryan
The DTS format is perfect for the TGE (and TSE) as it was designed for it. It lines up perfectly with the ThreeSpace code in the TGE. Quake, Unreal et al. have their own formats because those formats were designed to perfectly fit with their engines.
That's not to say that the TGE couldn't use a different format. The ThreeSpace code would just need to be changed (or something else grafted onto it, as some have done already).
- LightWave Dave
06/08/2004 (9:44 am)
Greetings!This seems to come up every couple of months now, and I'm not sure why. Here's the discussion the community had over a year ago.
I'm siding with Eric and the other artists here. If someone is interested in obtaining and looking at someone else's content, it's a simple matter of contacting them. If you ask nicely, they may even share.
Why shouldn't the artist be in control of their art and its distribution?
And how would the artist maintain this control you may ask? By not having someone design and build an importer. I don't understand why it is a waste of time for an artist to not want their work inappropriately distributed while it is not a waste of time for someone to design, program, debug and test a DTS importer? One is a desire, the other requires effort. *boggles*
Bryan
The DTS format is perfect for the TGE (and TSE) as it was designed for it. It lines up perfectly with the ThreeSpace code in the TGE. Quake, Unreal et al. have their own formats because those formats were designed to perfectly fit with their engines.
That's not to say that the TGE couldn't use a different format. The ThreeSpace code would just need to be changed (or something else grafted onto it, as some have done already).
- LightWave Dave
#15
06/08/2004 (9:48 am)
Imagine a program that could decode your application so that they can see it as pure code. Would you like that? I think it's the same thing, but from the artists perspective.
#16
Joe, Logan and others were kind enough to give ample help at the beginning through tutorials and forum resources. So, the "How did they do that" is no longer an excuse. I'm sure they would be more than helpful to those who simply ask.
I must say I recently sold an interior to an Indie game company. There were some middleman financial issues (the credit card company, not these people's), but it was still no less of a relief that I had total control of at least the model itself, even if not so much the textures. It all worked out in the end, but I do like having control over my models. If I give up my original model, who's to say the other party won't lay claim to creating it? I simply wouldn't have the resources to fight them and take the chance of losing.
If someone comes up with a great way to do things and wants to share, then let them do a resource. Don't steal the idea from them.
-Eric F
06/08/2004 (9:50 am)
Quote:If someone is really bothered about importers, make a few chnages to the file and use a different extension.So 21-6, BraveTree, GarageGames and Max Gaming Tech all have to change their model format to guarantee that someone won't come along and reverse-engineer their models? Why not do the reverse: If an importer is so important, then make only DTS with an "importable" flag be allowed?
Joe, Logan and others were kind enough to give ample help at the beginning through tutorials and forum resources. So, the "How did they do that" is no longer an excuse. I'm sure they would be more than helpful to those who simply ask.
I must say I recently sold an interior to an Indie game company. There were some middleman financial issues (the credit card company, not these people's), but it was still no less of a relief that I had total control of at least the model itself, even if not so much the textures. It all worked out in the end, but I do like having control over my models. If I give up my original model, who's to say the other party won't lay claim to creating it? I simply wouldn't have the resources to fight them and take the chance of losing.
If someone comes up with a great way to do things and wants to share, then let them do a resource. Don't steal the idea from them.
-Eric F
#17
06/08/2004 (9:52 am)
@Stefan: there are already many dissasemblers that do just that. We actually had to use one a few days ago at work becase the source for a project was lost and it was the only option preventing us from starting over from scratch.
#18
06/08/2004 (9:58 am)
@Matt: A disassembler doesn't reverse the binary into a readable C++ file, am I correct? I've seen numerous topics about this and all of the time they come to the same conclusion, it's not as easy as to just reverse and start changing code. It's assembler, after all.
#19
06/08/2004 (10:00 am)
Also should we ban compilers because they can be useded to write virus's, hack into computers and spy on people amungst other things? There will always people who will use something ment for good for an evil purpose.
#20
06/08/2004 (10:03 am)
@Stefan: We used a decompiler on a .net app and it created human readable C# code. While some of the variable names were a little unfriendly it saved us about 30 hours of rewriting it.
Torque Owner Stefan Lundmark