Game Development Community

Difference of .dst and .dif?

by Tyler Slabinski · in Artist Corner · 04/30/2007 (3:44 pm) · 13 replies

What is the difference between these 2?

I know that .dif is for interiors but what if I make it a .dts?

Like if I make a building in .dts then what would be the difference if it was in .dif?

#1
04/30/2007 (6:51 pm)
I'm just bumping this thread.
#2
04/30/2007 (7:17 pm)
There are lots of differences. It is actually a common question, and there is a FAQ about it.

FAQ about DTS and DIF
#3
04/30/2007 (7:51 pm)
Tyler,

Reading about it won't help much until you experience each object type within the engine. Your best bet is to pick up both types of modeling programs and then build the same thing in each of them. If you're on a budget, try using Wings3D for making DTS-capable polygonal objects. It will take some work getting the Wings shape into TGE (obj2dts), but not much. Then use Torque Constructor to re-build that object as a DIF or MAP file.

However, with that guidance offered, here's a long answer to your question. Hopefully others will offer additional comments or corrections to the following information.

DTS shapes are potentially dynamic, traditional 3D mesh objects. As such, DTS shapes are often used for characters, vehicles, trees, signs and other 'detail' objects. DTS shapes are made with standard 3D modeling programs like 3DS Max, Lightwave, Gamespace, Milkshape, and Silo. DTS objects can be animated in complex ways and support mounted sub-objects. They can also have multiple levels of detail. DTS shapes generally do not have polygon accurate collision detection. DTS objects generally do not recieve polygon accurate shadows. DTS shapes can be more easily scripted to support destruction levels and a number of other useful behaviors.

DIF shapes are generally static, non-standard objects. They are often used for buildings, tunnels, bridges, and other 'monolithic' objects. DIF shapes are made with map editing software like Worldcraft/Hammer, Cartography Shop/3D World Studio, QuArK, GTK Radient, and now Constructor. DIF objects are generally non-animated interior structures. They have polygon accurate collision detection. DIF object shadows are baked into the terrain lighting of a mission and can receive dynamic shadows from certain DTS shapes. DIF objects can be altered by script or code, but due to baked lighting and other issues, this is not always advisable.

Yes, you can build all of your game's objects as DTS shapes. You will get some cool benefits -- but just as many drawbacks. DTS shapes have the potential to look better than DIFs. However, setting up proper lighting and acceptable collison for them can be very tricky.

I have been very tempted to build a game level using only DTS shapes and have made some tentative steps toward it. Maybe one day I'll jump in and do it.

On the other hand, I've seen some people build almost everything in a game level from DIF (or equivalent) objects in a variety of engines. In my opinion, that requires lots of dedication and patience.

Most developers tend to mix DTS shapes with DIF objects, selecting the right object type for the right job. Because of this, DTS shapes are often used to add detail and visual believability to a scene while DIF shapes are used to add depth and weight to a level.

I hope that helps. Again, spend some time working with both types of files in the engine to really get a feel for what they can do and how they can benefit your projects.
#4
04/30/2007 (7:52 pm)
Ooops. Too late.

:)
#5
05/03/2007 (12:06 pm)
Well what if I make a bunch of .dts shapes and put them together for a .dif shape in constructor?

Such as make the stairs, then a wall, then some roof toppings, support beams etc. and then put each item in constructor.
#6
05/03/2007 (1:24 pm)
Tyler, You can but, with a lot of collision work. At some point you would be defeating the purpose of using DIF which has very fast collisions. Decorations and higher detail areas where the player doesn't interact with is usually where you would use DTS shapes to compliment the main DIF brushes.
#7
05/03/2007 (1:45 pm)
Also something i walked into using (static) DTS shapes is that because of their 'not polygon accurate collision detection' you cant (easily?) have bulletholes on them (without looking strange). Which could look really bad if you have a dts wall or something.
I observed how the maps in call of duty 2 were build and noticed that objects like tanks, crates and for example the sunprotection thingey (dont know what its called) above a window or door, didn't have bullet holes, or in some cases even collision, when i shot at them. So those objects would be models. Ofcourse thats the call of duty 2 engine.
#8
05/03/2007 (5:00 pm)
It's possible to make the "levels" of the game in DTS. People say all this and that about collision issues.... The thing about DTS is you specify a mesh to be the collision mesh. So you can have a hi-res model as your object, and a super low res collision mesh costructed from a few Cubes as your collision mesh.

It depends on the type of game you are making. Overall, it's probably easier to just use a brush based editor and generate some DIF files, But if you are truly creative, you can end up with aloter nicer backgrounds using DTS and some proper Collision meshes.

Just so you know, i'm going the route of using DTS. I haven't made a single DIF yet.
#9
05/04/2007 (8:16 pm)
Ohh so .dif automatically has the collision but in .dts you need to make it yourself?
#10
05/04/2007 (9:45 pm)
Correct. Collision with DIF is per polygon. It "should" be done automatically.

For many DTS objects, people use the bounding box of the object to be the collision mesh, but you can set multiple meshes to become the collision mesh of the DTS object.
#11
05/05/2007 (11:16 am)
Ohh.


Well What is I make a interior as a .dts and just make a duplicate of the mesh and finally use that duplicate as the collision?
#12
05/05/2007 (3:16 pm)
If the mesh is simple, that would be fine, but the more complicated your mesh, it would be wiser to use a low poly collision mesh.
#13
05/05/2007 (6:50 pm)
Yah I learned that the hard way with a tree.